Checkmk
to checkmk.com

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.

Tip

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.

REST-API GUI mit Beispiel zum Erstellen eines Hosts.
Interaktive Weboberfläche der REST-API

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.

Bild der API-Referenz mit Versionshinweisen zur Check-API.
Referenz der Plugin-APIs samt Versionshinweisen für die Check-API

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

Die Checkmk REST-API

REST-API-Code-Beispiele, Video-Tutorial

Funktional eine Teilmenge der Weboberfläche.

Check-API

Agentenbasierte Check-Plugins schreiben

Checkmk Exchange (Beispiele)

Programmieren von Check-Plugins.

Bakery-API

Die Bakery-API

In Checkmk:
Help > Developer resources > Plug-in API references > Bakery

Einbinden von Check-Plugins in die Agentenbäckerei.

Server-side-calls-API

tbd

In Checkmk:
Help > Developer resources > Plug-in API references > Server-side calls

Entwickeln von aktiven Checks und Spezialagenten.

Graphing-API

Darstellung von Metriken anpassen im Artikel über agentenbasierte Check-Plugins

In Checkmk:
Help > Developer resources > Plug-in API references > Graphing

Einbinden von Metriken, Graphen, Perf-O-Metern.

Rulesets-API

Regelsätze für Check-Parameter im Artikel über agentenbasierte Check-Plugins

In Checkmk:
Help > Developer resources > Plug-in API references > Rulesets

Entwickeln eigener Regelsätze.

DCD-API

tbd

In Checkmk:
Help > Developer resources > Plug-in API references > Dynamic configuration connector

Eigene Konnektoren für den Dynamic Configuration Daemon (DCD).

HW/SW-API

Web-API für HW/SW-Inventurdaten

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

Lokale Checks

n.a.

"Mini-Schnittstelle" für eigene, Skript-basierte Checks.

3. Artikel im Handbuch

API-Bereich Handbuch Beschreibung

Automatisierung

Die Checkmk REST-API

Beschreibung der REST-API sowie deren Dokumentation und Nutzungsmöglichkeiten.

Statusdaten abrufen via Livestatus

Die Daten-Schnittstelle für Host- und Service-Informationen in der Übersicht.

Livestatus-Befehlsreferenz

Alle Tabellen, Header, Filter und Operatoren.

Web-API für HW/SW-Inventurdaten

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

Erweiterungen für Checkmk entwickeln

Übersichtsartikel mit allen Möglichkeiten für Erweiterungen und Links zu weiterführenden Informationen.

Agentenbasierte Check-Plugins schreiben

Ausführliche Beschreibung zur Entwicklung eines Check-Plugins.

SNMP-basierte Check-Plugins schreiben

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

Working with the Checkmk REST API

Video-Tutorial (in Englisch) mit praktischen Beispielen für den Einsatz der REST-API, etwa zum Setzen von Wartungszeiten.

REST-API-Code-Beispiele

Curl-Beispiele in der Checkmk Knowledge Base für konkrete, beispielsweise UND-verknüpfte Abfragen.

Checkmk Exchange

Im Checkmk-Plugin-Store finden Sie viele praktische Implementierungen der APIs samt Quellcode.

Auf dieser Seite