1. Einleitung
Checkmk bietet mittlerweile eine ganze Menge unterschiedlicher Schnittstellen, allen voran die REST-API, mit der Sie sehr viel von dem erledigen können, was auch über die Weboberfläche möglich ist. Darüber hinaus gibt es jedoch noch APIs für Check-Plugins, die Hardware-/Software-Inventur, die Agentenbäckerei und so weiter. Zu all diesen Schnittstellen gibt es Artikel, Referenzen und weitere Ressourcen, verteilt über dieses Handbuch, die Website und Checkmk selbst.
In diesem Artikel verschaffen wir Ihnen einen Überblick über alle Schnittstellen und Ressourcen und geben einige Tipps zum generellen Umgang. Viele Links in diesem Artikel sind redundant, da die Informationen drei unterschiedliche Herangehensweisen oder Fragen bedienen sollen:
Welche APIs bietet Checkmk?
Welche API-relevanten Artikel finden sich im Handbuch?
Welche API-relevanten Ressourcen gibt es in Checkmk?
Die wichtigste Schnittstelle ist fraglos die Checkmk REST-API, über die sich fast alles programmatisch erledigen lässt, was auch über die Weboberfläche geht.
Einen schnellen, praktischen Einstieg in die REST-API bietet die interaktive REST-API GUI. Hier können Sie vorgegebene Abfragen absenden und optional auch manipulieren. Sie finden die GUI in Checkmk selbst über Help > Developer resources > REST API interactive GUI. |
Die zweite große Schnittstelle sind die Plugin-APIs für die Entwicklung eigener Erweiterungen. Je nach Erfahrung können Sie hier mit unserem Einführungsartikel starten oder der Referenz, die Sie wieder direkt in Checkmk selbst finden: Help > Developer resource > Plug-in API references.
In den Tabellen unten finden Sie diese APIs, aber auch weniger prominente Schnittstellen, wie etwa für das Hardware-/Software-Inventar, Sub-Schnittstellen für die Check-Plugin-Entwicklung, wie etwa die explizite Graphing-API, sowie Quasi-Schnittstellen, wie das Ausgabeformat von lokalen Checks, der simplen, Skript-basierten Vorstufe ausgewachsener Plugins.
2. APIs in Checkmk
API | Handbuch | Web | Beschreibung |
---|---|---|---|
REST-API |
Funktional eine Teilmenge der Weboberfläche. |
||
Check-API |
Programmieren von Check-Plugins. |
||
Bakery-API |
In Checkmk: |
Einbinden von Check-Plugins in die Agentenbäckerei. |
|
Server-side-calls-API |
tbd |
In Checkmk: |
Entwickeln von aktiven Checks und Spezialagenten. |
Graphing-API |
Darstellung von Metriken anpassen im Artikel über agentenbasierte Check-Plugins |
In Checkmk: |
Einbinden von Metriken, Graphen, Perf-O-Metern. |
Rulesets-API |
Regelsätze für Check-Parameter im Artikel über agentenbasierte Check-Plugins |
In Checkmk: |
Entwickeln eigener Regelsätze. |
DCD-API |
tbd |
In Checkmk: |
Eigene Konnektoren für den Dynamic Configuration Daemon (DCD). |
HW/SW-API |
n.a. |
Web-API zur Abfrage von Inventurdaten. |
|
Livestatus |
Statusdaten abrufen via Livestatus, Livestatus Befehlsreferenz |
n.a. |
Direkter Abruf von Statusdaten via Livestatus Query Language (LQL). |
Event-Console-Schnittstelle |
Die Statusschnittstelle der Event Console |
n.a. |
Zugriff auf interne Status und Ausführen von Befehlen via Unix-Socket. |
Lokale Checks |
n.a. |
"Mini-Schnittstelle" für eigene, Skript-basierte Checks. |
3. Artikel im Handbuch
API-Bereich | Handbuch | Beschreibung |
---|---|---|
Automatisierung |
Beschreibung der REST-API sowie deren Dokumentation und Nutzungsmöglichkeiten. |
|
Die Daten-Schnittstelle für Host- und Service-Informationen in der Übersicht. |
||
Alle Tabellen, Header, Filter und Operatoren. |
||
Beschreibung der Inventar-eigenen Web-API für den externen Zugriff. |
||
Die Statusschnittstelle der Event Console |
Per Unix-Socket und über eine Teilmenge des Livestatus-Protokolls können Daten von der Event Console ausgelesen und Kommandos abgesetzt werden. |
|
Programmierung |
Übersichtsartikel mit allen Möglichkeiten für Erweiterungen und Links zu weiterführenden Informationen. |
|
Ausführliche Beschreibung zur Entwicklung eines Check-Plugins. |
||
Ausführliche Beschreibung zur Entwicklung eines Check-Plugins für SNMP-Daten. |
4. Ressourcen in Checkmk
In Checkmk | Beschreibung |
---|---|
Help > Developer resources > Plug-in API references |
Auf Sphinx basierende Referenz aller APIs, die für die Entwicklung von Check-Plugins relevant sind. |
Help > Developer resources > REST API documentation |
Auf ReDoc/OpenAPI basierende Referenz für alle Check-relevanten Abfragen, inklusive Code-Beispielen für Requests (Python), Urllib (Python), Httpie und Curl. |
Help > Developer resources > REST API interactive GUI |
Interaktive Weboberfläche zum Testen aller API-Endpunkte, inklusive Rückmeldungen direkt auf der Seite. |
Help > Developer resources > Plug-in API references > Agent based ("Check API") |
Im Bereich Version 2 > New in this version finden Sie wichtige Informationen für die Migration alter Plugins auf die aktuelle API-Version. |
5. Ressourcen im Web
Ressource | Beschreibung |
---|---|
Video-Tutorial (in Englisch) mit praktischen Beispielen für den Einsatz der REST-API, etwa zum Setzen von Wartungszeiten. |
|
Curl-Beispiele in der Checkmk Knowledge Base für konkrete, beispielsweise UND-verknüpfte Abfragen. |
|
Im Checkmk-Plugin-Store finden Sie viele praktische Implementierungen der APIs samt Quellcode. |