Zum Hauptinhalt springen

Centreon Smart-Home-Integration, kostenlos und Open Source

Centreon-Integration für Gladys Assistant

Deine Centreon-Hosts und -Services in Gladys, mit Szenen bei Host-Ausfällen und Service-Problemen.

Hol dein Centreon-Monitoring in Gladys: Jeder Host wird ein Gerät (erreichbar, Services WARNING, CRITICAL und UNKNOWN, unbehandelte Probleme, quittiert, Wartungszeit), ein Gerät „Centreon“ fasst alles zusammen, und deine Szenen reagieren, wenn ein Host ausfällt oder ein Service ein Problem hat — ein rotes Licht, wenn das NAS ausfällt, eine Nachricht, wenn ein Backup CRITICAL ist. Eine Szene kann auch die Probleme eines Hosts quittieren, und ein Widget im Dashboard listet die laufenden Probleme auf.

Die Integration liest die REST-API v2 von Centreon (/centreon/api/latest) in deinem lokalen Netzwerk, mit einem eigenen Centreon-Benutzer. Nichts läuft über eine Cloud.

Getestet mit einem echten Centreon 24.10 (24.10.12, All-in-one-Docker-Image der Community: Test-Checks, auf WARNING, CRITICAL und UNKNOWN gezwungen, ein Host DOWN, ein Host UNREACHABLE dahinter, eine Wartungszeit, Quittierungen, ein nie geprüfter Host, Benutzer ohne die Rechte). Rückmeldungen sind willkommen: github.com/guim31/gladys-centreon/issues.

