Extend your Checkmk monitoring with packages created by community members. Or create your own packages and share the here with the rest of the community.
by FrankB (SWR)
The GlusterFS add-on provides comprehensive monitoring of GlusterFS clusters with Checkmk. It monitors cluster members, peer connections, volumes, and their associated bricks. Heal and split-brain states are detected alongside running, completed, or failed rebalance operations. Detailed status information and metrics highlight pending heal operations, split-brain entries, and rebalance failures at an early stage. The included Linux agent plug-in can be deployed conveniently through the Checkmk Agent Bakery or installed manually. GlusterFS servers are automatically identified using a host label, making the add-on easy to integrate into existing Checkmk environments. The add-on supports Checkmk 2.3 through 2.5 and has been tested with GlusterFS 11.x.
by FrankB (SWR)
This plugin monitors Cisco switches via SNMP to detect interfaces in the "error disabled" state. It triggers a CRIT alert immediately when a port is shut down due to issues like BPDU Guard violations, Link Flapping, or Port Security breaches. Crucially, it translates the numeric error cause into readable text and maps the SNMP index to the actual interface name or description. This allows for rapid troubleshooting without needing to log into the device manually. The extension is compatible with Checkmk 2.3 and higher and requires no special rule configuration—simply install and discover.
by FrankB (SWR)
Labelpicker NG ist eine umfassende Neuentwicklung des beliebten Labelpicker-Tools, optimiert für aktuelle Checkmk-Versionen und maximale Flexibilität. Durch eine komplett modularisierte Architektur und validierte YAML-Konfigurationen lassen sich Host-Labels nun noch zuverlässiger aus verschiedensten Datenquellen wie Active Directory, CSV oder dem Hardware/Software-Inventory generieren. Besonders hervorzuheben ist das neue `hwswtreeapi`-Plugin, das Inventardaten robust über die Checkmk-API statt aus lokalen Dateien abruft. Ein überarbeitetes Logging sowie ein intelligenter Cleanup-Mechanismus via Pickle-History sorgen für Transparenz und saubere Datenbestände. Damit fügt sich Labelpicker NG nahtlos als professionelle Automatisierungslösung in jede Checkmk-Umgebung ein. * **API-basierte Inventory-Auswertung:** Das neue `hwswtreeapi`-Plugin bezieht Hardware-/Software-Daten direkt über die Checkmk-API, was die Stabilität erhöht und verteilte Umgebungen optimal unterstützt. (Getestet mit Checkmk 2.4) * **Active Directory Integration:** Ein neues Plugin ermöglicht es, Checkmk-Labels dynamisch basierend auf AD-Gruppenmitgliedschaften zu setzen (z. B. für Patch-Management oder Downtimes). * **Robuste Konfiguration & Validierung:** Dank Pydantic werden Fehler in der zentralen YAML-Konfiguration sofort erkannt und mit präziser Angabe der Fundstelle gemeldet. * **Intelligentes Lifecycle-Management:** Ein neuer Retention-Mechanismus speichert gesetzte Labels in einer Historie, um nicht mehr gültige Labels bei Folgeläufen sauber und gezielt wieder zu entfernen. * **Erweitertes Logging & Debugging:** Das Logging wurde komplett überarbeitet und erlaubt nun getrennte Log-Levels für Konsole und Datei, um Fehleranalysen ohne „Noise“ durchzuführen. * **Gezieltes entfernen eines Labels:** Es wurde der Schalter `--remove` eingeführt um Labels aus Checkmk zu entfernen. * **Release 1.0.1** (feature complete): Für `hwswtreeapi` wird nun keine extra Checkmk-Konfiguration/Zugangsdaten mehr benötigt.
by otAAAh
A guided setup wizard for the Generic JSON API agent — build a monitoring rule from your API's real response, right inside Checkmk. This is the optional companion to the **Generic JSON API** package. It adds an in-site wizard under **Setup → Quick setup** that walks you from a live API response to a finished rule — no `rules.mk`, no `curl`, no leaving Checkmk. ## Requires - The **Generic JSON API** (`json_api`) package must be installed and enabled first — this Explorer only *builds* rules for that agent; it does not monitor anything on its own. - **Checkmk 2.5 or newer**, any edition. The wizard is built on Checkmk's native Quick-Setup UI, which does not exist on 2.4. ## What it does - 🧭 **Guided, step by step** — choose the target folder and host, define one or more endpoints (URL, method, auth, headers, TLS/redirect options), then pick the fields to monitor. - 🔎 **Fetches the real response** — the wizard calls each endpoint from the site and shows you the actual JSON, so you click the fields that exist instead of guessing paths. - 🎯 **Point-and-pick fields** — select values by path, set WARN/CRIT thresholds, units, a numeric transform, an aggregation over a collection, a counter's rate or a timestamp's age, string matching, or turn each element of a `[*]` collection into a Checkmk host of its own — the same options the agent supports. - ✅ **Live preview before you commit** — the review step evaluates every chosen field against the fetched sample and shows the resulting service state, so you catch a wrong path or threshold before the rule exists. - 🔐 **Secure by default** — credentials are stored in the Checkmk password store and referenced, never written in clear text; TLS verification stays on. - 🚀 **One click to create** — the wizard writes the finished Generic JSON API rule for you. ## In short Install the **Generic JSON API** agent, then install this Explorer. Open **Setup → Quick setup → Generic JSON API**, point it at an endpoint, tick the fields you care about, and press create. The services appear on your host. ## Details - Extra/companion package — install alongside, and after, the Generic JSON API agent. - Checkmk **2.5+**, any edition. - Install via `mkp add` / `mkp enable`, or **Setup → Extension packages**. - GPL-2.0-only.
by otAAAh
Monitor any JSON API in Checkmk without writing a line of code. Point it at a /health, /status, or metrics endpoint, pick the fields you care about, and get a Checkmk service for each — thresholds, graphs, and alerts included. One rule. Any API. Done. # Generic JSON API ## What you get - 🎯 **Any endpoint, unmodified** — Spring Boot, Kubernetes, vendor appliances, your own apps. No special response format required. - 🧭 **Pick fields by path** — `components.db.status`, `items[0].count`, done. - 🔁 **Auto-discover arrays *and* objects** — `nodes[*].status` becomes one service per array element, and `components[*].status` one per object key (e.g. a Spring Boot Actuator `/health` map), automatically. - 🔢 **Aggregate a collection** — where `[*]` fans out one service per element, an aggregation collapses the whole collection into one service: the **number of elements** (queue length, unhealthy nodes) or the **sum / average / min / max** of the values (`queues[*].depth`). The result is a number, so units, WARN/CRIT levels and a metric all apply. - ⏱️ **Counters and timestamps, done right** — mark a field as a **counter** and monitor its per-second **rate** instead of an ever-growing total (`requests_total`); mark it as a **timestamp** and monitor its **age**, so upper levels alert on stale data (`last_backup` older than 26 h → WARN). - 🖧 **One Checkmk host per element** — point a `[*]` field at a field holding a host name and every element becomes a **host of its own**, not just another service. An API describing a fleet gives you hosts with their own downtimes, contact groups and availability, instead of one host with a hundred services. - 🩺 **Every endpoint monitors itself** — each endpoint also gets a `JSON API <*name*>` service with the **HTTP status, response time** (thresholds optional), response size and, for HTTPS, the **TLS certificate's remaining validity** — read from the connection it is already making, so no second check against the same URL. Zero configuration; it comes with the rule. - 🐢 **Rate-limited API? Cache it** — give an endpoint a TTL and the agent reuses its last response instead of asking again, so monitoring cannot exhaust a request quota. It never caches an error and never answers a failed request from an expired cache, so a real outage still shows up. - 🔗 **Many endpoints, one rule** — poll several APIs together, each with its own method, auth, and fields; an unreachable one only affects its own services. - 📈 **Thresholds & graphs in Checkmk** — WARN/CRIT and metrics live in *your* rule, not upstream in the API. - 🧮 **Transform the numeric value** — apply a small arithmetic expression like `value / 1024 / 1024` (bytes→MiB) or `(value - 32) * 5 / 9` (°F→°C) before levels and the metric; safely evaluated, no `eval`. - 🔤 **String matching, two ways** — require a value to match a regex (pick the state when it doesn't, default CRIT), or map values like `ready` / `degraded` / `failed` straight to OK / WARN / CRIT. - 🔐 **Secure by default** — basic or bearer auth via the password store, TLS verification on. - 🧰 **Bonus field picker** — paste your JSON in the bundled explorer, click what to monitor, copy the ready-made rule. On Checkmk 2.5+, install the optional companion package **Generic JSON API – Explorer (extra)** for a guided in-site wizard that builds the rule for you from a live API response. ## In 30 seconds `GET /actuator/health` → `{"status": "UP", "components": {"db": {"status": "UP"}}}` Tick `status` (expect `UP`) and `components.db.status` → instant services `JSON Health` and `JSON Database`. That's the whole setup. ## Details - **Checkmk 2.4+**, any edition. Tested on real 2.4 and 2.5 sites. - Install via `mkp add` / `mkp enable`, or **Setup → Extension packages**. - GPL-2.0-only
by rsander
Agent Plugin to check SSL certificates in specified directories Now with support to check signature algorithm Windows Plugin added JSON data in agent data section Is now able to ignore certificates with a short lifetime
by simonmeggle
Robotmk integrates Robot Framework results into Checkmk.
by lgbff
This check monitors the status of ssl cert checks on ssllab.com. Changelog: - 3.2.0 no systemtime in agent output - 3.x version for cmk 2.2 - 2.1.0 change to python3 - 2.0.1 fix datasource_programm group definition - 2.0.0 insert cache for api response - 1.6.0 insert Agent status (line[3]) - 1.5.3 change default status - 1.5.2 Insert Agent Header infos - 1.5.1 cache default settings - 1.5.0 new data seperator (59) - 1.4.9 fix display JSON Error on check result. - 1.4.8 fix connect exeption - 1.4.7 add default value for timeout - 1.4.6 change timeout handling - 1.4.5 fix inventory issue while JSON issues - 1.4.4 change urlopen error handling - 1.4.3 Rename check file - 1.4.2 Fix check manpage - 1.4.1 delete modul calls from check - 1.4.0 changes for cmk version 1.4 - 1.3.1 improve error handling.