Programming extensions for Checkmk [German]

Introduction to the programming language Python, programming extensions for Checkmk.

If you want to write your own check plug-ins and other extensions for Checkmk, there is no way around the Python scripting language. Building on your existing knowledge of scripting and Python, this course will extend your Python skills and introduce you to the internals of Checkmk.

For this purpose, we have divided the training into two parts. In the first part we explain and deepen relevant Python concepts. In the second part, we apply the acquired skills to program new check plug-ins and possibly other extensions (such as inventory or bakery plug-ins). Our goal is to create custom-developed check plug-ins and related components (such as configurability in the user interface) to form a complete Checkmk extension package (MKP.

We do not recommend this course if you have no previous experience in scripting and Python. However, Python is a very accessible language and is easy for newcomers to learn on their own.

The following basic knowledge is required for participation in this course:

  • Syntax
  • Elementary data types (str, bytes, int, float, bool, None)
  • Compound data types (list, dict, set, tuple)
  • Function definitions and calls
  • Control structures (for and while loops, if-else conditions)

Course content

The Python toolbox

  • Introduction via string formatting
  • Small repetitions in the area of functions
  • Comprehensions
  • Generators
  • Exception handling
  • Useful libraries (e.g. json, argparse and sys)

The concepts of data collection and evaluation in Checkmk

  • Acquisition of raw data: Agents, agent plug-ins and SNMP
  • Preparation of the raw data
  • Processing of data in check and inventory plugins

Section, check and inventory plug-ins

  • Parse function
  • Discovery function
  • Check function
  • Inventory function
  • Auxiliary functions (check thresholds, rate calculation, averaging, ...)
  • Manpages
  • Documentation

Enhancements for the GUI

  • Configurability of check and inventory plug-ins in the GUI
  • Metrics, graphs and perf-o-meters

Packaging with MKP

  • The Checkmk packages concept
  • Creating and managing packages
  • The Checkmk Exchange

More advanced topics (as required)

  • Bakery plug-ins
  • Special agents (API integrations)
  • Cluster-enabled check plug-ins
  • Special checks (local and active checks)
  • Migration of legacy checks

Details

Language: German

Length: 5 days

Minimum no. of attendees: 3

Target audience:
Checkmk-Administratoren

Requirements:
Checkmk know-how, no Python knowledge required, but first programming experience with smaller programs

Request training