Checkmk
to checkmk.com

1. Introduction

Checkmk now offers a whole host of diverse interfaces, above all the REST API, with which you can do a great deal of what is also possible via the web interface. However, there are also APIs for check plug-ins, the hardware/software inventory, the Agent Bakery and so on. There are articles, references and other resources for all of these interfaces, distributed throughout this User Guide, the website and Checkmk itself.

In this article, we will provide an overview of all interfaces and resources and give some tips on general handling. Many links in this article are redundant, as the information is intended to serve three different approaches or questions:

  • Which APIs does Checkmk provide?

  • Which API-relevant articles can be found in the User Guide?

  • What API-relevant resources are available in Checkmk?

The most important interface is undoubtedly the Checkmk REST API, which can be used to do almost everything from a programming perspective that can also be performed via the web interface.

Tip

The interactive REST API GUI offers a quick, practical introduction to the REST API. Here you can send and, optionally, modify predefined queries. You can find the GUI in Checkmk itself via Help > Developer resources > REST API interactive GUI.

REST API GUI with example for creating a host.
The REST API interactive web interface

The second major interface is the Plugin APIs for developing your own extensions. Depending on your experience, you can start here with our introductory article or the reference, which you can again find directly in Checkmk itself: Help > Developer resource > Plug-in API references.

Image of the API reference with release notes for the Check API.
Reference for the plug-in APIs including release notes for the Check API

In the tables below you will find these APIs, but also less familiar interfaces, such as for the hardware/software inventory, sub-interfaces for check plug-in development, such as the explicit Graphing API, as well as quasi-interfaces, such as the output format of local checks, the simple, script-based precursor to full-blown plug-ins.

2. APIs in Checkmk

API User Guide Web Description

REST API

The Checkmk REST API

REST API code examples, video tutorial

Functionally a subset of the web interface.

Check API

Writing agent-based check plug-ins

Checkmk Exchange (examples)

Coding check plug-ins.

Bakery API

The Bakery API

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

Include check plug-ins in the agent bakery.

Server-side calls API

tbd

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

Develop active checks and special agents.

Graphing API

Customizing the metric displays in the agent-based check plug-in article

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

Include metrics, graphs, Perf-O-Meters.

Rulesets API

Rule sets for check parameters in the agent-based check plug-in article

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

Develop your own rule sets.

DCD API

tbd

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

Custom connectors for the Dynamic Configuration Daemon (DCD).

HW/SW API

Web API for HW/SW inventory data

n.a.

Web API for querying inventory data.

Livestatus

Retrieving status data via Livestatus, Livestatus command reference

n.a.

Direct retrieval of status data via Livestatus Query Language (LQL).

Event Console interface

The status interface of the Event Console

n.a.

Access to internal status and execution of commands via Unix socket.

Local checks

Local checks

n.a.

'Mini interface' for your own script-based checks.

3. Articles in the User Guide

API area User Guide Description

Automation

The Checkmk REST API

Description of the REST API as well as its documentation and possible uses.

Retrieving status data via Livestatus

An overview of the data interface for host and service information.

Livestatus command reference

All tables, headers, filters and operators.

Web API for HW/SW inventory data

Description of the inventory’s own web API for external access.

The status interface of the Event Console

Data can be read from the Event Console and commands can be sent via Unix socket and a subset of the Livestatus protocol.

Programming

Developing extensions for Checkmk

Overview article with all possibilities for extensions and links to further information.

Writing agent-based check plug-ins

Detailed description of how to develop a check plug-in.

Writing SNMP-based check plug-ins

Detailed description of the development of a check plug-in for SNMP data.

4. Resources in Checkmk

In Checkmk Description

Help > Developer resources > Plug-in API references

A Sphinx-based reference of all APIs that are relevant for the development of Check plug-ins.

Help > Developer resources > REST API documentation

ReDoc/OpenAPI-based reference for all Check-relevant queries, including code examples for Requests (Python), Urllib (Python), httpie and curl.

Help > Developer resources > REST API interactive GUI

Interactive web interface for testing all API endpoints, including feedback directly on the page.

Help > Developer resources > Plug-in API references > Agent based ("Check API")

In the section Version 2 > New in this version you will find important information for the migration of old plug-ins to the current API version.

5. Resources on the web

Resource Description

Working with the Checkmk REST API

Video tutorial (in English) with practical examples for using the REST API, for example for setting scheduled downtimes.

REST API code examples

Curl examples in the Checkmk Knowledge Base for concrete, e.g. AND-linked queries.

Checkmk Exchange

In the Checkmk plug-in store you will find many practical implementations of the APIs including source code.

On this page