Zuletzt aktualisiert: 23.04.2026
Icinga und Prometheus sind beides ausgezeichnete Monitoring Lösungen. Der Fokus der Tools ist jedoch unterschiedlich.
Wenn es um die Überwachung von Echtzeitmetriken oder kurzlebigen Diensten wie beispielsweise Containern geht, ist Prometheus das Tool der Wahl. Für großflächiges Status Monitoring der grundlegenden Infrastruktur passt Icinga oft besser. Beide Lösungen müssen aber nicht konträr zu einander sein, sondern komplementär.
In diesem Artikel werden wir uns anschauen, wie wir beide Monitoring-Syteme integrieren und so die Stärken beider Tools nutzen können. Der Fokus liegt dabei auf der Integration von Promtheus in Icinga.
check_prometheus – Prometheus-Daten in Icinga einbinden
Mit dem check_prometheus Plugin lassen sich Metriken und Alarme aus Prometheus direkt in Icinga überwachen. Das Plugin bietet unterschiedliche Funktionen, je nach dem welche Daten aus Prometheus benötigt werden. Die einfachste ist der „Health Check“, der die Erreichbarkeit von Prometheus überwacht:
check_prometheus health --hostname 'prometheus.internal'
OK - Prometheus Server is HealthyMit dem „Query Check“ lassen sich PromQL Queries ausführen und mittels Schwellwerten in ein Icinga kompatibles Format transformieren:
check_prometheus query -q 'go_goroutines{job="prometheus"}' -c 40 -w 27
WARNING - 1 Metrics: 0 Critical - 1 Warning - 0 OkWer schon alle Queries in Prometheus selbst als Alarme definiert hat, kann den „Alert Check“ nutzen, um den Status der Alarme mit Icinga zu prüfen.
check_prometheus alert
CRITICAL - 2 Alerts: 1 Firing - 0 Pending - 1 Inactive
\_[OK] [PrometheusTargetMissing] is inactive
\_[CRITICAL] [PrometheusAlertmanagerJobMissing] - Job: [alertmanager] is firingJeder dieser Checks hat noch viele weitere Optionen und wir sind aktiv daran das Plugin zu verbessern.
Meta Monitoring – wenn das Monitoring sich selbst überwacht
Wer Icinga und Prometheus parallel betreibt, nutzt zwei Monitoring Lösungen gleichzeitig. Idealerweise konfiguriert man beide so, dass sie gegenseitig auf sich aufpassen. Oft wird diese Praxis „Meta Monitoring“ genannt, also das Monitoring des Monitoring Systems.
Um Prometheus mit Icinga zu überwachen, haben wir bereits „check_prometheus“ kennengelernt.
Für die Überwachung von Icinga mit Prometheus haben wir das Projekt „icinga2-exporter“ entwickelt. Der icinga2-exporter ist für „Icinga Self-Monitoring“ gedacht, damit können also Icinga Instanzen mittels Prometheus überwacht werden.
Dafür stellt der Exporter einen HTTP Endpunkt mit Metriken im Prometheus-Textformat bereit. Diese Metriken lassen sich dann mit Prometheus einlesen und überwachen.
---
global:
scrape_interval: 30s
scrape_configs:
- job_name: 'icinga'
static_configs:
- targets: ['icinga2-exporter.internal:9665']Außerdem lässt sich auch ein schickes Grafana Dashboard für das Icinga Self-Monitoring erstellen!

Was der icinga2-exporter bewusst nicht macht, ist Performance Daten aus Icinga nach Prometheus schicken. Dieses Thema schauen wir uns jetzt an.
Icinga Performance Daten und Graphen
Wer eine Icinga-Instanz betreibt, möchte in der Regel auch die Performance-Daten der Check-Plugins langfristig speichern. Dafür stellt Icinga verschiedene „Writer“ zur Verfügung, die die Daten in externe Zeitseriendatenbanken schreiben können.
Hier stellt sich dann oft die Frage, welche Zeitseriendatenbank nutzt man? Wir bei NETWAYS sind der Meinung, das Prometheus hier eine gute Lösung ist. Prometheus ist stabil, einfach zu betreiben und hat viele kompatible Alternativen, die Themen wie Hochverfügbarkeit adressieren. Beispielsweise VictoriaMetrics, Cortex, Thanos oder Grafana Mimir.
Um Daten aus Icinga an Prometheus zu schicken, benötigt ihr mindestens das Icinga Release 2.16.0 vom 23.04.2026. In der Version 2.16 wurde die native OpenTelemetry Integration namens OTLPMetricsWriter (https://github.com/Icinga/icinga2/pull/10685) gemerged.
Was ist OpenTelemetry?
OpenTelemetry ist ein offener Standard für Telemetry, der versucht verschiedene Datentypen (Metriken, Logs, Traces, etc.) zu vereinheitlichen und ein gemeinsames Übertragungsprotokoll zu etablieren (OTLP). Mit dem neuen Writer für Icinga lassen sich Performance Daten nach Prometheus – und weitere Datenbanken, die OpenTemetry sprechen – mittels OTLP/HTTP schreiben.
Performance-Daten in Icinga Web visualisieren
Sind die Daten in Prometheus vorhanden, kann wieder check_prometheus für die Überwachung genutzt werden. Außerdem haben wir unser Performance Daten Graph Modul für Icinga Web schon für Prometheus vorbereitet. Das perfdatagraphs-prometheus Modul steht als Backend bereit.
Mit der nun verfügbaren Icinga Version 2.16, haben wir ein erstes Release für dieses Modul bereitstellen. Damit ist es dann möglich, Prometheus als Datenbank für Icinga Performance Daten zu nutzen und die Daten im Icinga Web zu visualieren.
Ein kleiner Hinweis zum Schluss, VictoriaMetrics bietet kompatible APIs zu beispielsweise InfluxDB, so könnte es schon heute mit Icinga verbunden werden und PromQL (bzw. MetricsQL) genutzt werden. Alle vorgestellten Lösungen funktionieren auch mit der VictoriaMetrics Prometheus API.
Die verwendeten Projekte im Überblick
Alle Tools sind Open Source und auf GitHub verfügbar:
Du möchtest Icinga und Prometheus in deiner Umgebung integrieren oder weißt noch nicht, welcher Ansatz für euch am besten passt? Wir unterstützen und beraten dich – von der Konzeption über die Konfiguration bis hin zu Schulungen und Managed Services!
Du erreichst uns per E-Mail per sales@netways.de, telefonisch oder über unser Kontaktformular!
