Icinga und Prometheus integrieren

23 April, 2026

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

von | Apr. 23, 2026

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 Healthy

Mit 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 Ok

Wer 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 firing

Jeder 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!

Grafana Dashboard für Icinga Self-Monitoring via icinga2-exporter

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!

Wie hat Dir unser Artikel gefallen?