Monitorování souboru protokolu linuxu v nástroji System Center Operations Manager

Důležité

Tato verze Operations Manageru dosáhla konce podpory. Doporučujeme upgradovat na Operations Manager 2022.

Poznámka

System Center Operations Manager při vyřazení agenta OMS z provozu, které je naplánované na srpen 2024, nepodporuje monitorování souborů protokolu založené na fluentD.

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, korelovaná shoda, 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 pro Linux.
  2. Fluentd shromáždí záznam a vytvoří událost na základě shody vzoru.
  3. Událost se odešle do služby OMED na serveru pro správu a protokoluje 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

Následující kroky jsou potřeba k povolení monitorování souborů protokolu na linuxových agentech. Každý z těchto kroků je podrobně popsán v následujících částech.

  1. Importujte nejnovější sadu Management Pack pro Linux.
  2. Nainstalujte nejnovější verzi linuxového agenta na každý počítač s Linuxem, který chcete monitorovat.
  3. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  4. Zkopírujte konfigurační soubor do linuxových agentů.
  5. Pomocí ukázkové sady Management Pack můžete vytvářet pravidla a monitorování ke shromažďování událostí z protokolu a vytváření výstrah.

Instalace nejnovější verze agenta pro Linux

Nejnovější verze agenta pro Linux podporuje Fluentd, která se vyžaduje pro rozšířené monitorování souborů protokolu. Podrobnosti a proces instalace nového agenta najdete v tématu Instalace agenta v systémech UNIX a Linux z příkazového řádku.

Konfigurace monitorování souborů protokolu v Linuxu

Sada Management Pack pro Linux obsahuje nejnovějšího agenta Operations Manageru (s Fluentd). Při konfiguraci monitorování souborů protokolu Linuxu by uživatelé měli provést následující:

  1. Importujte nejnovější sadu Management Pack pro Linux pomocí standardního procesu instalace sady Management Pack.
  2. Nainstalujte nového agenta pro Linux na servery s Linuxem. Můžete to provést pomocí průvodce zjišťováním nebo ručně.
  3. Povolte službu OMED na každém serveru pro správu ve fondu zdrojů, který spravuje agenty Linuxu.

Služba OMED shromažďuje události z Fluentd a převádí je na události Operations Manageru. Uživatelé by měli importovat 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.

Z konzoly Operations Console

  1. V konzole Operations Console přejděte do části Monitorování>stavu serverů pro správuoperations>manageru>.
  2. V podokně stav Serverů pro správu vyberte server pro správu .
  3. V podokně Úlohy vyberte Úlohy> služby Health ServicePovolit System Center OMED Server.

Ručně

  1. Vyberte Start, do pole Spustit hledání zadejte services.msc a stiskněte Klávesu Enter.
  2. V podokně podrobností klikněte pravým tlačítkem na službu Externí zdroj dat nástroje System Center Operations Manager a vyberte Vlastnosti.
  3. Na kartě Obecné v části Typ spouštění vyberte Automaticky a vyberte OK.
  4. V podokně podrobností klikněte pravým tlačítkem na službu a vyberte Spustit.

Vytvoření konfiguračního souboru FluentD

Operaci Fluentd nakonfigurujete pomocí konfiguračního souboru. Pro monitorování protokolu musíte vytvořit konfigurační soubor, který obsahuje informace, jako je název zdrojového souboru protokolu a cesta, a filtry definující, která data se mají shromažďovat.

Hlavní konfigurační soubor Fluentd omsagent.conf se nachází ve složce /etc/opt/microsoft/omsagent/scom/conf/. Přímo k tomuto souboru můžete přidat konfiguraci monitorování souboru protokolu, ale pro lepší správu různých nastavení byste měli vytvořit samostatný konfigurační soubor. Potom použijete direktivu @include v hlavním souboru k zahrnutí vlastního souboru.

Pokud jste například vytvořili logmonitoring.conf v souboru /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, přidáte do souboru fluent.conf 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

Podrobnosti o konfiguračních souborech Fluentd najdete 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 jedinečného pro monitorování souborů protokolu. Každé obsahuje ukázková nastavení, která můžete vložit do konfiguračního souboru a upravit podle svých požadavků.

Před vytvořením vlastního souboru je k dispozici kompletní ukázkový konfigurační soubor pro monitorování protokolů , který můžete zkontrolovat a vyhodnotit.