Was du brauchst​

  • Gladys Assistant 5.1.0 oder neuer.
  • Centreon mit seiner REST-API v2 (getestet wurde nur 24.10; ab 22.04 sollte es gehen), seine Weboberfläche vom Gladys-Rechner aus erreichbar (meist http://<Adresse>/centreon). Editionen Open Source, IT oder Business.
  • Einen Centreon-Benutzer für Gladys, nur mit den nötigen Rechten.

Erste Schritte​

1. Einen Centreon-Benutzer anlegen​

In Centreon, als Administrator:

  1. Configuration > Users > Contacts / Users > Add: ein Benutzer gladys, kein Administrator, mit einem langen Passwort. Setze im Tab Centreon Authentication die Option Reach API Realtime auf Ja (die Konfigurations-API ist nicht nötig).
  2. Administration > ACL > Resources Access: eine Ressource mit den zu folgenden Hosts (oder allen Hosts) und, wenn du nach Hostgruppen filterst, auch diesen Hostgruppen: Ein Benutzer sieht eine Hostgruppe nur, wenn seine Ressourcen sie enthalten.
  3. Administration > ACL > Actions Access (zum Quittieren aus Gladys): ein Zugriff mit Acknowledge für Hosts und für Services.
  4. Administration > ACL > Access Groups: eine Gruppe mit dem Benutzer, der Ressource und dem Aktionszugriff.

Centreon berechnet die ACL innerhalb einer Minute.

2. Die Integration konfigurieren​

Öffne in Gladys die Konfiguration der Integration:

  • Adresse: die Adresse der Weboberfläche von Centreon, z. B. 192.168.1.2. http:// und /centreon werden ergänzt, außer du gibst andere ein (z. B. https://monitoring.example.com/centreon). Eine aus dem Browser kopierte Adresse geht auch.
  • Centreon-Benutzername und Passwort: der Benutzer aus Schritt 1.
  • Hostgruppen (optional): Namen von Hostgruppen, durch Kommas getrennt, z. B. homelab, linux-servers: Ein Host in einer davon wird übernommen. Leer: alle Hosts, die der Benutzer sieht.
  • Aktualisierungsintervall: 30 Sekunden bis 5 Minuten (standardmäßig 1 Minute).
  • Quittieren aus Szenen erlauben: Deaktiviere es, um die Aktion zum Quittieren auszuschalten.
  • Selbstsignierte Zertifikate akzeptieren: nur für eine https://-Adresse mit selbstsigniertem Zertifikat. Standardmäßig aus.
  • Sprache der Namen: Sprache der Funktionsnamen und der Szenenergebnisse.

Speichere und klicke dann auf Verbindung testen: Du siehst die Version von Centreon, die Zahl der Hosts, der ausgefallenen Hosts und der Services mit Problem.

3. Die Geräte hinzufügen​

Öffne den Tab Entdecken der Integration und füge die Hosts hinzu, denen du folgen willst, und das Gerät „Centreon“, wenn du die Summen willst. Die Szenen-Auslöser gelten für jeden Host, ob in Gladys hinzugefügt oder nicht.

Die Geräte​

Jeder Host (benannt nach seinem Namen in Centreon; eine Umbenennung in Centreon behält dasselbe Gerät):

FunktionWert
Host UP1 UP, 0 DOWN oder UNREACHABLE; leer, solange der Host PENDING ist
Services WARNINGZahl der Services WARNING
Services CRITICALZahl der Services CRITICAL
Services UNKNOWNZahl der Services UNKNOWN
Unbehandelte ProblemeProbleme von Host und Services, weder quittiert noch in einer Wartungszeit
Host quittiert1, wenn der Host DOWN oder UNREACHABLE und sein Problem quittiert ist
In Wartungszeit1 während einer Wartungszeit des Hosts

Das Gerät Centreon: Hosts DOWN (DOWN oder UNREACHABLE), Services WARNING, Services CRITICAL, Services UNKNOWN und Unbehandelte Probleme, über die Hosts der Konfiguration.

Ein Host ist UNREACHABLE, wenn er DOWN ist und hinter einem übergeordneten Host liegt, der ebenfalls ausgefallen ist. Die Service-Zähler enthalten die Zustände, die Centreon noch bestätigt (SOFT), wie die Ansicht Resource Status. Werte gehen nur bei einer Änderung an Gladys, sonst alle 6 Stunden.

Dashboard​

Das Widget Centreon-Probleme zeigt drei Kacheln — die ausgefallenen Hosts, die Services CRITICAL, die unbehandelten Probleme — und die Probleme: Hosts DOWN, dann UNREACHABLE, dann Services CRITICAL, UNKNOWN und WARNING, die neuesten zuerst. Jede Zeile nennt den Service und seinen Zustand, den Host, ✓ wenn quittiert und ⏸ in einer Wartungszeit. Höchstens zehn Zeilen. Aktualisieren liest Centreon neu. Wähle in seinen Einstellungen Hosts, um nur deren Probleme zu zeigen (leer: alle Hosts).

Szenen​

Auslöser​

  • Ein Host fällt aus: Ein Host wird DOWN oder UNREACHABLE. Filter: Hosts (leer: beliebig). Variablen: Hostname, Zustand (DOWN, UNREACHABLE). Ein Host, der von DOWN zu UNREACHABLE wechselt, wird nicht zweimal gemeldet.
  • Ein Host ist wieder da: Ein als ausgefallen gemeldeter Host ist wieder UP. Variablen: Hostname, Dauer in Minuten.
  • Ein Service hat ein Problem: Ein Service wird WARNING, CRITICAL oder UNKNOWN oder wechselt zwischen ihnen (zum Beispiel von WARNING zu CRITICAL). Filter: Hosts, Zustände (leer: alle; für „nur CRITICAL“ wähle CRITICAL). Variablen: Hostname, Service, Zustand, Ausgabe des Checks (ihre erste Zeile).
  • Ein Service ist wieder OK: Ein als problematisch gemeldeter Service ist wieder OK. Filter: Hosts, letzter gemeldeter Problemzustand. Variablen: Hostname, Service, letzter Problemzustand, Dauer in Minuten.
  • Centreon antwortet nicht mehr: Die REST-API antwortet zweimal hintereinander nicht (Variablen: Adresse, Fehler).

Probleme, die beim Start der Integration schon da sind, werden nicht gemeldet, ihr Ende schon. Nur bestätigte Zustände (HARD) zählen: Solange Centreon einen Check wiederholt (Zustand SOFT, bis zu „Max check attempts“), wird nichts gemeldet, wie Centreon auch nicht benachrichtigt. Eine Änderung während eines Neustarts von Gladys oder der Integration wird beim nächsten Lesen einmal gemeldet. Ein Problem in einer Wartungszeit (des Services oder seines Hosts) wird nicht gemeldet; ist es am Ende der Wartungszeit noch da, dann schon.

Aktionen​

  • Probleme eines Hosts quittieren: quittiert in Centreon das Problem des Hosts (DOWN, UNREACHABLE) und jeden seiner Services mit Problem, der noch nicht quittiert ist, mit einem Kommentar (leer: „In Gladys quittiert“), im Namen des Gladys-Benutzers. Die Quittierung bleibt bestehen (bis der Host UP oder der Service OK ist), ihr Kommentar wird behalten, und sie benachrichtigt niemanden. Gibt die Zahl der Quittierungen zurück. Abschaltbar mit „Quittieren aus Szenen erlauben“.
  • Probleme lesen: zählt und listet die Probleme eines Hosts oder aller, für die nächsten Aktionen: Zahl, unbehandelt, ausgefallene Hosts, Services CRITICAL, WARNING und UNKNOWN, und die Liste „Host: Problem“.

Szenen-Ideen​

  • Ein rotes Licht, wenn das NAS ausfällt: Auslöser „Ein Host fällt aus“, Host nas → die Wohnzimmerlampe rot schalten und {{triggerEvent.data.host}}: {{triggerEvent.data.state_name}} senden.
  • Nur kritische Services: Auslöser „Ein Service hat ein Problem“, Zustand CRITICAL → Nachricht \{\{triggerEvent.data.host\}\} / \{\{triggerEvent.data.service\}\}: \{\{triggerEvent.data.output\}\}.
  • Morgenbericht: jeden Tag um 8:00 „Probleme lesen“ → die Zahl und die Liste senden, wenn die Zahl über 0 liegt.
  • Vom Sofa aus gesehen: Ein Button im Dashboard oder eine Zigbee- Fernbedienung startet „Probleme eines Hosts quittieren“ für das NAS.

Fehlerbehebung​

  • „Benutzername oder Passwort von Centreon abgelehnt“: Prüfe den Benutzer, sein Passwort und ob er aktiviert ist. Ein nur per LDAP oder SSO angemeldeter Benutzer kommt eventuell nicht an die API: Nimm einen lokalen Benutzer.
  • „Zugriff verweigert: Erlaube dem Benutzer Reach API Realtime“: Schritt 1.1.
  • „Kein Host sichtbar“: Der Benutzer hat keine ACL-Ressource mit Hosts (Schritt 1.2), oder Centreon hat die ACL noch nicht berechnet (warte eine Minute).
  • „Hostgruppen nicht gefunden“: Prüfe die Namen und füge die Hostgruppen der ACL-Ressource des Benutzers hinzu (Schritt 1.2).
  • „Centreon antwortet nicht“: Prüfe die Adresse vom Gladys-Rechner aus. localhost ist der Container der Integration selbst: Nimm die IP-Adresse des Centreon-Rechners.
  • „Keine Centreon-API unter dieser Adresse“: Dort antwortet etwas anderes: Gib die Adresse der Weboberfläche ein, mit ihrem Pfad, wenn er nicht /centreon ist (ein Centreon im Wurzelverzeichnis seiner Site: https://<Adresse>/api/latest).
  • „Dieses Centreon leitet auf HTTPS um“: Gib https:// vor der Adresse ein.
  • „Zertifikat abgelehnt“: Aktiviere „Selbstsignierte Zertifikate akzeptieren“.
  • Ein Host fehlt: Er ist in keiner Hostgruppe der Konfiguration oder nicht in der ACL-Ressource des Benutzers.
  • Das Quittieren wird abgelehnt: Der Benutzer braucht die ACL-Aktionen zum Quittieren von Hosts und Services (Schritt 1.3).

Grenzen​

  • Ein Centreon pro Integration (mit Remote-Servern und Pollern die Adresse des zentralen Servers: Er sieht alle Hosts).
  • Nur Zustände von Hosts und Services: keine Metriken, keine Performance-Daten, keine Business-Ansichten (BAM).
  • Die Integration liest Centreon im gewählten Intervall: Ein Ereignis, das zwischen zwei Lesevorgängen kommt und geht, wird verpasst.
  • „Ein Service ist wieder OK“ löst auch aus, wenn ein Service mit Problem aus dem Monitoring entfernt wird; ein aus Centreon oder dem Umfang entfernter Host endet still.
  • Höchstens 30 Szenen-Ereignisse pro Lesevorgang: Ein Netzwerkausfall kann Dutzende auf einmal auslösen; der Rest folgt bei den nächsten Lesevorgängen.
  • Kein Kontingent auf der REST-API: Jeder Lesevorgang sendet zwei Anfragen (eine mehr mit Hostgruppen, eine mehr einmal pro Stunde für die Version) und meldet sich neu an, wenn Centreon die Sitzung beendet.
  • Eine Quittierung läuft über die Befehlskette von Centreon (Gorgone): Ist sie gestoppt, nimmt Centreon die Quittierung an, aber sie erreicht die Engine nie.

Nicht mit der Firma Centreon verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Centreon in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein CentreonsectionNeinLege in Centreon einen eigenen Benutzer an, der „Reach API Realtime“ darf, in einer ACL-Gruppe, deren Ressourcen die Hosts (und die zu filternden Hostgruppen) und zum Quittieren die Quittier-Aktionen enthalten. Lege die Hosts dann im Tab „Entdecken“ an.
AdressestringJaDie Adresse der Weboberfläche von Centreon; http:// und /centreon, außer du gibst andere ein (im Wurzelverzeichnis einer Site: …/api/latest).
Centreon-BenutzernamestringJa
PasswortsecretJaDas Passwort dieses Benutzers. Kein Administrator: ein eigener Benutzer, nur mit den Rechten oben.
Hostgruppen (optional)stringNeinNamen von Hostgruppen, durch Kommas getrennt: Ein Host in einer davon wird übernommen. Leer: alle Hosts, die der Benutzer sieht.
OptionensectionNein
AktualisierungsintervallselectNeinWie oft Centreon gelesen wird: jedes Mal zwei API-Anfragen (drei mit Hostgruppen).
Quittieren aus Szenen erlaubenbooleanNeinDeaktiviere es, um die Szenen-Aktion „Probleme eines Hosts quittieren“ auszuschalten.
Selbstsignierte Zertifikate akzeptierenbooleanNeinNur für https:// mit einem selbstsignierten Zertifikat (üblich bei einem Centreon zu Hause).
Sprache der NamenselectNeinSprache der Funktionsnamen (beim Hinzufügen eines Geräts festgelegt) und der Szenen-Ergebnisse.

So installierst du Centreon in Gladys​

  1. Öffne in Gladys Integrationen: Centreon erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-centreon:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-centreon.

Centreon benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Centreon ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