Sdílet prostřednictvím


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:

  1. Záznam se zapíše do protokolu agenta Linuxu.
  2. Fluentd shromažďuje záznam a vytváří událost podle shody vzorů.
  3. 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).
  4. 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:

  1. Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2019 Pro Linux.
  2. Nainstalujte nejnovější verzi agenta Linuxu na každý počítač s Linuxem, který se má monitorovat.
  3. Nainstalujte nejnovější agenta OMSAgent na každý počítač s Linuxem, který se má monitorovat.
  4. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  5. Zkopírujte konfigurační soubor do agentů Linuxu.
  6. 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í.
  1. Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2022 Linux.
  2. Nainstalujte nejnovější verzi agenta Linuxu na každý počítač s Linuxem, který se má monitorovat.
  3. Nainstalujte nejnovější agenta OMSAgent na každý počítač s Linuxem, který se má monitorovat.
  4. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  5. Zkopírujte konfigurační soubor do agentů Linuxu.
  6. 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:

  1. Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2019 pro Linux pomocí standardního procesu instalace sady Management Pack.

  2. 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).

  3. 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:

  1. Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2022 Linux pomocí standardního procesu instalace sady Management Pack.

  2. 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).

  3. 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:

  1. 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
    
  2. U každé z výše uvedených složek omsagent:omiusersnastavte 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
    

    Snímek obrazovky s monitorováním souborů protokolu

  3. 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
    
  4. 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
    
  5. Upravte soubor /etc/opt/microsoft/omsagent/scom/conf/omsadmin.confa 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}
    
  6. Restartujte agenta OMSAgent:

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. 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.

  1. V konzole Operations Console přejděte do >stavu serverů pro správu serveru pro správu>nástroje Operations Manager.>
  2. Vyberte server pro správu ve stavu Servery pro správu.
  3. 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ě.

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.

  1. Propojení s podepsaným certifikátem z agenta OMI
  2. 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:

  1. Nastavte vlastnictví souboru omi.pem na omikey.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
    
  2. 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.dsouboru 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:

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