Source

Source direktiva definuje zdroj dat, která shromažďujete. Tady definujete podrobnosti souboru protokolu. Fluentd převezme každý záznam zapsaný do zdroje a odešle pro něj událost do směrovacího modulu Fluentd. Tady v této direktivě musíte zadat značku. Značka je řetězec, který se používá jako směr interního směrovacího modulu Fluentd ke korelaci různých direktiv.

Tento příklad ukazuje záznamy syslogu shromážděné a označené pro 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 scom.log.syslog

      format /(?<message>.*)/

  </source>

Shoda

Direktiva match definuje, jak zpracovávat události shromážděné ze zdroje s odpovídajícími značkami. Do cíle výstupu se odesílají pouze události se značkou odpovídající vzoru. Pokud je v jedné značce shody uvedeno více vzorů, události můžou odpovídat libovolnému z uvedených vzorů. Parametr typu , který určuje, který modul plug-in se má pro tyto události použít.

Tento příklad zpracovává události se značkami odpovídajícími scom.log.** a scom.alert (** odpovídá nule nebo více částem značky). Určuje modul plug-in out_scom , který umožňuje shromažďovat události sadou Management Pack nástroje Operations Manager.

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

Poznámka

Pokud chcete na počítačích s Linuxem, které používají komunikaci Fluentd, zakázat ověřování serveru, přidejte do modulu plug-in SCOM pro Fluentd parametr, enable_server_auth false , například následující:

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

Filtrovat

Direktiva filter 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.

Pro monitorování souborů protokolu je popsáno šest modulů plug-in filtru. Pomocí jednoho nebo více z těchto filtrů definujte události, které chcete ze souboru protokolu shromažďovat.

Jednoduchá shoda: filter_scom_simple_match

Zabírá až 20 vstupních vzorů. Odešle událost do nástroje Operations Manager vždy, když je spárován libovolný vzor.

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

Exkluzivní shoda: filter_scom_excl_match

Používá dva vstupní vzory. Odešle událost do nástroje Operations Manager, když jeden záznam odpovídá vzoru 1, ale neodpovídá vzoru 2.

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

Opakovaná korelace: filter_scom_repeated_cor

Přijímá tři vstupy: vzor, časový interval a mnoho výskytů. Když se najde shoda pro první vzor, spustí se časovač. Do nástroje Operations Manager se odešle událost, pokud se vzor shoduje se zadaným počtem opakování, než časovač skončí.

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

Korelovaná shoda: filter_scom_cor_match

Přijímá tři vstupy: dva vzory a časový interval. Když se najde shoda pro první vzor, spustí se časovač. Událost se odešle do nástroje Operations Manager, pokud existuje shoda druhého vzoru před ukončením časovače.

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Výhradní korelace: filter_scom_excl_correlation

Přijímá tři vstupy: dva vzory a časový interval. Když se najde shoda pro první vzor, spustí se časovač. Událost se odešle do nástroje Operations Manager, pokud před koncem časovače neexistuje shoda druhého vzoru.

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Převaděč nástroje Operations Manager: filter_scom_converter

Odešle do nástroje Operations Manager událost pro všechny záznamy, které obdrží. Odešle zadané ID a popis události jako součást události.

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

Kopírování konfiguračního souboru do agenta

Konfigurační soubor Fluentd se musí zkopírovat do souboru /etc/opt/microsoft/omsagent/scom/conf/omsagent.d na všech počítačích s Linuxem, které chcete monitorovat. Do hlavního konfiguračního souboru musíte také přidat direktivu @include , jak je popsáno výše.

Vytváření pravidel a monitorování

Sada Management Pack pro Linux neposkytuje moduly pro shromažďování událostí z FluentD. Sada Sady Management Pack pro Linux je součástí agenta pro Linux. Je to modul fluentd v agentovi pro Linux a službě OMED na serveru pro správu a bráně, který poskytuje možnosti pro rozšířené monitorování souborů protokolu.

Musíte vytvořit vlastní sadu Management Pack s vlastními pravidly a monitorováními, která používají modul Microsoft.Linux.OMED.EventDataSource, který shromažďuje události z Fluentd.

Následující tabulka uvádí parametry Microsoft.Linux.OMED.EventDataSource.

