System Monitoring
KIX unterstützt die automatische Zuordnung und Verarbeitung von Event-Meldungen per Mail aus Systemen wie Nagios, Icinga oder CheckMK.
Die bereitgestellte Vorkonfiguration basiert auf der E-Mail-Struktur von Nagios (s. Beispiel: E-Mail-Nachricht für DOWN-Meldung).
Verwendet Ihr System-Monitoring-Tool eine andere Nachrichtenstruktur ist eine Konfigurationsanpassung erforderlich.
Möglich sind somit:
Automatische Erkennung von kritischen Zuständen (System-Monitoring-Zustand: DOWN/CRITICAL) und Erstellung eines Tickets
Automatische Erkennung von Follow-Up Nachrichten zu einem bereits erfassten Event/Ticket
Automatisches Schließen des Tickets bei Erreichen eines Normzustands (System-Monitoring-Zustand: UP/OK)
Automatische Erfassung des vom System-Monitoring überwachten Services oder Hosts und Eintragung im Feld Betroffene Assets.
Die Einrichtung einer Konfiguration für ein System-Monitoring erfolgt hier exemplarisch am SysConfig-Schlüssel
. Bei Bedarf können Sie mehrere System-Monitoring-Konfigurationen einrichten. Verwenden Sie dazu die weiteren SysConfig-Schlüssel mit dem Namensmuster .Konfiguration zur Verarbeitung eingehender E-Mails zu System Monitoring. Der Focus liegt auf: ITIL-Practice "Monitoring & Event Management".
Unterschlüssel | Beschreibung und Hinweise | Beispiel / Vorgabewert |
---|---|---|
Module | Nicht ändern! Definiert Backend-Code-Module, das zur Mailverarbeitung benutzt wird. | Kernel::System::PostMaster::Filter::SystemMonitoringX |
DynamicFieldContent::Ticket | Nicht ändern! Definiert die vom Mechanismus genutzten Dynamischen Felder, die Tickets zugeordnet sind. | |
DynamicFieldContent::Article | Nicht ändern! Definiert die vom Mechanismus genutzten Dynamischen Felder, die Tickets zugeordnet sind. | |
AffectedAssetName | Definiert das Dynamische Feld, welches zur Hinterlegung des betroffenen Assets genutzt wird. Das Feld muss vom Typ "AssetReference" sein. Das Asset wird auf Basis des durch "SysMonXHostRegExp" extrahierten Suchmusters in einer Asset-Namenssuche ermittelt. Es kann nur ein Asset eingetragen werden. Sollten mehrere Assets dem Suchmuster genügen, wird das erstbeste erfasst. | AffectedAsset |
SysMonXStateName | Nicht ändern! Definiert das Dynamische Feld, in welchem der System-Monitoring-Status erfasst wird. | SysMonXState |
CreateTicketType | Definiert den Tickettyp, der zur Erstellung des Tickets Verwendung findet. Es muss der nicht-lokalisierte Name verwendet werden. | Incident |
CreateTicketState | Definiert den Ticketstatus, der bei Erstellung des Tickets gesetzt wird. Es muss der nicht-lokalisierte Name verwendet werden. | new |
CreateSenderType | Nicht ändern! Definiert den Sendertyp des Artikels, welcher zum Ticket erstellt wird. | system |
CreateChannel | Nicht ändern! Definiert den Kommunikationskanal des Artikels, welcher zum Ticket erstellt wird. | note |
CreateTicketQueue | Definiert das Team, welchem das Ticket initial zugewiesen wird. Es muss der nicht-lokalisierte Name verwendet werden. Es muss der volle Name verwendet werden. Das hier angegebene Team bildet den Default-Wert. Beim Anlegen/Bearbeiten eines E-Mail-Filters (Menü ) kann ein anderes Team gesetzt werden.Das im E-Mail-Filter gesetzte Team besitzt Vorrang gegenüber der SysConfig-Einstellung. ![]() | Service Desk::Monitoring |
CreateTicketSLA | Definiert den SLA, welcher dem Ticket initial zugewiesen wird. | |
CloseNotIfLocked | Verhindert das Setzen des Status entsprechend "CloseActionState", wenn das vorhandene Ticket gesperrt ist. | 0 |
StopAfterMatch | Wenn gesetzt ("1"), werden keine weiteren E-Mail-Filter in der Verarbeitung der Mail angewandt. | 1 |
FromAddressRegExp | Diese System-Monitoring-Konfiguration bearbeitet nur E-Mails, deren Absender diesem Muster entspricht. | sysmon@example.com |
ToAddressRegExp | Diese System-Monitoring-Konfiguration bearbeitet nur E-Mails, deren To-Empfänger diesem Muster entspricht. | .* |
SysMonXAddressRegExp | Definiert das Suchmuster, mit dem die Adresse des betroffenen Systems aus der Mail extrahiert wird. Es wird die erste Capture-Group verwendet. | \s*Address:\s+(.*)\s* |
SysMonXAliasRegExp | Definiert das Suchmuster, mit dem ein Alias des betroffenen Systems aus der Mail extrahiert wird. Es wird die erste Capture-Group verwendet. | \s*Alias:\s+(.*)\s* |
SysMonXStateRegExp | Definiert das Suchmuster, mit dem der System-Monitoring-Status aus der Mail extrahiert wird. Es wird die erste Capture-Group verwendet. | \s*State:\s+(\S+) |
SysMonXHostRegExp | Definiert das Suchmuster, mit dem der Hostname des betroffenen Systems aus der Mail extrahiert wird. Es wird die erste Capture-Group verwendet. | \s*Host:\s+(.*)\s* |
SysMonXServiceRegExp | Definiert das Suchmuster, mit dem der betroffene Service aus der Mail extrahiert wird. Es wird die erste Capture-Group verwendet. | \s*Service:\s+(.*)\s* |
DefaultService | Wird in der System-Monitoring-Nachricht kein Service gefunden, wird dieser Wert gesetzt. | Host |
NewTicketRegExp | Wenn der System-Monitoring-Status diesem Muster entspricht, wird ein neues Ticket erstellt, sofern kein offenes existiert. | CRITICAL | DOWN | WARNING |
CloseTicketRegExp | Wenn der System-Monitoring-Status diesem Muster entspricht, wird ein bestehendes Ticket mit einem neuen Ticketstatus entsprechend "CloseActionState" versehen. Kann zu diesem Service oder Host kein offenes Ticket gefunden werden, wird die Email verworfen und ignoriert. | OK | UP |
CloseActionState | Definiert den Status, der am Ticket gesetzt wird, wenn eine System-Monitoring-Status entsprechend "CloseTicketRegExp" empfangen wird. | closed |
ClosePendingTime | Wird in "CloseActionState" ein Warten-Status gesetzt (z. B. "pending auto close"), wird diese Wartezeit in Sekunden zum Zeitpunkt des Nachrichtenempfangs gesetzt. | 172800 |
{ "AffectedAssetName": "AffectedAsset", "CloseActionState": "closed", "CloseNotIfLocked": "0", "ClosePendingTime": "172800", "CloseTicketRegExp": "OK|UP", "CreateChannel": "note", "CreateSenderType": "system", "CreateTicketQueue": "Service Desk::Monitoring", "CreateTicketSLA": null, "CreateTicketState": "new", "CreateTicketType": "Incident", "DefaultService": "Host", "DynamicFieldContent::Article": null, "DynamicFieldContent::Ticket": "SysMonXHost,SysMonXService,SysMonXAddress,SysMonXAlias,SysMonXState", "FromAddressRegExp": "sysmon@example.com", "Module": "Kernel::System::PostMaster::Filter::SystemMonitoringX", "NewTicketRegExp": "CRITICAL|DOWN|WARNING", "StopAfterMatch": "1", "SysMonXAddressRegExp": "\\s*Address:\\s+(.*)\\s*", "SysMonXAliasRegExp": "\\s*Alias:\\s+(.*)\\s*", "SysMonXHostRegExp": "\\s*Host:\\s+(.*)\\s*", "SysMonXServiceRegExp": "\\s*Service:\\s+(.*)\\s*", "SysMonXStateName": "SysMonXState", "SysMonXStateRegExp": "\\s*State:\\s+(\\S+)", "ToAddressRegExp": ".*" }
Return-Path: <sysmon@example.com> To: nagios-service-mailbox@example.com Subject: ** PROBLEM alert 1 - ddsrv007 host is DOWN ** Date: Sun, 10 May 2021 01:00:00 +0100 (CET) From: sysmon@example.com Mime-Version: 1.0 Message-Id: <20210501000000.1212121212A@xyzabc.example.com> ***** Nagios ***** Notification Type: PROBLEM Host: ddsrv007 State: DOWN for 0d 0h 5m 0s Address: 192.168.1.2 Info: 1st-critical report for hit in CMDB - should create ticket with aff. asset CRITICAL - Time to live exceeded (192.168.1.2) Date/Time: Mon May 10 00:00:00 CET 2021 ACK by: Comment:
Für KIX On-Premises werden Health Checks mit den Docker-Images ausgeliefert, auf denen Sie ein Monitoring aufbauen können. Die Checks kennzeichnen die laufenden Docker-Container als “healthy” bzw. “unhealthy”.
Eine Liste aller “unhealthy”-Container kann mit dem folgenden Docker Kommando angezeigt werden:
docker ps -f health=unhealthy
Um nur die Namen der Container zu erhalten, ist folgender Zusatz notwendig:
docker ps -f health=unhealthy --format {{.Names}}