Linux-Protokolldateiüberwachung in System Center Operations Manager
Wichtig
Diese Version von Operations Manager hat das Supportende erreicht. Sie sollten ein Upgrade auf Operations Manager 2019 durchführen.
System Center Operations Manager enthält nun erweiterte Funktionen zur Protokolldateiüberwachung für Linux-Server, bei der die neueste Agent-Version mit Fluentd verwendet wird. Mit diesem Update werden folgende Verbesserungen gegenüber der vorherigen Protokolldateiüberwachung vorgenommen:
- Platzhalterzeichen im Namen und Pfad der Protokolldatei
- Neue Übereinstimmungsmuster bei der anpassbaren Protokollsuche wie die einfache Übereinstimmung, die exklusive Übereinstimmung, die korrelierte Übereinstimmung, die wiederholte Korrelation und die exklusive Korrelation
- Unterstützung für generische Fluentd-Plug-Ins, die von der Fluentd-Community veröffentlicht wurden
Grundlegender Vorgang
Der grundlegende Vorgang der Linux-Protokolldateiüberwachung umfasst die folgenden Schritte:
- Der Datensatz wird in ein Protokoll in einem Linux-Agent geschrieben.
- Fluentd sammelt den Datensatz und erstellt ein Ereignis bei Musterübereinstimmung.
- Das Ereignis wird an den OMED-Dienst auf dem Verwaltungsserver gesendet.
- Regeln und Monitore in einem benutzerdefinierten Management Pack (MP) sammeln Ereignisse und erstellen Warnungen in Operations Manager.
Übersicht über die Konfiguration
Für die Aktivierung der Protokolldateiüberwachung in Linux-Agents sind folgende Schritte erforderlich. Jeder dieser Schritte wird in den folgenden Abschnitten ausführlich erläutert.
- Importieren Sie das neueste Linux Management Pack.
- Installieren Sie auf jedem zu überwachenden Linux-Computer die neueste Version des Linux-Agents.
- Erstellen Sie eine Fluentd-Konfigurationsdatei, um Protokolle zu sammeln.
- Kopieren Sie die Konfigurationsdatei in Linux-Agents.
- Erstellen Sie mithilfe des Beispiel-Management Packs Regeln und Monitore, um Ereignisse aus dem Protokoll zu sammeln und Warnungen zu erstellen.
Installieren der neuesten Version des Linux-Agents
Die neueste Version des Linux-Agents unterstützt Fluentd, das für die erweiterte Protokolldateiüberwachung erforderlich ist. Details und Informationen zum Installationsprozess für den neuen Agent finden Sie unter Installieren des Agents unter UNIX und Linux über die Befehlszeile.
Konfigurieren der Linux-Protokolldateiüberwachung
Das Linux Management Pack-Paket enthält den neuesten Operations Manager-Agent (mit Fluentd). So konfigurieren Benutzer die Linux-Protokolldateiüberwachung
- Importieren Sie für die Installation eines Management Packs das neueste Linux Management Pack über den Standardprozess.
- Installieren Sie mit dem Ermittlungs-Assistenten oder manuell den neuen Linux-Agent auf den Linux-Servern.
- Aktivieren Sie den OMED-Dienst auf jedem Verwaltungsserver in dem Ressourcenpool, der die Linux-Agents verwaltet.
Der OMED-Dienst sammelt Ereignisse von Fluentd und konvertiert diese in Operations Manager-Ereignisse. Benutzer sollten ein benutzerdefiniertes Management Pack importieren, das basierend auf den Ereignissen, die von den Linux-Servern empfangen werden, Warnungen generieren kann.
Sie aktivieren den OMED-Dienst entweder in der Betriebskonsole oder manuell auf dem Verwaltungsserver oder Gatewayserver.
In der Betriebskonsole
- Navigieren Sie in der Betriebskonsole zu ÜberwachungOperations ManagerVerwaltungsserverZustand von Verwaltungsservern.
- Wählen Sie im Statusbereich Verwaltungsserver den Verwaltungsserver aus.
- Wählen Sie im Bereich Aufgaben die Optionen Aufgaben des IntegritätsdienstsSystem Center-OMED-Server aktivieren.
Manuell
- Klicken Sie auf Starten, Geben Sie im Feld Suche starten den Text services.msc ein, und drücken Sie anschließend die EINGABETASTE.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf den Dienst Externer Datenquellendienst von System Center Operations Manager., und klicken Sie dann auf Eigenschaften.
- Klicken Sie auf der Registerkarte Allgemein auf Start, Automatisch und OK.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf den Dienst, und klicken Sie dann auf Starten.
Erstellen einer Fluentd-Konfigurationsdatei
Mit einer Konfigurationsdatei konfigurieren Sie den Fluentd-Betrieb. Für die Protokollüberwachung müssen Sie eine Konfigurationsdatei erstellen, die Informationen wie den Namen und Pfad der Quellprotokolldatei sowie Filter für die Definition der zu sammelnden Daten enthält.
Die Fluentd-Masterkonfigurationsdatei omsagent.conf befindet sich unter /etc/opt/microsoft/omsagent/scom/conf/. Sie können die Konfiguration der Protokolldateiüberwachung direkt zu dieser Datei hinzufügen, sollten jedoch eine separate Konfigurationsdatei erstellen, um die verschiedenen Einstellungen besser verwalten zu können. Über eine @include-Anweisung in der Masterdatei schließen Sie dann Ihre benutzerdefinierte Datei ein.
Wenn Sie beispielsweise logmonitoring.conf unter /etc/opt/microsoft/omsagent/scom/conf/omsagent.d erstellt haben, fügen Sie fluent.conf eine der folgenden Zeilen hinzu:
#Include all configuration files
@include omsagent.d/*.conf
oder
#include single configuration file
@include omsagent.d/logmonitoring.conf
Details zu den Fluentd-Konfigurationsdateien finden Sie in der Fluentd-Konfigurationsdateisyntax. In den folgenden Abschnitten werden Einstellungen in verschiedenen Anweisungen der Konfigurationsdatei beschrieben, die speziell für die Protokolldateiüberwachung gelten. Jeder Abschnitt enthält Beispieleinstellungen, die Sie in eine Konfigurationsdatei einfügen und Ihren Anforderungen entsprechend anpassen können.
Sie können eine vollständige Beispielkonfigurationsdatei für die Protokollüberwachung lesen und auswerten, bevor Sie eine eigene erstellen.
`Source`
Die Source-Anweisung definiert die Quelle der Daten, die Sie sammeln. Darin definieren Sie die Details Ihrer Protokolldatei. Fluentd wählt jeden in die Quelle geschriebenen Datensatz aus und sendet für diesen Datensatz ein Ereignis an die Routing-Engine von Fluentd. Sie müssen in dieser Anweisung ein Tag angeben. Bei dem Tag handelt es sich um eine Zeichenfolge, die als Anweisung für die interne Routing-Engine von Fluentd zum Korrelieren verschiedener Anweisungen verwendet wird.
Dieses Beispiel zeigt Syslog-Datensätze, die zur Verarbeitung durch Operations Manager gesammelt und markiert wurden.
<source>
# Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
type tail
# Specify the log file path. Supports wild cards.
path /var/log/syslog
# Recommended so that Fluentd will record the position it last read into this file.
pos_file /home/user1/fluent-test/demo_syslog.log.pos
# Used to correlate the directives.
tag scom.log.syslog
format /(?<message>.*)/
</source>
Match
Die match-Anweisung definiert, wie von der Quelle gesammelte Ereignisse mit übereinstimmenden Tags verarbeitet werden sollen. Nur Ereignisse mit einem Tag, das dem Muster entspricht, werden an das Ausgabeziel gesendet. Wenn mehrere Muster in einem match-Tag aufgelistet sind, können Ereignisse mit jedem der aufgelisteten Muster übereinstimmen. Der type-Parameter gibt an, welches Plug-In für diese Ereignisse verwendet werden soll.
In diesem Beispiel werden Ereignisse mit Tags verarbeitet, die mit scom.log.** und scom.alert übereinstimmen (** entspricht null oder mehr Tagteilen). Es gibt das out_scom-Plug-In an, mit dem die Ereignisse vom Operations Manager Management Pack gesammelt werden können.
<match scom.log.** scom.event>
# Output plugin to use
type out_scom
log_level trace
num_threads 5
# Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
queue and bottom chunk is written out.
buffer_chunk_limit 5m
flush_interval 15s
# Specifies the buffer plugin to use.
buffer_type file
# Specifies the file path for buffer. Fluentd must have write access to this directory.
buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer
# If queue length exceeds the specified limit, events are rejected.
buffer_queue_limit 10
# Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
buffer_queue_full_action drop_oldest_chunk
# Number of times Fluentd will attempt to write the chunk if it fails.
retry_limit 10
# If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
retry_wait 30s
# The retry wait time doubles each time until max_retry_wait.
max_retry_wait 9m
</match>
Hinweis
Um die Serverauthentifizierung auf den Linux-Computern zu deaktivieren, die Fluentd-Kommunikation nutzen, fügen Sie den Parameter enable_server_auth false zum out_scom-Plug-In für Fluentd hinzu, wie z.B. folgendermaßen:
<match scom.log.** scom.event>
type out_scom
max_retry_wait 9m
enable_server_auth false
</match>
Filter
Die filter-Anweisung weist dieselbe Syntax auf wie match, ermöglicht jedoch eine komplexere Filterung der zu verarbeitenden Daten. Die gesammelten Ereignisse müssen den Kriterien aller Filter entsprechen, die der Ausgabe hinzugefügt werden sollen.
Es gibt sechs Filter-Plug-Ins für die in diesem Artikel beschriebene Protokolldateiüberwachung. Definieren Sie mit einem oder mehreren dieser Filter die Ereignisse, die aus Ihrer Protokolldatei gesammelt werden sollen.
Einfache Übereinstimmung: filter_scom_simple_match
Diese Übereinstimmung nimmt bis zu 20 Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, sobald für ein Muster eine Übereinstimmung gefunden wurde.
<filter tag>
type filter_scom_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Exklusive Übereinstimmung: filter_scom_excl_match
Diese Übereinstimmung nimmt zwei Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, wenn ein einziger Datensatz mit Muster 1 übereinstimmt, jedoch nicht mit Muster 2.
<filter tag>
type filter_scom_excl_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
</filter>
Wiederholte Korrelation: filter_scom_repeated_cor
Diese Korrelation nimmt drei Eingaben auf: ein Muster, ein Zeitintervall und eine Anzahl von Vorkommen. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn das Muster der angegebenen Anzahl von Malen entspricht, bevor der Timer endet.
<filter tag>
type filter_scom_repeated_cor
regexp <key> <pattern>
event_id <event ID>
time_interval <interval in seconds>
num_occurences <number of occurrences>
</filter>
Korrelierte Übereinstimmung: filter_scom_cor_match
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn eine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_cor_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Exklusive Korrelation: filter_scom_excl_correlation
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn keine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_excl_correlation
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Operations Manager-Konverter: filter_scom_converter
Dieser Konverter sendet für alle Datensätze, die er empfängt, ein Ereignis an Operations Manager. Dieser sendet im Rahmen des Ereignisses die angegebene Ereignis-ID und Beschreibung.
<filter tag>
type filter_scom_converter
event_id <event ID>
event_desc <event description>
</filter>
Kopieren der Konfigurationsdatei in den Agent
Die Fluentd-Konfigurationsdatei muss auf allen Linux-Computern, die überwacht werden sollen, in das Verzeichnis unter /etc/opt/microsoft/omsagent/scom/conf/omsagent.d kopiert werden. Außerdem müssen Sie eine @include-Anweisung in die Masterkonfigurationsdatei einfügen, wie oben beschrieben.
Erstellen von Regeln und Monitoren
Das Linux MP stellt keine Module zur Verfügung, um Ereignisse von FluentD zu sammeln. Das Linux MP ist mit dem Linux-Agent gebündelt. Hierbei handelt es sich um das Fluentd-Modul im Linux-Agent und der OMED-Dienst auf dem Verwaltungs- und Gatewayserver, die Funktionen zur erweiterte Protokolldateiüberwachung bereitstellen.
Sie müssen Ihr eigenes Management Pack mit benutzerdefinierten Regeln und Monitoren erstellen, die mit dem Modul Microsoft.Linux.OMED.EventDataSource Ereignisse von Fluentd sammeln.
In der folgenden Tabelle werden die Parameter von Microsoft.Linux.OMED.EventDataSource aufgelistet.
| Parameter | type | BESCHREIBUNG |
|---|---|---|
| Computername | String | Erforderlich. Gibt den Namen des Linux-Computers an, für den Ereignisse gelesen werden sollen. Der ComputerName-Parameter wird am häufigsten mit der Notation „$Target“ an das Modul übergeben, wobei dieser auch als beliebige Zeichenfolge angegeben werden kann. Dieses Modul liest die von dem jeweiligen Linux-Computer generierten Ereignisse. |
| ManagedEntityId | String | Erforderlich. Gibt die ID der verwalteten Entität der überwachten Entität an. Der ManagedEntityId-Parameter wird am häufigsten mit „$Target\Id$“ an das Modul übergeben. |
| EventNumber | Integer | Optional. Gibt die Ereignisnummer des abzurufenden Ereignisses an. Wenn diese Option nicht angegeben ist, gibt das Modul alle für den jeweiligen Computer und die jeweilige verwaltete Entität generierten Ereignisse zurück. |
Übersicht über die Konfiguration
Für die Aktivierung der Protokolldateiüberwachung in Linux-Agents sind folgende Schritte erforderlich. Jeder dieser Schritte wird in den folgenden Abschnitten ausführlich erläutert.
- Importieren Sie das neueste Linux Management Pack.
- Installieren Sie auf jedem zu überwachenden Linux-Computer die neueste Version des Linux-Agents.
- Erstellen Sie eine Fluentd-Konfigurationsdatei, um Protokolle zu sammeln.
- Kopieren Sie die Konfigurationsdatei in Linux-Agents.
- Erstellen Sie mithilfe des Beispiel-Management Packs Regeln und Monitore, um Ereignisse aus dem Protokoll zu sammeln und Warnungen zu erstellen.
Installieren der neuesten Version des Linux-Agents
Die neueste Version des Linux-Agents unterstützt Fluentd, das für die erweiterte Protokolldateiüberwachung erforderlich ist. Details und Informationen zum Installationsprozess für den neuen Agent finden Sie unter Installieren des Agents unter UNIX und Linux über die Befehlszeile.
Konfigurieren der Linux-Protokolldateiüberwachung
Das Linux Management Pack-Paket enthält den neuesten Operations Manager-Agent (mit Fluentd). So konfigurieren Benutzer die Linux-Protokolldateiüberwachung
- Importieren Sie für die Installation eines Management Packs das neueste Linux Management Pack über den Standardprozess.
- Installieren Sie mit dem Ermittlungs-Assistenten oder manuell den neuen Linux-Agent auf den Linux-Servern.
- Aktivieren Sie den OMED-Dienst auf jedem Verwaltungsserver in dem Ressourcenpool, der die Linux-Agents verwaltet.
Der OMED-Dienst sammelt Ereignisse von Fluentd und konvertiert diese in Operations Manager-Ereignisse. Benutzer sollten ein benutzerdefiniertes Management Pack importieren, das basierend auf den Ereignissen, die von den Linux-Servern empfangen werden, Warnungen generieren kann.
Sie aktivieren den OMED-Dienst entweder in der Betriebskonsole oder manuell auf dem Verwaltungsserver oder Gatewayserver.
In der Betriebskonsole
- Navigieren Sie in der Betriebskonsole zu ÜberwachungOperations ManagerVerwaltungsserverZustand von Verwaltungsservern.
- Wählen Sie im Statusbereich Verwaltungsserver den Verwaltungsserver aus.
- Wählen Sie im Bereich Aufgaben die Optionen Aufgaben des IntegritätsdienstsSystem Center-OMED-Server aktivieren.
Manuell
- Klicken Sie auf Starten, Geben Sie im Feld Suche starten den Text services.msc ein, und drücken Sie anschließend die EINGABETASTE.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf den Dienst Externer Datenquellendienst von System Center Operations Manager., und klicken Sie dann auf Eigenschaften.
- Klicken Sie auf der Registerkarte Allgemein auf Start, Automatisch und OK.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf den Dienst, und klicken Sie dann auf Starten.
Erstellen einer Fluentd-Konfigurationsdatei
Mit einer Konfigurationsdatei konfigurieren Sie den Fluentd-Betrieb. Für die Protokollüberwachung müssen Sie eine Konfigurationsdatei erstellen, die Informationen wie den Namen und Pfad der Quellprotokolldatei sowie Filter für die Definition der zu sammelnden Daten enthält.
Die Fluentd-Masterkonfigurationsdatei omsagent.conf befindet sich unter /etc/opt/microsoft/omsagent/scom/conf/. Sie können die Konfiguration der Protokolldateiüberwachung direkt zu dieser Datei hinzufügen, sollten jedoch eine separate Konfigurationsdatei erstellen, um die verschiedenen Einstellungen besser verwalten zu können. Über eine @include-Anweisung in der Masterdatei schließen Sie dann Ihre benutzerdefinierte Datei ein.
Wenn Sie beispielsweise logmonitoring.conf unter /etc/opt/microsoft/omsagent/scom/conf/omsagent.d erstellt haben, fügen Sie fluent.conf eine der folgenden Zeilen hinzu:
#Include all configuration files
@include omsagent.d/*.conf
oder
#include single configuration file
@include omsagent.d/logmonitoring.conf
Details zu den Fluentd-Konfigurationsdateien finden Sie in der Fluentd-Konfigurationsdateisyntax. In den folgenden Abschnitten werden Einstellungen in verschiedenen Anweisungen der Konfigurationsdatei beschrieben, die speziell für die Protokolldateiüberwachung gelten. Jeder Abschnitt enthält Beispieleinstellungen, die Sie in eine Konfigurationsdatei einfügen und Ihren Anforderungen entsprechend anpassen können.
Sie können eine vollständige Beispielkonfigurationsdatei für die Protokollüberwachung lesen und auswerten, bevor Sie eine eigene erstellen.
`Source`
Die Source-Anweisung definiert die Quelle der Daten, die Sie sammeln. Darin definieren Sie die Details Ihrer Protokolldatei. Fluentd wählt jeden in die Quelle geschriebenen Datensatz aus und sendet für diesen Datensatz ein Ereignis an die Routing-Engine von Fluentd. Sie müssen in dieser Anweisung ein Tag angeben. Bei dem Tag handelt es sich um eine Zeichenfolge, die als Anweisung für die interne Routing-Engine von Fluentd zum Korrelieren verschiedener Anweisungen verwendet wird.
Dieses Beispiel zeigt Syslog-Datensätze, die zur Verarbeitung durch Operations Manager gesammelt und markiert wurden.
<source>
# Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in_tail
type tail
# Specify the log file path. Supports wild cards.
path /var/log/syslog
# Recommended so that Fluentd will record the position it last read into this file.
pos_file /home/user1/fluent-test/demo_syslog.log.pos
# Used to correlate the directives.
tag scom.log.syslog
format /(?<message>.*)/
</source>
Match
Die match-Anweisung definiert, wie von der Quelle gesammelte Ereignisse mit übereinstimmenden Tags verarbeitet werden sollen. Nur Ereignisse mit einem Tag, das dem Muster entspricht, werden an das Ausgabeziel gesendet. Wenn mehrere Muster in einem match-Tag aufgelistet sind, können Ereignisse mit jedem der aufgelisteten Muster übereinstimmen. Der type-Parameter gibt an, welches Plug-In für diese Ereignisse verwendet werden soll.
In diesem Beispiel werden Ereignisse mit Tags verarbeitet, die mit scom.log.** und scom.alert übereinstimmen (** entspricht null oder mehr Tagteilen). Es gibt das out_scom-Plug-In an, mit dem die Ereignisse vom Operations Manager Management Pack gesammelt werden können.
<match scom.log.** scom.event>
# Output plugin to use
type out_scom
log_level trace
num_threads 5
# Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
queue and bottom chunk is written out.
buffer_chunk_limit 5m
flush_interval 15s
# Specifies the buffer plugin to use.
buffer_type file
# Specifies the file path for buffer. Fluentd must have write access to this directory.
buffer_path /var/opt/microsoft/omsagent/scom/state/out_scom_common*.buffer
# If queue length exceeds the specified limit, events are rejected.
buffer_queue_limit 10
# Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
buffer_queue_full_action drop_oldest_chunk
# Number of times Fluentd will attempt to write the chunk if it fails.
retry_limit 10
# If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
retry_wait 30s
# The retry wait time doubles each time until max_retry_wait.
max_retry_wait 9m
</match>
Hinweis
Um die Serverauthentifizierung auf den Linux-Computern zu deaktivieren, die Fluentd-Kommunikation nutzen, fügen Sie den Parameter enable_server_auth false zum out_scom-Plug-In für Fluentd hinzu, wie z.B. folgendermaßen:
<match scom.log.** scom.event>
type out_scom
max_retry_wait 9m
enable_server_auth false
</match>
Filter
Die filter-Anweisung weist dieselbe Syntax auf wie match, ermöglicht jedoch eine komplexere Filterung der zu verarbeitenden Daten. Die gesammelten Ereignisse müssen den Kriterien aller Filter entsprechen, die der Ausgabe hinzugefügt werden sollen.
Es gibt sechs Filter-Plug-Ins für die in diesem Artikel beschriebene Protokolldateiüberwachung. Definieren Sie mit einem oder mehreren dieser Filter die Ereignisse, die aus Ihrer Protokolldatei gesammelt werden sollen.
Einfache Übereinstimmung: filter_scom_simple_match
Diese Übereinstimmung nimmt bis zu 20 Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, sobald für ein Muster eine Übereinstimmung gefunden wurde.
<filter tag>
type filter_scom_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Exklusive Übereinstimmung: filter_scom_excl_match
Diese Übereinstimmung nimmt zwei Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, wenn ein einziger Datensatz mit Muster 1 übereinstimmt, jedoch nicht mit Muster 2.
<filter tag>
type filter_scom_excl_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
</filter>
Wiederholte Korrelation: filter_scom_repeated_cor
Diese Korrelation nimmt drei Eingaben auf: ein Muster, ein Zeitintervall und eine Anzahl von Vorkommen. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn das Muster der angegebenen Anzahl von Malen entspricht, bevor der Timer endet.
<filter tag>
type filter_scom_repeated_cor
regexp <key> <pattern>
event_id <event ID>
time_interval <interval in seconds>
num_occurences <number of occurrences>
</filter>
Korrelierte Übereinstimmung: filter_scom_cor_match
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn eine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_cor_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Exklusive Korrelation: filter_scom_excl_correlation
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn keine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_excl_correlation
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Operations Manager-Konverter: filter_scom_converter
Dieser Konverter sendet für alle Datensätze, die er empfängt, ein Ereignis an Operations Manager. Dieser sendet im Rahmen des Ereignisses die angegebene Ereignis-ID und Beschreibung.
<filter tag>
type filter_scom_converter
event_id <event ID>
event_desc <event description>
</filter>
Kopieren der Konfigurationsdatei in den Agent
Die Fluentd-Konfigurationsdatei muss auf allen Linux-Computern, die überwacht werden sollen, in das Verzeichnis unter /etc/opt/microsoft/omsagent/scom/conf/omsagent.d kopiert werden. Außerdem müssen Sie eine @include-Anweisung in die Masterkonfigurationsdatei einfügen, wie oben beschrieben.
Erstellen von Regeln und Monitoren
Das Linux MP stellt keine Module zur Verfügung, um Ereignisse von FluentD zu sammeln. Das Linux MP ist mit dem Linux-Agent gebündelt. Hierbei handelt es sich um das Fluentd-Modul im Linux-Agent und der OMED-Dienst auf dem Verwaltungs- und Gatewayserver, die Funktionen zur erweiterte Protokolldateiüberwachung bereitstellen.
Sie müssen Ihr eigenes Management Pack mit benutzerdefinierten Regeln und Monitoren erstellen, die mit dem Modul Microsoft.Linux.OMED.EventDataSource Ereignisse von Fluentd sammeln.
In der folgenden Tabelle werden die Parameter von Microsoft.Linux.OMED.EventDataSource aufgelistet.
| Parameter | type | BESCHREIBUNG |
|---|---|---|
| Computername | String | Erforderlich. Gibt den Namen des Linux-Computers an, für den Ereignisse gelesen werden sollen. Der ComputerName-Parameter wird am häufigsten mit der Notation „$Target“ an das Modul übergeben, wobei dieser auch als beliebige Zeichenfolge angegeben werden kann. Dieses Modul liest die von dem jeweiligen Linux-Computer generierten Ereignisse. |
| ManagedEntityId | String | Erforderlich. Gibt die ID der verwalteten Entität der überwachten Entität an. Der ManagedEntityId-Parameter wird am häufigsten mit „$Target\Id$“ an das Modul übergeben. |
| EventNumber | Integer | Optional. Gibt die Ereignisnummer des abzurufenden Ereignisses an. Wenn diese Option nicht angegeben ist, gibt das Modul alle für den jeweiligen Computer und die jeweilige verwaltete Entität generierten Ereignisse zurück. |
Übersicht über die Konfiguration
Für die Protokolldateiüberwachung sind die unten angegebenen Schritte erforderlich. Ausführliche Informationen hierzu finden Sie in den folgenden Abschnitten:
- Importieren Sie das neueste Linux Management Pack.
- Installieren Sie auf jedem zu überwachenden Linux-Computer die neueste Version des Linux-Agents.
- Installieren Sie auf jedem zu überwachenden Linux-Computer den aktuellen OMS-Agent.
- Erstellen Sie eine Fluentd-Konfigurationsdatei, um Protokolle zu sammeln.
- Kopieren Sie die Konfigurationsdatei in Linux-Agents.
- Erstellen Sie mithilfe des Beispiel-Management Packs Regeln und Monitore, um Ereignisse aus dem Protokoll zu sammeln und Warnungen zu erstellen.
Installieren des Management Pack für die Protokollüberwachung
Installieren Sie unter Operations Manager 2019 das Management Pack Microsoft.Linux.Log.Monitoring, um die Linux-Protokolldateiüberwachung zu aktivieren.
Hinweis
Wenn Sie den OMS-Agent konfiguriert haben und den UNIX- und LINUX-Agent über die Konsole deinstallieren möchten, wird die OMS-Komponente nicht vom Agent deinstalliert.
Konfigurieren der Linux-Protokolldateiüberwachung
Gehen Sie zum Konfigurieren der Linux-Protokolldateiüberwachung wie folgt vor:
Importieren Sie für die Installation eines Management Packs das neueste Linux Management Pack per Standardprozess.
Installieren Sie den neuen Linux-Agent auf den Linux-Servern manuell oder mit dem Discovery-Assistenten.
Installieren Sie auf jedem Linux-Computer, den Sie überwachen möchten, den aktuellen OMS-Agent.
Verwenden Sie die folgenden Befehle:
wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard\_agent.sh sh onboard_agent.shGehen Sie auf dem Linux-Agent folgendermaßen vor:
Erstellen Sie die Ordner unter den folgenden Pfaden:
/etc/opt/microsoft/omsagent/scom/conf/omsagent.d
/etc/opt/microsoft/omsagent/scom/certs
/var/opt/microsoft/omsagent/scom/log
/var/opt/microsoft/omsagent/scom/run
/var/opt/microsoft/omsagent/scom/state
/var/opt/microsoft/omsagent/scom/tmp
/home/omsagent/fluent-logging (wird für die Positionsdatei der Protokolldatei verwendet)
Legen Sie den Besitzer für die obigen Orte jeweils auf „omsagent:omiusers“ fest.
chown omsagent:omiusers state
chown omsagent:omiusers run
chown omsagent:omiusers log
chown omsagent:omiusers tmp
chown omsagent:omiusers /home/omsagent/fluent-logging

Aktivieren des OMED-Diensts
Aktivieren Sie den OMED-Dienst auf jedem Verwaltungsserver in dem Ressourcenpool, der die Linux-Agents verwaltet.
Der OMED-Dienst sammelt Ereignisse von Fluentd und konvertiert diese in Operations Manager-Ereignisse. Sie importieren ein benutzerdefiniertes Management Pack, das basierend auf den Ereignissen, die von den Linux-Servern empfangen werden, Warnungen generieren kann.
Sie können den OMED-Dienst entweder in der Betriebskonsole oder manuell auf dem Verwaltungsserver oder Gatewayserver aktivieren.
Aktivieren des OMED-Diensts über die Betriebskonsole
- Navigieren Sie in der Betriebskonsole zu ÜberwachungOperations ManagerVerwaltungsserverVerwaltungsserverstatus.
- Wählen Sie unter Verwaltungsserverstatus den Verwaltungsserver aus.
- Wählen Sie unter Aufgaben die Option Aufgaben des IntegritätsdienstsSystem Center-OMED-Server aktivieren aus.
Manuelles Aktivieren des OMED-Diensts
- Klicken Sie im Feld Suche starten auf Starten, geben Sie den Text services.msc ein, und drücken Sie anschließend die EINGABETASTE.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf den Dienst Externer Datenquellendienst von System Center Operations Manager., und klicken Sie dann auf Eigenschaften.
- Klicken Sie unter Allgemein für die Option Start auf Automatisch und anschließend auf OK.
- Klicken Sie im Detailbereich mit der rechten Maustaste auf Dienst und dann auf Starten.
Generieren eines neuen Clientzertifikats für Fluentd
/opt/microsoft/scx/bin/tools/scxsslconfig -c -g /etc/opt/microsoft/omsagent/scom/certs/
Hinweis
Das neue Zertifikat muss vom Verwaltungsserver signiert werden. Kopieren Sie es hierfür auf den Verwaltungsserver. Signieren Sie das Zertifikat mit scxcertconfig -sign, und kopieren Sie es zurück auf den Linux-Agent.
Benennen Sie die Zertifikate auf der Linux-Seite um:
„omi-host-server.domain.pem“ in „scom-cert.pem“
„omikey.pem“ in „scom-key.pem“
Ändern Sie den Besitzer der Zertifikatsdatei:
chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem
chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Erstellen einer Fluentd-Konfigurationsdatei
Sie konfigurieren den Fluentd-Vorgang mit einer Konfigurationsdatei. Erstellen Sie für die Protokollüberwachung eine Konfigurationsdatei mit bestimmten Informationen, z. B. Name, Pfad und Filter der Quellprotokolldatei, um die zu erfassenden Daten festzulegen.
Die Fluentd-Masterkonfigurationsdatei omsagent.conf befindet sich unter /etc/opt/microsoft/omsagent/scom/conf/. Sie können die Konfiguration der Protokolldateiüberwachung direkt dieser Datei hinzufügen, aber Sie sollten eine separate Konfigurationsdatei erstellen, um die verschiedenen Einstellungen besser verwalten zu können. Über eine @include-Anweisung in der Masterdatei schließen Sie dann Ihre benutzerdefinierte Datei ein.
Wenn Sie beispielsweise logmonitoring.conf unter /etc/opt/microsoft/omsagent/scom/conf/omsagent.d erstellt haben, fügen Sie der Datei omsagent.d eine der folgenden Zeilen hinzu:
#Include all configuration files
@include omsagent.d/*.conf
oder
#include single configuration file
@include omsagent.d/logmonitoring.conf
Weitere Informationen zu Fluentd-Konfigurationsdateien finden Sie in der Fluentd-Konfigurationsdateisyntax.
In den folgenden Abschnitten werden Einstellungen in verschiedenen Anweisungen der Konfigurationsdatei beschrieben, die speziell für die Protokolldateiüberwachung gelten. Jeder Abschnitt enthält Beispieleinstellungen, die Sie in eine Konfigurationsdatei einfügen und Ihren Anforderungen entsprechend anpassen können.
Sie können eine vollständige Beispielkonfigurationsdatei für die Protokollüberwachung lesen und auswerten, bevor Sie eine eigene erstellen.
`Source`
Die Source-Anweisung definiert die Quelle der Daten, die Sie sammeln. Darin definieren Sie die Details Ihrer Protokolldatei. Fluentd wählt jeden in die Quelle geschriebenen Datensatz aus und sendet für diesen Datensatz ein Ereignis an die Routing-Engine von Fluentd. Geben Sie hier in dieser Anweisung ein Tag an. Beim Tag handelt es sich um eine Zeichenfolge, die als Anweisung für die interne Routing-Engine von Fluentd zum Korrelieren verschiedener Anweisungen verwendet wird.
Im folgenden Beispiel sind Syslog-Datensätze dargestellt, die zur Verarbeitung durch Operations Manager gesammelt und markiert werden.
<source>
# Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
type tail
# Specify the log file path. Supports wild cards.
path /var/log/syslog
# Recommended so that Fluentd will record the position it last read into this file.
pos_file /home/user1/fluent-test/demo_syslog.log.pos
# Used to correlate the directives.
tag scom.log.syslog
format /(?<message>.*)/
</source>
Filter
Die filter-Anweisung weist dieselbe Syntax wie Match auf, ermöglicht aber eine komplexere Filterung der zu verarbeitenden Daten. Die gesammelten Ereignisse müssen den Kriterien aller Filter entsprechen, die der Ausgabe hinzugefügt werden sollen.
Es gibt sechs Filter-Plug-Ins für die in diesem Artikel beschriebene Protokolldateiüberwachung. Definieren Sie mit einem oder mehreren dieser Filter die Ereignisse, die aus Ihrer Protokolldatei gesammelt werden sollen.
Einfache Übereinstimmung: filter_scom_simple_match
Diese Übereinstimmung nimmt bis zu 20 Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, sobald für ein Muster eine Übereinstimmung gefunden wurde.
<filter tag>
type filter_scom_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Exklusive Übereinstimmung: filter_scom_excl_match
Diese Übereinstimmung nimmt zwei Eingabemuster auf. Diese sendet ein Ereignis an Operations Manager, wenn ein einziger Datensatz mit Muster 1 übereinstimmt, jedoch nicht mit Muster 2.
<filter tag>
type filter_scom_excl_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
</filter>
Wiederholte Korrelation: filter_scom_repeated_cor
Es werden drei Eingaben verwendet: ein Muster, ein Zeitintervall und die Anzahl von Vorkommen. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn das Muster der angegebenen Anzahl entspricht, bevor der Timer endet.
<filter tag>
type filter_scom_repeated_cor
regexp <key> <pattern>
event_id <event ID>
time_interval <interval in seconds>
num_occurences <number of occurrences>
</filter>
Korrelierte Übereinstimmung: filter_scom_cor_match
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn eine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_cor_match
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Exklusive Korrelation: filter_scom_excl_correlation
Diese Übereinstimmung nimmt drei Eingaben auf: zwei Muster und ein Zeitintervall. Wenn eine Übereinstimmung für das erste Muster gefunden wurde, startet ein Timer. Es wird ein Ereignis an Operations Manager gesendet, wenn keine Übereinstimmung für das zweite Muster gefunden wurde, bevor der Timer endet.
<filter tag>
type filter_scom_excl_correlation
regexp1 <key> <pattern1>
regexp2 <key> <pattern2>
event_id <event ID>
time_interval <interval in seconds>
</filter>
Operations Manager-Konverter: filter_scom_converter
Dieser Konverter sendet für alle Datensätze, die er empfängt, ein Ereignis an Operations Manager. Dieser sendet im Rahmen des Ereignisses die angegebene Ereignis-ID und Beschreibung.
<filter tag>
type filter_scom_converter
event_id <event ID>
event_desc <event description>
</filter>
Match
Die match-Anweisung definiert, wie von der Quelle gesammelte Ereignisse mit übereinstimmenden Tags verarbeitet werden sollen. Nur Ereignisse mit einem Tag, das dem Muster entspricht, werden an das Ausgabeziel gesendet. Wenn mehrere Muster in einem match-Tag aufgelistet sind, können Ereignisse mit jedem der aufgelisteten Muster übereinstimmen. Der Parameter type gibt an, welche Art von Plug-In für diese Ereignisse verwendet werden soll.
In diesem Beispiel werden Ereignisse mit Tags verarbeitet, die mit scom.log.** und scom.alert übereinstimmen (** entspricht null oder mehr Tagteilen). Es gibt das out_scom-Plug-In an, mit dem die Ereignisse vom Operations Manager Management Pack gesammelt werden können.
<match scom.log.** scom.event>
# Output plugin to use
type out_scom
log_level trace
num_threads 5
# Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush\_interval, a new empty chunk is pushed to the top of the
queue and bottom chunk is written out.
buffer_chunk_limit 5m
flush_interval 15s
# Specifies the buffer plugin to use.
buffer_type file
# Specifies the file path for buffer. Fluentd must have write access to this directory.
buffer_path /var/opt/microsoft/omsagent/scom/state/out\_scom\_common\*.buffer
# If queue length exceeds the specified limit, events are rejected.
buffer_queue_limit 10
# Control the buffer behavior when the queue becomes full: exception, block, drop\_oldest\_chunk
buffer_queue_full_action drop_oldest_chunk
# Number of times Fluentd will attempt to write the chunk if it fails.
retry_limit 10
# If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry\_wait seconds
retry_wait 30s
# The retry wait time doubles each time until max\_retry\_wait.
max_retry_wait 9m
</match>
Hinweis
Um die Serverauthentifizierung auf den Linux-Computern zu deaktivieren, auf denen die Fluentd-Kommunikation verwendet wird, fügen Sie dem Operations Manager-Plug-In für Fluentd den Parameter enable_server_auth false hinzu. Beispiel:
<match scom.log.** scom.event>
type out_scom
max_retry_wait 9m
enable_server_auth false
</match>
Kopieren der Konfigurationsdatei in den Agent
Die Fluentd-Konfigurationsdatei muss auf allen Linux-Computern, die überwacht werden sollen, in das Verzeichnis /etc/opt/microsoft/omsagent/scom/conf/omsagent.d kopiert werden. Außerdem müssen Sie eine @include-Anweisung in die Masterkonfigurationsdatei einfügen, wie oben beschrieben.
Neustarten von omsagent
/opt/microsoft/omsagent/bin/service_control restart
Hinweis
Stellen Sie auf dem Verwaltungsserver, auf dem der OMED-Dienst ausgeführt wird, Folgendes sicher: Die Firewall an Port 8886 ist geöffnet, und der Zertifikatspeicher für Zwischenzertifizierungsstellen enthält nur Zwischenzertifizierungsstellen.
Erstellen von Regeln und Monitoren
Mit dem Linux Management Pack werden keine Module zum Erfassen von Ereignissen aus FluentD bereitgestellt, sondern es ist mit dem Linux-Agent in einem Paket enthalten. Hierbei handelt es sich um das Fluentd-Modul im Linux-Agent und der OMED-Dienst auf dem Verwaltungs- und Gatewayserver, die Funktionen zur erweiterte Protokolldateiüberwachung bereitstellen.
Sie müssen Ihr eigenes Management Pack mit benutzerdefinierten Regeln und Monitoren erstellen, damit mit dem Modul Microsoft.Linux.OMED.EventDataSource Ereignisse von Fluentd erfasst werden.
In der folgenden Tabelle werden die Parameter von Microsoft.Linux.OMED.EventDataSource aufgelistet.
| Parameter | type | BESCHREIBUNG |
|---|---|---|
| Computername | String | Erforderlich. Gibt den Namen des Linux-Computers an, für den Ereignisse gelesen werden sollen. Der ComputerName-Parameter wird am häufigsten mit der Notation „$Target“ an das Modul übergeben, wobei dieser auch als beliebige Zeichenfolge angegeben werden kann. Dieses Modul liest die von dem jeweiligen Linux-Computer generierten Ereignisse. |
| ManagedEntityId | String | Erforderlich. Gibt die ID der verwalteten Entität der überwachten Entität an. Der ManagedEntityId-Parameter wird am häufigsten mit „$Target\Id$“ an das Modul übergeben. |
| EventNumber | Integer | Optional. Gibt die Ereignisnummer des abzurufenden Ereignisses an. Wenn diese Option nicht angegeben ist, gibt das Modul alle Ereignisse zurück, die für den jeweiligen Computer und die jeweilige verwaltete Entität generiert werden. |
Nächste Schritte
Um eine benutzerdefinierte Ansicht zum Überprüfen der Überwachungsdaten aus Ihrem benutzerdefinierten Protokolldatei-Management Pack zu erstellen, lesen Sie Verwenden von Ansichten in Operations Manager.
Lesen Sie Anzeigen von aktiven Warnungen und Details, um zu erfahren, wie Sie Probleme untersuchen, die Ihr benutzerdefiniertes Protokolldatei-Management Pack identifiziert.