Parametr Typ Description
ComputerName Řetězec Povinná hodnota. Určuje název počítače s Linuxem, pro který se mají číst události. Parametr ComputerName se nejčastěji předává modulu pomocí $Target zápisu, i když ho lze zadat jako libovolný řetězec. Tento modul se pokusí číst události vygenerované daným počítačem s Linuxem.
ManagedEntityId Řetězec Povinná hodnota. Určuje ID spravované entity monitorované entity. Parametr ManagedEntityId se nejčastěji předává modulu pomocí $Target\Id$.
Číslo události Integer Nepovinný parametr. 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 tento počítač a spravovanou entitu.

Přehled konfigurace

Následující kroky jsou potřeba k povolení monitorování souborů protokolu na linuxových agentech. Každý z těchto kroků je podrobně popsán v následujících částech.

  1. Importujte nejnovější sadu Management Pack pro Linux.
  2. Nainstalujte nejnovější verzi linuxového agenta na každý počítač s Linuxem, který chcete monitorovat.
  3. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  4. Zkopírujte konfigurační soubor do linuxových agentů.
  5. Pomocí ukázkové sady Management Pack můžete vytvářet pravidla a monitorování ke shromažďování událostí z protokolu a vytváření výstrah.

Instalace nejnovější verze agenta pro Linux

Nejnovější verze agenta pro Linux podporuje Fluentd, která se vyžaduje pro rozšířené monitorování souborů protokolu. Podrobnosti a proces instalace nového agenta najdete v tématu Instalace agenta v systémech UNIX a Linux z příkazového řádku.

Konfigurace monitorování souborů protokolu v Linuxu

Sada Management Pack pro Linux obsahuje nejnovějšího agenta Operations Manageru (s Fluentd). Při konfiguraci monitorování souborů protokolu Linuxu by uživatelé měli provést následující:

  1. Importujte nejnovější sadu Management Pack pro Linux pomocí standardního procesu instalace sady Management Pack.
  2. Nainstalujte nového agenta pro Linux na servery s Linuxem. Můžete to provést pomocí průvodce zjišťováním nebo ručně.
  3. Povolte službu OMED na každém serveru pro správu ve fondu zdrojů, který spravuje agenty Linuxu.

Služba OMED shromažďuje události z Fluentd a převádí je na události Operations Manageru. Uživatelé by měli importovat 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.

Z konzoly Operations Console

  1. V konzole Operations Console přejděte do části Monitorování>stavu serverů pro správuoperations>manageru>.
  2. V podokně stav Serverů pro správu vyberte server pro správu .
  3. V podokně Úlohy vyberte Úlohy> služby Health ServicePovolit System Center OMED Server.

Ručně

  1. Vyberte Start, do pole Spustit hledání zadejte services.msc a stiskněte Klávesu Enter.
  2. V podokně podrobností klikněte pravým tlačítkem na službu Externí zdroj dat nástroje System Center Operations Manager a vyberte Vlastnosti.
  3. Na kartě Obecné v části Typ spouštění vyberte Automaticky a vyberte OK.
  4. V podokně podrobností klikněte pravým tlačítkem na službu a vyberte Spustit.

Vytvoření konfiguračního souboru FluentD

Operaci Fluentd nakonfigurujete pomocí konfiguračního souboru. Pro monitorování protokolu musíte vytvořit konfigurační soubor, který obsahuje informace, jako je název zdrojového souboru protokolu a cesta, a filtry definující, která data se mají shromažďovat.

Hlavní konfigurační soubor Fluentd omsagent.conf se nachází ve složce /etc/opt/microsoft/omsagent/scom/conf/. Přímo k tomuto souboru můžete přidat konfiguraci monitorování souboru protokolu, ale pro lepší správu různých nastavení byste měli vytvořit samostatný konfigurační soubor. Potom použijete direktivu @include v hlavním souboru k zahrnutí vlastního souboru.

Pokud jste například vytvořili logmonitoring.conf v souboru /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, přidáte do souboru fluent.conf 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

Podrobnosti o konfiguračních souborech Fluentd najdete 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 jedinečného pro monitorování souborů protokolu. Každé obsahuje ukázková nastavení, která můžete vložit do konfiguračního souboru a upravit podle svých požadavků.

Před vytvořením vlastního souboru je k dispozici kompletní ukázkový konfigurační soubor pro monitorování protokolů , který můžete zkontrolovat a vyhodnotit.

