Status der BI auslesen

Hallo Leute,

wir nutzen CheckMK seit einiger Zeit und sind sehr zufrieden damit. Dafür erst einmal vielen Dank! :slight_smile:

Wir möchten gerne den Status unserer BI-Pakete für den Endanwender im Intranet anzeigen lassen, damit diese selbst sehen, wie es um unsere Systeme steht. Wir haben z.B. ein BI-Paket namens “E-Mail-Service” wo alles zu unseren Exchange-Servern definiert.

Wie kriege ich letztendlich den Status dazu ausgelesen?
Die User sollen im Intranet nur ganz stumpf farblich sehen, was gerade wie läuft. Also als Beispiel zu dem E-Mail-Service sollte es so aussehen:

E-Mail-Server (Exchange)
Status: OK!

Internetanbindung
Status: FEHLER!

Intranet
Status: WARNUNG!

Das Aussehen würde ich dann farblich und mit Bildern für die Anwender aufhübschen aber wie komme ich an die Daten genau dran?
Ich habe die API gefunden unter Hilfe > API interaktiv und kann dort auch meine BI-Pakete mit auslesen aber der Status dessen steht da leider nicht bei. Ist das möglich den Status mit abzufragen?

Vielen Dank im Voraus!

Hi Dennis,

die entsprechende Regel dafür heißt: BI Aggregations

Findest du unter “Agents/Other integrations”.

VG; Martin

2 Likes

Hallo @Dennis19931, kleine Ergänzung zum Hinweis meines geschätzten Kollegen: Damit kannst du einen einzelnen Check bauen, der dann die BI monitored.

Du suchst aber vielleicht eher einen Weg, die Daten per API auszulesen?
Da kann ich dich an die interaktive API Doku in deiner Checkmk Instanz verweisen:
http://$SERVER/$SITE/check_mk/api/1.0/ui/#/Business%20intelligence%20(BI)

2 Likes

Danke für eure Antworten!

Ja, ich möchte die Daten per API auslesen. Am liebsten per PHP. An die BI Infos komme ich aber der Status steht ja nicht bei oder bin ich blind?
Also den Namen und sowas kriege ich angezeigt aber ich möchte unseren Anwender natürlich auch sagen ob das System gerade störungsfrei ist oder nicht. Wie kommt man an diese Info genau?

DANKE! :+1:

Dafür brauchst du den Check, den Martin oben verlinkt hat.
Du bindest deine BIs als Checks in dein Monitoring ein.
Dann fragst du einfach die dadurch entstandenen Services ab.
Dieses geben dir dann auch einen Status.

1 Like

Danke für die Unterstützung. Habe es soweit gefunden und versucht zu konfigurieren aber so ganz klappt es noch nicht.

Habe über Setup > Andere Services > Status einer BI-Aggregation überwachen einen Eintrag erzeugt nach folgendem Schema:

Bei dem Server PBV-WEB wird aber nun immer folgende URL versucht aufzurufen (es gibt auch ein Ergebnis) aber als UNKN:
image

Die URL die er aufruft ist folgende: https://monitoring.kkhverbund.local/khv/check_mk/view.py?view_name=aggr_single_api&aggr_name=Mitarbeiter-App&output_format=python&_username=automation&_secret=GEHEIM

Das Ergebnis über den Link ist dann dieser:

[
['aggr_state_num', 'aggr_output', 'aggr_in_downtime', 'aggr_acknowledged'],
['0','','0','0',],
]

Auch andere Authentifizierungsmodus funktionieren irgendwie nicht :frowning:

In der API habe ich den Punkt zum Auslesen gefunden soweit, das würde ich wohl hin bekommen nur hier klappt es irgendwie noch nicht. Hat da jemand noch einen Tipp?

Vielen Dank und alles Gute für 2022!

Probier mal unter Other Integrations den BI Aggregations Check, das ist ein neuer Special Agent.

Hallo zusammen,

vielen Dank für eure Unterstützung!

Mit dem “neuen Special Agent” kriege ich tatsächlich alle Aggregationen angezeigt mit Status. Ich habe das an den Host des Intranet-Servers gehangen, dann fallen aber alle anderen Services weg sind als UNKN gekennzeichnet.

Meine Einstellungen:

Wie macht man das am besten oder wie würdet ihr das machen?

Gebe ich keinen Host an, weiß ich nicht, wo ich dann die Services sehen kann. Oder erstelle ich mir einfach einen neuen Host der nur dafür da ist und stelle als IPv4 die IP des Intranets ein oder localhost, damit er pingen kann und als Online angezeigt wird?
Wie ist da das sinnvollste Vorgehen?

Danke für die gute Hilfe!

Hallo,

ich habe das nun gerade alles fertig programmiert und möchte meine Lösung für alle hier zur Verfügung stellen.

Ich habe mir nun einen neuen Host angelegt mit dem Namen BI-Status-Intranet und dort auch den CheckMK Agent aktiviert in der Hostkonfiguration. Diesem Host habe ich als Adresse einfach localhost gegeben. Anschließend über Setup > Agenten > Andere Integrationen > BI Aggregationen einen neuen Eintrag erzeugt mit folgenden Werten:

Anschließend werden dem neuen Host nach wenigen Minuten die Services angezeigt:

Nun habe ich in die API-Referenz geschaut, wie ich an die Daten komme. Dazu habe ich auf meinem Intranet-Web-Server das Paket httpie installiert, da dies von CheckMK empfohlen wird. In der REST-API-Dokumentation kann man sich nun den gewünschten Punkt aussuchen (in diesem Fall die Funktion Show the monitored service of a host) und rechts die gewünschte Form auswählen. Hier nutze ich wie gesagt httpie:

Den Code habe ich entsprechend angepasst an meine Daten und auf dem Webserver des Intranets als SH-Script abgelegt. Per Cronjob wird alle 15 Minuten das Script ausgeführt und die Ausgabe speichert er in einer Textdatei. Die Textdatei interpretiere ich dann entsprechend mit PHP und binde es per Shortcode in Wordpress ein. Das Ergebnis sieht dann so aus:

image

Vielen Dank für die Hilfe!

1 Like

Hallo @Dennis19931, die UNKN Services kommen daher, dass der Agent standardmäßig den Special Agent nutzt, wenn einer da ist und den normalen Agenten dann ignoriert. Die einfache Lösung für dein “Problem” wäre diese gewesen:
image

Ansonsten freut es mich, dass du deinen Use Case abbilden konntest und es sieht echt gut aus! :slight_smile:

3 Likes

Ah okay, verstehe. Egal, so klappt es echt wunderbar und konnte schon 7 BI erstellen und transparent für den User darstellen :+1:

1 Like

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.