Statuscode 500 bei API abfrage "Show all hosts"

Guten Tag liebe Comunity,

ich versuche mit Java auf die API von unserem internen CheckMk zuzugreifen und bei der Abfrage bekomme ich einen Response mit einer 500er Stutusmeldung und den Daten welche ich auch erwarte.

Bei der Abfrage handelt es sich um „Show all hosts“, doch bei einer einzelabfrage bekomme ich sauber einen 200er zurück mit den erwarteten Daten.

Die Authentifizierung macht also da keine Probleme oder gibt’s es in der Config erweiterte Einstellungen, welche die Abfrage von „Alle Hosts“ beschränkt?

Hier ein Screenshot von der „Show all hosts“ Abfrage:

Bin noch in der Ausbildung, somit vorweg ein großes SORRY für Fehler in meiner Beschreibung.

Hi @Markus1980 ,
welche Checkmk Version nutzt du? Mit der 2.1.0-2022.05.23 kann ich diesen Fehler nicht nachstellen.

Gruß
Anastasios

1 Like

Hi @athomaidis,
danke für die schnelle Antwort. Unsere Version ist die 2.0.0p23 (CEE) und komischer weise funktionieren auch alle anderen Abfragen welche im ReDoc generiert werden ohne Probleme.
Doch die Show All wäre schon richtig gut für meine Verwendung.

Gruß
Markus

Hi @Markus1980 ,
ich schau mal. Moment!

Danke @athomaidis,
Komischer weise funktioniert der Curl-Befehl, welchen ich nun anfange als WorkAround zu nutzen, also kein schöner weg.
Beispiel: InputStream stream = Runtime.getRuntime().exec(curlExecution).getInputStream();
Wäre echt nice diesen Augengrauen wieder entfernen zu können, mit euer Hilfe.

Danke für eure Hilfe.

auch das kann ich nicht nachstellen? Wie sieht deine Anfrage/Skript aus?

Klar @athomaidis ich freu mich ja das Ihr mich unterstützt!

In der Bash sieht es so aus, was funktioniert:

curl "http://Server/Firmenname/check_mk/webapi.py?action=get_all_hosts&_username=automation&_secret=TopSecret&output_format=json"

In der API-Request sieht es so aus (Token ist natürlich im Header):

http://Server/Firmenname/check_mk/api/v0/domain-types/host_config/collections/all

…Hab hiermit auch alle Daten die kommen sollten nur mit einem zusätzlichen Status 500, was mir die weiterverabeitung in Java schwer und nicht schön macht.

In Postman zeigt er mir auch alle Daten an trotz den Status 500, nur ein WorkAround um einen BadRequest zu bauen sehe ich als ein gefahrenquelle.

lg

Hi Markus,
probier mal bitte das Python Skript aus oder eins der Shell Skripte. Nicht das es am Postman liegt? Sonst muss ich mir nochmal deine Daten anschauen.

Also bei dieser Schnittstelle aus dem ReDoc, zeigt er mir egal ob im Browser (Alle Daten und den Status 500) oder andere Wege der Abfragen

(http://Server/Firmenname/check_mk/api/v0/domain-types/host_config/collections/all)

Mit der Python Schnittstelle funktioniert es nun auch sauber, danke! Sorry für die Newbie-Zeit die infestiert wurde.

@athomaidis hab eine schöne Woche noch

Hi Markus,

da ich auch das nicht nachstellen kann, muss der Fehler bei einem deiner Hosts liegen.
Du kannst ja auch mal im OMD[test]:~$ tail -f var/log/web.log schauen, ob du dort mehr findest.

Gruß
Anastasios

Guten Tag Zusammen,
nach langer Zeit mit diesem Thema, liegt es immer noch im Raum. Weil mein Workaround sich auf die WebAPI teilweise bezieht und diese nicht mehr dauerhaft supportet wird, brauche ich doch noch einmal eure Hilfe.

Bei der Fehlerfindung gibt es einige Anhaltspunkte:

  • Nur Fehler wenn Custom Host Attrubutes gesetzt sind
  • Bei selbstangelegten Tags keine Fehler

Auszug aus dem CheckMK:

Bei deaktivierung des Custom Host Attrubutes, bekomme ich valide Werte als response mit einem 200er zurück. Wäre echt super eine saubere Lösung zu finden.

Teil 2 des Posts… (nur ein Foto erlaubt)

Der Response sieht folgt aus:
grafik

1 Like

Teil 3
Komischerweise macht die Python WebAPI keine probleme, wenn ich GetAllHost abfrage, auch die selbst angelegt Custom Host Attrubute gibt er mir sauber zurück.
Aber bei der RestAPI wirft er mir den Fehler aus dem Teil 2, somit würde ich mich freuen lieber damit zu arbeiten, doch ohne eine 500er Statusmeldung zu umgehen.

Auch bei HostConfig abfragen an die Host mit dem Attrubute aktiviert, wirft er mir einen 500er zurück. Selbst hier hat die WebAPI keine Probleme.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.