Source

Source direktiva definuje zdroj dat, která shromažďujete. Tady definujete podrobnosti souboru protokolu. Fluentd převezme každý záznam zapsaný do zdroje a odešle pro něj událost do směrovacího modulu Fluentd. Tady v této direktivě musíte zadat značku. Značka je řetězec, který se používá jako směr interního směrovacího modulu Fluentd ke korelaci různých direktiv.

Tento příklad ukazuje záznamy syslogu shromážděné a označené pro 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 scom.log.syslog

      format /(?<message>.*)/

  </source>

Shoda

Direktiva match definuje, jak zpracovávat události shromážděné ze zdroje s odpovídajícími značkami. Do cíle výstupu se odesílají pouze události se značkou odpovídající vzoru. Pokud je v jedné značce shody uvedeno více vzorů, události můžou odpovídat libovolnému z uvedených vzorů. Parametr typu , který určuje, který modul plug-in se má pro tyto události použít.

Tento příklad zpracovává události se značkami odpovídajícími scom.log.** a scom.alert (** odpovídá nule nebo více částem značky). Určuje modul plug-in out_scom , který umožňuje shromažďovat události sadou Management Pack nástroje Operations Manager.

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

Poznámka

Pokud chcete na počítačích s Linuxem, které používají komunikaci Fluentd, zakázat ověřování serveru, přidejte do modulu plug-in SCOM pro Fluentd parametr, enable_server_auth false , například následující:

  <match scom.log.** scom.event>
  type out_scom

  max_retry_wait 9m
  enable_server_auth false
  </match>

Filtrovat

Direktiva filter 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.

Pro monitorování souborů protokolu je popsáno šest modulů plug-in filtru. Pomocí jednoho nebo více z těchto filtrů definujte události, které chcete ze souboru protokolu shromažďovat.

Jednoduchá shoda: filter_scom_simple_match

Zabírá až 20 vstupních vzorů. Odešle událost do nástroje Operations Manager vždy, když je spárován libovolný vzor.

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

Exkluzivní shoda: filter_scom_excl_match

Používá dva vstupní vzory. Odešle událost do nástroje Operations Manager, když jeden záznam odpovídá vzoru 1, ale neodpovídá vzoru 2.

  <filter tag>
      type filter_scom_excl_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
  </filter>

Opakovaná korelace: filter_scom_repeated_cor

Přijímá tři vstupy: vzor, časový interval a mnoho výskytů. Když se najde shoda pro první vzor, spustí se časovač. Do nástroje Operations Manager se odešle událost, pokud se vzor shoduje se zadaným počtem opakování, než časovač skončí.

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

Korelovaná shoda: filter_scom_cor_match

Přijímá tři vstupy: dva vzory a časový interval. Když se najde shoda pro první vzor, spustí se časovač. Událost se odešle do nástroje Operations Manager, pokud existuje shoda druhého vzoru před ukončením časovače.

  <filter tag>
      type filter_scom_cor_match
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Výhradní korelace: filter_scom_excl_correlation

Přijímá tři vstupy: dva vzory a časový interval. Když se najde shoda pro první vzor, spustí se časovač. Událost se odešle do nástroje Operations Manager, pokud před koncem časovače neexistuje shoda druhého vzoru.

  <filter tag>
      type filter_scom_excl_correlation
      regexp1 <key> <pattern1>
      regexp2 <key> <pattern2>
      event_id <event ID>
      time_interval <interval in seconds>
  </filter>

Převaděč nástroje Operations Manager: filter_scom_converter

Odešle do nástroje Operations Manager událost pro všechny záznamy, které obdrží. Odešle zadané ID a popis události jako součást události.

  <filter tag>
      type filter_scom_converter
      event_id <event ID>
      event_desc <event description>
  </filter>

Kopírování konfiguračního souboru do agenta

Konfigurační soubor Fluentd se musí zkopírovat do souboru /etc/opt/microsoft/omsagent/scom/conf/omsagent.d na všech počítačích s Linuxem, které chcete monitorovat. Do hlavního konfiguračního souboru musíte také přidat direktivu @include , jak je popsáno výše.

Vytváření pravidel a monitorování

