Skip to main content

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:

  1. Automatische Erkennung von kritischen Zuständen (System-Monitoring-Zustand: DOWN/CRITICAL) und Erstellung eines Tickets

  2. Automatische Erkennung von Follow-Up Nachrichten zu einem bereits erfassten Event/Ticket

  3. Automatisches Schließen des Tickets bei Erreichen eines Normzustands (System-Monitoring-Zustand: UP/OK)

  4. 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 PostMaster::PreFilterModule###0001-SystemMonitoring. Bei Bedarf können Sie mehrere System-Monitoring-Konfigurationen einrichten. Verwenden Sie dazu die weiteren SysConfig-Schlüssel mit dem Namensmuster PostMaster::PreFilterModule###****-SystemMonitoring.

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ü Kommunikation > E-Mail > E-Mail-Filter) kann ein anderes Team gesetzt werden.

Das im E-Mail-Filter gesetzte Team besitzt Vorrang gegenüber der SysConfig-Einstellung. 

SysMon-CreateTicketQueue.png

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}}