Monitorování souborů protokolu Linuxu v nástroji System Center Operations Manager
Poznámka:
System Center Operations Manager nebude podporovat monitorování souboru protokolu založeného na fluentD při vyřazení agenta OMS, které je naplánované na srpen 2024.
System Center Operations Manager teď nabízí vylepšené možnosti monitorování souborů protokolu pro servery s Linuxem pomocí nejnovější verze agenta, který používá Fluentd. Tato aktualizace poskytuje následující vylepšení oproti předchozímu monitorování souborů protokolu:
- Zástupné znaky v názvu a cestě souboru protokolu
- Nové vzory shody pro přizpůsobitelné prohledávání protokolů, jako je jednoduchá shoda, exkluzivní shoda, korelace, opakovaná korelace a exkluzivní korelace.
- Podpora obecných modulů plug-in Fluentd publikovaných komunitou Fluentd
Základní operace
Základní operace monitorování souborů protokolu v Linuxu zahrnuje následující kroky:
- Záznam se zapíše do protokolu agenta Linuxu.
- Fluentd shromažďuje záznam a vytváří událost podle shody vzorů.
- Událost se odešle do služby OMED na serveru pro správu a zaprotokoluje se do protokolu událostí služby System Center OMED na serveru pro správu. (Protokol událostí služby System Center OMED se vytvoří pouze v případě, že byla událost úspěšně odeslána z agenta Fluentd).
- Pravidla a monitorování ve vlastní sadě Management Pack shromažďují události a vytvářejí výstrahy v Operations Manageru.
Přehled konfigurace
Monitorování souborů protokolu vyžaduje následující kroky. Podrobné informace najdete v následujících částech:
- Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2019 Pro Linux.
- Nainstalujte nejnovější verzi agenta Linuxu na každý počítač s Linuxem, který se má monitorovat.
- Nainstalujte nejnovější agenta OMSAgent na každý počítač s Linuxem, který se má monitorovat.
- Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
- Zkopírujte konfigurační soubor do agentů Linuxu.
- Vytvořte pravidla a monitorování pomocí ukázkové sady Management Pack ke shromažďování událostí z protokolu a vytváření upozornění.
- Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2022 Linux.
- Nainstalujte nejnovější verzi agenta Linuxu na každý počítač s Linuxem, který se má monitorovat.
- Nainstalujte nejnovější agenta OMSAgent na každý počítač s Linuxem, který se má monitorovat.
- Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
- Zkopírujte konfigurační soubor do agentů Linuxu.
- Vytvořte pravidla a monitorování pomocí ukázkové sady Management Pack ke shromažďování událostí z protokolu a vytváření upozornění.
Instalace sady Management Pack pro monitorování protokolů
Nainstalujte sadu Management Pack Microsoft.Linux.Log.Monitoring a povolte monitorování souborů protokolu Linuxu.
Poznámka:
Pokud máte nakonfigurovaného agenta OMS a pokusíte se odinstalovat agenta systému UNIX a LINUX z konzoly, komponenta OMS se z agenta neodinstaluje.
Konfigurace monitorování souborů protokolu Linuxu
Pokud chcete nakonfigurovat monitorování souborů protokolu Linuxu, proveďte následující kroky:
Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2019 pro Linux pomocí standardního procesu instalace sady Management Pack.
Nainstalujte nového linuxového agenta na servery s Linuxem ručně nebo [pomocí průvodce zjišťováním](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Nainstalujte nejnovější OMSAgent na každý počítač s Linuxem, který chcete monitorovat. Použijte následující příkazy:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
V agentu linuxu proveďte následující kroky:
Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2022 Linux pomocí standardního procesu instalace sady Management Pack.
Nainstalujte nového linuxového agenta na servery s Linuxem ručně nebo [pomocí průvodce zjišťováním](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Nainstalujte nejnovější OMSAgent na každý počítač s Linuxem, který chcete monitorovat. Použijte následující příkazy:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
V agentu linuxu proveďte následující kroky:
Pomocí následujících příkazů vytvořte složky v následujících cestách:
# Create omsagent.d folder mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d # Create certs folder mkdir /etc/opt/microsoft/omsagent/scom/certs # Create log folder mkdir -p /var/opt/microsoft/omsagent/scom/log # Create run folder mkdir /var/opt/microsoft/omsagent/scom/run # Create state folder mkdir /var/opt/microsoft/omsagent/scom/state # Create tmp folder mkdir /var/opt/microsoft/omsagent/scom/tmp # Create fluent-logging folder (used for log file position file, this location is flexible) mkdir -p /home/omsagent/fluent-logging
U každé z výše uvedených složek
omsagent:omiusers
nastavte vlastnictví na:# Change owner of System Center Operations Manager folder chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom # Change owner of log folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log # Change owner of run folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run # Change owner of state folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state # Change owner of tmp folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp # Change owner of fluent-logging folder (used for log file position file, this location is flexible) chown omsagent:omiusers /home/omsagent/fluent-logging
Vytvořte soubory omsagent a omsconfig:
# Create omsadmin.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Create omsagent.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
U každého z výše uvedených souborů nastavte vlastnictví na
omsagent:omiusers
:# Change owner of omsadmin.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Change owner of omsagent.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
Upravte soubor
/etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
a po změně zvýrazněných informací přidejte následující informace.WORKSPACE_ID=scom System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886 MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
Restartujte agenta OMSAgent:
/opt/microsoft/omsagent/bin/service_control restart
Ověřte stav v protokolu omsagent:
tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
Povolení služby OMED
Povolte službu OMED na každém serveru pro správu ve fondu zdrojů a spravujte agenty Linuxu.
Služba OMED shromažďuje události z fluentdu a převádí je na události Operations Manageru. Naimportujete vlastní sadu Management Pack, která může generovat výstrahy na základě událostí přijatých ze serverů s Linuxem.
Službu OMED můžete povolit buď z konzoly Operations Console, nebo ručně na serveru pro správu nebo serveru brány.
- V konzole Operations Console přejděte do >stavu serverů pro správu serveru pro správu>nástroje Operations Manager.>
- Vyberte server pro správu ve stavu Servery pro správu.
- V části Úlohy vyberte Úlohy>služby Health Service Enable System Center OMED Server.
Přidání pravidla brány firewall OMED
Pokud chcete povolit pravidlo brány firewall OMED, máte dvě možnosti, buď přidejte port (TCP/8886) automaticky přes PowerShell nebo ručně.
- Automatické přidání pravidla pomocí PowerShellu
- Ruční přidání pravidla pomocí brány Windows Firewall
Pokud chcete automaticky přidat pravidlo pomocí PowerShellu, postupujte takto:
Následující příkaz umožňuje automaticky přidat pravidlo brány firewall:
Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886
Přiřazení klientského certifikátu pro OMSAgent
Při přiřazování klientského certifikátu pro OMSAgent máte dvě možnosti.
- Propojení s podepsaným certifikátem z agenta OMI
- Ručně vygenerujte klientský certifikát pro agenta OMS.
Vyberte požadovanou kartu pro kroky pro propojení s podepsaným certifikátem z agenta OMI nebo ruční vygenerování klientského certifikátu z agenta OMS:
Nastavte vlastnictví souboru
omi.pem
naomikey.pem
omsagent:omiusers
:# Change owner of System Center Operations Manager-cert.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Change owner of System Center Operations Manager-key.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Spuštěním následujícího příkazu na počítači s Linuxem nastavte klientský certifikát agenta OMS na certifikát OMI (certifikát agenta Operations Manageru pro Linux):
# Link file omi.pem to System Center Operations Manager-cert.pem ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Link file omikey.pem to System Center Operations Manager-key.pem ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Vytvoření konfiguračního souboru Fluentd
Operaci Fluentd nakonfigurujete pomocí konfiguračního souboru. Pokud chcete využívat monitorování protokolů, musíte vytvořit konfigurační soubor. Konfigurační soubor obsahuje informace, jako je název zdrojového souboru protokolu, cesta a filtry pro definování dat, která se mají shromažďovat.
Hlavní konfigurační soubor Fluentd omsagent.conf je umístěn v /etc/opt/microsoft/omsagent/scom/conf/
. Do tohoto souboru můžete přímo přidat konfiguraci monitorování souborů protokolu, ale měli byste vytvořit samostatný konfigurační soubor, který bude lépe spravovat různá nastavení. Potom použijete direktivu @include v hlavním souboru k zahrnutí vlastního souboru.
Pokud jste například vytvořili logmonitoring.conf v /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
souboru omsagent.d, přidali byste do souboru omsagent.d jeden z následujících řádků:
# Include all configuration files
@include omsagent.d/*.conf
nebo
# Include single configuration file
@include omsagent.d/logmonitoring.conf
Další informace o konfiguračních souborech Fluentd naleznete v tématu Syntaxe konfiguračního souboru Fluentd.
Následující části popisují nastavení v různých direktivách konfiguračního souboru, které jsou jedinečné pro monitorování souborů protokolu. Každá z nich zahrnuje ukázková nastavení, která můžete vložit do konfiguračního souboru a upravit pro vaše požadavky.
Kompletní ukázkový konfigurační soubor pro monitorování protokolů je k dispozici ke kontrole a vyhodnocení před vytvořením vlastního souboru.
Zdroj
Direktiva Source definuje zdroj dat, která shromažďujete, kde definujete podrobnosti souboru protokolu. Fluentd vybere každý záznam napsaný do zdroje a odešle pro něj událost do směrovacího modulu Fluentd. Zde zadejte značku v této direktivě. Značka je řetězec, který se používá jako směry pro interní směrovací modul Fluentd ke korelaci různých direktiv.
Následující příklad ukazuje záznamy syslog shromážděné a označené ke zpracování nástrojem Operations Manager.
<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 System Center Operations Manager.log.syslog
format /(?<message>.*)/
</source>
Filtrovat
Direktiva filtru má stejnou syntaxi jako Shoda , ale umožňuje složitější filtrování dat, která se mají zpracovat. Shromážděné události musí odpovídat kritériím všech filtrů, které se mají přidat do výstupu.
Tady je popsáno šest modulů plug-in filtru pro monitorování souborů protokolu. Pomocí jednoho nebo více těchto filtrů definujte události, které chcete shromažďovat ze souboru protokolu.
- Jednoduchá shoda: Manager_simple_match operations filter_System Center
- Exkluzivní shoda: filter_System Center Operations Manager_excl_match
- Opakovaná korelace: Manager_repeated_cor operations filter_System Center
- Korelovaná shoda: Manager_cor_match operations filter_System Center
- Exkluzivní korelace: filter_System Center Operations Manager_excl_correlation
- Převaděč operations manageru: filter_System Center Operations Manager_converter
Vyberte požadovanou kartu pro zkopírování kódu pro příslušný modul plug-in filtru:
- Jednoduchá shoda
- Exkluzivní shoda
- Opakovaná korelace
- Korelovaná shoda
- Exkluzivní korelace
- Převaděč operations manageru
Zabírá až 20 vstupních vzorů. Odešle do Operations Manageru událost pokaždé, když se porovná jakýkoli vzor.
<filter tag>
type filter_System Center Operations Manager_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Párování
Direktiva shody definuje, jak zpracovávat události shromážděné ze zdroje s odpovídajícími značkami. Do výstupního cíle se odesílají pouze události se značkou odpovídající vzoru. Pokud je uvnitř jedné značky shody uvedeno více vzorů, můžou události odpovídat libovolnému z uvedených vzorů. Parametr typu určuje typ modulu plug-in, který se má pro tyto události použít.
Tento příklad zpracovává události se značkami odpovídajícími system center operations Manager.log. ** a System Center Operations Manager.alert (** odpovídají nule nebo více částí značek). Určuje modul plug-in out_System Center Operations Manager , který umožňuje shromažďování událostí sadou Management Pack operations Manageru.
<match System Center Operations Manager.log.** System Center Operations Manager.event>
# Output plugin to use
type out_System Center Operations Manager
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_System Center Operations Manager_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>
Poznámka:
Pokud chcete zakázat ověřování serveru na počítačích s Linuxem, které používají komunikaci Fluentd, přidejte parametr enable_server_auth false do modulu plug-in Operations Manageru pro Fluentd, například následující:
<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager
max_retry_wait 9m
enable_server_auth false
</match>
Kopírování konfiguračního souboru do agenta
Konfigurační soubor Fluentd se musí zkopírovat do složky /etc/opt/microsoft/omsagent/scom/conf/omsagent.d ve všech počítačích s Linuxem, které chcete monitorovat. Musíte také přidat direktivu do hlavního konfiguračního @include souboru, jak je popsáno výše.
Restartování agenta omsagent
Spuštěním následujícího příkazu můžete restartovat agenta omsagent:
/opt/microsoft/omsagent/bin/service_control restart
Kontrola stavu pracovního prostoru nástroje System Center Operations Manager
Spuštěním následujícího příkazu zkontrolujte pracovní prostor nástroje System Center Operations Manager v agentu OMSAgent:
sh /opt/microsoft/omsagent/bin/omsadmin.sh -l
Poznámka:
Na serveru pro správu se službou OMED se ujistěte, že je brána firewall na portu 8886 otevřená a že úložiště certifikátů zprostředkujících certifikačních autorit obsahuje jenom zprostředkující certifikační autority.
Protokol událostí pro externí službu Zdroje dat nástroje System Center Operations Manager
Protokol událostí služby System Center OMED se vytvoří pouze v případě, že se úspěšně odešle událost do služby OMED (External DataSource Service) nástroje System Center Operations Manager.
Vytváření pravidel a monitorování
Sada Management Pack pro Linux neposkytuje moduly ke shromažďování událostí z fluentD. Sada Management Pack pro Linux je součástí agenta Linuxu. Je to modul fluentd v agentovi Linuxu a službě OMED na serveru pro správu a bránu, který poskytuje možnosti pro rozšířené monitorování souborů protokolu.
Potřebujete vytvořit vlastní sadu Management Pack s vlastními pravidly a monitorováními, které používají modul Microsoft.Linux.OMED.EventDataSource ke shromažďování událostí z Fluentdu. Mějte na paměti, že název počítače v události odeslané prostřednictvím protokolu událostí služby System Center OMED musí odpovídat názvu počítače v zobrazení počítače se systémem UNIX/Linux. Pokud se název počítače neshoduje, nezobrazí se žádná výstraha.
Následující tabulka uvádí parametry Microsoft.Linux.OMED.EventDataSource.
Parametr | Typ | Popis |
---|---|---|
ComputerName | String | Povinný: Určuje název počítače s Linuxem, pro který se mají události číst. Parametr ComputerName se nejčastěji předává modulu pomocí zápisu $Target, i když ho lze zadat jako libovolný řetězec. Tento modul se pokusí přečíst události generované daným počítačem s Linuxem. |
ManagedEntityId | String | Povinný: Určuje ID spravované entity monitorované entity. Parametr ManagedEntityId se nejčastěji předává modulu pomocí $Target\Id$. |
EventNumber | Celé číslo | Nepovinné. Určuje číslo události, která se má načíst. Pokud tuto možnost vynecháte, modul vrátí všechny události vygenerované pro daný počítač a spravovanou entitu. |
Další kroky
Pokud chcete vytvořit vlastní zobrazení pro kontrolu dat monitorování z vlastní sady Management Pack souborů protokolu, přečtěte si téma Použití zobrazení v Operations Manageru.
Informace o tom, jak prozkoumat problémy zjištěné vaší vlastní sadou Management Pack souborů protokolu, najdete v tématu Zobrazení aktivních výstrah a podrobností.