Sada Management Pack pro Linux neposkytuje moduly pro shromažďování událostí z FluentD. Sada Sady Management Pack pro Linux je součástí agenta pro Linux. Je to modul fluentd v agentovi pro Linux a službě OMED na serveru pro správu a bráně, který poskytuje možnosti pro rozšířené monitorování souborů protokolu.

Musíte vytvořit vlastní sadu Management Pack s vlastními pravidly a monitorováními, která používají modul Microsoft.Linux.OMED.EventDataSource, který shromažďuje události z Fluentd.

Následující tabulka uvádí parametry Microsoft.Linux.OMED.EventDataSource.

Parametr Typ Description
ComputerName Řetězec Povinná hodnota. Určuje název počítače s Linuxem, pro který se mají číst události. Parametr ComputerName se nejčastěji předává modulu pomocí $Target zápisu, i když ho lze zadat jako libovolný řetězec. Tento modul se pokusí číst události vygenerované daným počítačem s Linuxem.
ManagedEntityId Řetězec Povinná hodnota. Určuje ID spravované entity monitorované entity. Parametr ManagedEntityId se nejčastěji předává modulu pomocí $Target\Id$.
Číslo události Integer Nepovinný parametr. 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 tento počítač a spravovanou entitu.

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 linuxového agenta na každý počítač s Linuxem, který chcete monitorovat.
  3. Na každý počítač s Linuxem, který chcete monitorovat, nainstalujte nejnovější agentA OMSAgent .
  4. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  5. Zkopírujte konfigurační soubor do linuxových agentů.
  6. Pomocí ukázkové sady Management Pack můžete vytvářet pravidla a monitorování ke shromažďování událostí z protokolu a vytváření výstrah.
  1. Importujte nejnovější sadu Management Pack pro System Center Operations Manager 2022 Pro Linux.
  2. Nainstalujte nejnovější verzi linuxového agenta na každý počítač s Linuxem, který chcete monitorovat.
  3. Na každý počítač s Linuxem, který chcete monitorovat, nainstalujte nejnovější agentA OMSAgent .
  4. Vytvořte konfigurační soubor Fluentd pro shromažďování protokolů.
  5. Zkopírujte konfigurační soubor do linuxových agentů.
  6. Pomocí ukázkové sady Management Pack můžete vytvářet pravidla a monitorování ke shromažďování událostí z protokolu a vytváření výstrah.

Instalace sady Management Pack pro monitorování protokolů

Pokud chcete povolit monitorování souborů protokolu Linuxu, nainstalujte sadu Management Pack Microsoft.Linux.Log.Monitoring .

Poznámka

Pokud máte nakonfigurovaného agenta OMS a pokusíte se odinstalovat agenta systémů UNIX a LINUX z konzoly nástroje , 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. Naimportujte nejnovější sadu System Center Operations Manager 2019 Linux Management Pack pomocí standardního procesu instalace sady Management Pack.

  2. Nainstalujte nového agenta pro Linux 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ší agentA 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 pro Linux proveďte následující kroky:

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

  2. Nainstalujte nového agenta pro Linux 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ší agentA 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 pro Linux 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. Nastavte vlastnictví každé z výše uvedených složek na omsagent:omiusers:

    # 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. Nastavte vlastnictví každého z výše uvedených souborů 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 pro Linux.

Služba OMED shromažďuje události z Fluentd a převádí je na události Operations Manageru. Importujete 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 části Monitorování>stavu serverů pro správu serveru >pro správunástroje Operations Manager>.
  2. Vyberte server pro správu ve stavu Servery pro správu.
  3. V části Úlohy vyberte Úlohy> služby Health ServicePovolit server System Center OMED.

Přidat pravidlo brány firewall OMED

Pokud chcete povolit pravidlo brány firewall OMED, máte dvě možnosti, buď přidat 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 agenta OMSAgent

Při přiřazování klientského certifikátu k agentu OMSAgent máte dvě možnosti.

  1. Odkaz na podepsaný certifikát 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í omi.pem souboru a omikey.pem na omsagent:omiusershodnotu :

    # 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í protokolu, musíte vytvořit konfigurační soubor. Konfigurační soubor obsahuje informace, jako je název zdrojového souboru protokolu, cesta a filtry, které definují data, která se mají shromažďovat.

Hlavní konfigurační soubor Fluentd omsagent.conf se nachází v /etc/opt/microsoft/omsagent/scom/conf/. Přímo do tohoto souboru můžete přidat konfiguraci monitorování souboru protokolu, ale pro lepší správu různých nastavení byste měli vytvořit samostatný konfigurační soubor. Potom použijete direktivu @include v hlavním souboru k zahrnutí vlastního souboru.

Pokud jste například vytvořili soubor logmonitoring.conf v /etc/opt/microsoft/omsagent/scom/conf/omsagent.dsouboru , 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 najdete 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é obsahuje ukázková nastavení, která můžete vložit do konfiguračního souboru a upravit podle svých požadavků.

Před vytvořením vlastního souboru je k dispozici kompletní ukázkový konfigurační soubor pro monitorování protokolů , který můžete zkontrolovat a vyhodnotit.

Source

Direktiva Source definuje zdroj dat, která shromažďujete, kde definujete podrobnosti souboru protokolu. Fluentd převezme každý záznam zapsaný do zdroje a odešle pro něj událost do směrovacího modulu Fluentd. Tady v této direktivě zadejte značku. Značka je řetězec, který se používá jako směr interního směrovacího modulu Fluentd ke korelaci různých direktiv.

Následující příklad ukazuje záznamy syslogu shromážděné a označené pro 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 filter 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.

Pro monitorování souborů protokolu je popsáno šest modulů plug-in filtru. Pomocí jednoho nebo více z těchto filtrů definujte události, které chcete ze souboru protokolu shromažďovat.

  • Jednoduchá shoda: Filter_System Center Operations Manager_simple_match
  • Exkluzivní shoda: filter_System Center Operations Manager_excl_match
  • Opakovaná korelace: Manager_repeated_cor filter_System Operations Center
  • Korelovaná shoda: Manager_cor_match operací filter_System Center
  • Exkluzivní korelace: Manager_excl_correlation filter_System Center Operations
  • Převaděč nástroje Operations Manager: filter_System Operations Manager_converter Center

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 událost do nástroje Operations Manager vždy, když je spárován libovolný 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>

Shoda

Direktiva match definuje, jak zpracovávat události shromážděné ze zdroje s odpovídajícími značkami. Do cíle výstupu se odesílají pouze události se značkou odpovídající vzoru. Pokud je v jedné značce shody uvedeno více vzorů, události můžou odpovídat libovolnému z uvedených vzorů. Parametr type 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 Manager.log System Center Operations. ** a System Center Operations Manager.alert (** odpovídá nule nebo více částem značky). Určuje modul plug-in out_System Center Operations Manager , který umožňuje shromažďovat události 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 do modulu plug-in Nástroje Operations Manager pro Fluentd parametr, enable_server_auth false , 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 na všech počítačích s Linuxem, které chcete monitorovat. Do hlavního konfiguračního souboru musíte také přidat direktivu @include , jak je popsáno výše.

Restartujte 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, na kterém běží služba 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 službu Externí zdroj dat nástroje System Center Operations Manager

Protokol událostí služby System Center OMED se vytvoří jenom v případě, že se událost úspěšně odešle 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 pro shromažďování událostí z FluentD, linuxová sada Management Pack je součástí agenta pro Linux. Je to modul fluentd v agentovi pro Linux a službě OMED na serveru pro správu a bráně, který poskytuje možnosti pro rozšířené monitorování souborů protokolu.

Musíte vytvořit vlastní sadu Management Pack s vlastními pravidly a monitorováními, která ke shromažďování událostí z Fluentd používají modul Microsoft.Linux.OMED.EventDataSource . 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 se musí shodovat s názvem počítače v zobrazení Počítače se systémem UNIX/Linux. Pokud název počítače neodpovídá, nezobrazí se žádná výstraha.

Následující tabulka uvádí parametry Microsoft.Linux.OMED.EventDataSource.

Parametr Typ Description
ComputerName Řetězec Povinná hodnota. Určuje název počítače s Linuxem, pro který se mají číst události. Parametr ComputerName se nejčastěji předává modulu pomocí $Target zápisu, i když ho lze zadat jako libovolný řetězec. Tento modul se pokusí číst události vygenerované daným počítačem s Linuxem.
ManagedEntityId Řetězec Povinná hodnota. Určuje ID spravované entity monitorované entity. Parametr ManagedEntityId se nejčastěji předává modulu pomocí $Target\Id$.
Číslo události Integer Nepovinný parametr. 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