Мониторинг файла журнала Linux в System Center Operations Manager

Важно!

Поддержка этой версии Operations Manager завершена. Мы рекомендуем выполнить обновление до Operations Manager 2022.

Примечание

System Center Operations Manager не будет поддерживать мониторинг файлов журнала на основе fluentD после прекращения использования агента OMS, запланированного на август 2024 г.

В System Center Operations Manager улучшены возможности мониторинга файла журнала на серверах Linux за счет того, что в последней версии агента используется модуль Fluentd. В этом выпуске реализованы следующие улучшения по сравнению с прежней функцией мониторинга файла журнала.

  • Подстановочные знаки в имени файла журнала и пути.
  • Новые шаблоны сопоставления для настраиваемого поиска по журналам, например простое соответствие, исключительное соответствие, коррелированное соответствие, повторяющаяся корреляция и исключительная корреляция.
  • Поддержка универсальных подключаемых модулей Fluentd, опубликованных сообществом Fluentd.

Базовые функции

Основной процесс работы службы мониторинга файла журнала Linux включает следующие шаги.

  1. Записи сохраняются в журнале на агенте Linux.
  2. Fluentd собирает эти записи и создает событие при обнаружении соответствий заданному шаблону.
  3. Событие отправляется в службу OMED на сервере управления и регистрируется в журнале событий службы System Center OMED на сервере управления. (Журнал событий службы System Center OMED создается только при успешной отправке события из агента Fluentd)
  4. Правила и мониторы персонализированного пакета управления собирают события и создают предупреждения в Operations Manager.

Общие сведения о конфигурации

Для включения мониторинга файла журнала на агентах Linux следует выполнить следующие шаги. В следующих разделах каждый этап рассматривается более подробно.

  1. Импортируйте самую свежую версию пакета управления Linux.
  2. Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
  3. Создайте файл конфигурации Fluentd для сбора журналов.
  4. Скопируйте файл конфигурации на агенты Linux.
  5. С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.

Установка последней версии агента Linux

Последняя версия агента Linux поддерживает модуль Fluentd, который необходим для улучшенного мониторинга файла журнала. Подробные сведения о новом агенте и процесс его установки описаны в статье об установке агента в UNIX и Linux из командной строки.

Настройка мониторинга файла журнала Linux

Набор пакетов управления Linux содержит последнюю версию агента Operations Manager (с поддержкой Fluentd). Чтобы настроить мониторинг файла журнала Linux, пользователи должны сделать следующее.

  1. Импортируйте самый свежий пакет управления Linux, используя стандартный процесс установки пакета управления.
  2. Установите новый агент Linux на серверах Linux с помощью мастера обнаружения или вручную.
  3. Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.

Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Пользователи должны импортировать пользовательский пакет управления, который может создавать оповещения на основе событий, полученных с серверов Linux.

Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.

Из консоли управления

  1. В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
  2. Выберите нужный сервер управления в панели состояния Серверы управления.
  3. На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.

Вручную

  1. Нажмите кнопку Пуск, в поле Начать поиск введите services.msc и нажмите клавишу ВВОД.
  2. В области сведений щелкните правой кнопкой мыши службу System Center Operations Manager External DataSource Service и выберите Свойства.
  3. На вкладке Общие в поле Тип запуска выберите Автоматически и нажмите кнопку ОК.
  4. В области сведений щелкните правой кнопкой мыши службу и выберите Запустить.

Создание файла конфигурации Fluentd

Fluentd настраивается с помощью файла конфигурации. Для мониторинга журнала вам следует создать файл конфигурации и включить в него такие сведения, как имя исходного файла журнала, путь к нему и фильтры для отбора собираемых данных.

Основной файл конфигурации Fluentd имеет имя omsagent.conf и размещается в папке /etc/opt/microsoft/omsagent/scom/conf/. Конфигурацию для мониторинга файла журнала можно добавить непосредственно в этот файл. Но лучше использовать отдельные файлы конфигурации, чтобы точнее управлять настройками. Дополнительный файл включается в конфигурацию с помощью директивы @include, которую нужно поместить в главный файл.

Например, если вы создали файл logmonitoring.conf в папке /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, включите в файл fluent.conf одну из следующих строк:

  #Include all configuration files
  @include omsagent.d/*.conf

или диспетчер конфигурации служб

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Подробные сведения о файлах конфигурации Fluentd вы найдете на странице с описанием синтаксиса файлов конфигурации Fluentd. В следующих разделах описаны параметры нескольких директив в файле конфигурации, которые вам потребуются для мониторинга файла журнала. Для каждой директивы приводятся примеры настроек, которые вы можете скопировать в свой файл конфигурации и изменить по мере необходимости.

Прежде чем создавать собственный файл конфигурации, можно ознакомиться с полным примером файла конфигурации для мониторинга журнала.

Источник

Директива Source определяет источник данных, которые вы будете собирать. Именно в ней вы должны указать сведения о файле журнала. Модуль Fluentd принимает каждую запись, добавляемую в источник, и передает соответствующее событие в подсистему маршрутизации Fluentd. В этой директиве необходимо указать тег. Строковое значение тега используется в инструкциях для внутренней подсистемы маршрутизации Fluentd, чтобы согласовать между собой разные директивы.

Этот пример директивы собирает записи системного журнала и отмечает их тегами для последующей обработки в 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>

Соответствует

Директива match определяет метод обработки для событий, собранных из источника и отмеченных тегами. В место назначения вывода будут переданы только те события, тег которых соответствует указанному здесь шаблону. Если в одной директиве match есть несколько шаблонов, она отбирает все события, соответствующие хотя бы одному из этих шаблонов. Параметр type обозначает, какой подключаемый модуль нужно применить для этих событий.

Этот пример обрабатывает события, тег которых соответствует шаблонам scom.log.** и scom.alert (где ** обозначает ноль или несколько частей тега). Он указывает подключаемый модуль out_scom , который позволяет собирать события пакетом управления 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>

Примечание

Чтобы отключить аутентификацию сервера на компьютерах Linux, которые обмениваются данными с помощью Fluentd, добавьте параметр enable_server_auth false во внешний подключаемый модуль SCOM для Fluentd следующим образом:

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

  max_retry_wait 9m
  enable_server_auth false
  </match>

Фильтр

Директива filter имеет тот же синтаксис, что и match , но позволяет более сложную фильтрацию обрабатываемых данных. Собранные события должны соответствовать критериям всех фильтров, добавляемых в выходные данные.

Для мониторинга файла журнала можно использовать шесть подключаемых модулей фильтров. Используйте любое сочетание этих фильтров, чтобы точно определить события для сбора из файла журнала.

Простое соответствие: filter_scom_simple_match

Принимает до 20 шаблонов. Отправляет событие в Operations Manager при совпадении с любым из шаблонов.

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

Исключительное соответствие: filter_scom_excl_match

Принимает два шаблона. Отправляет событие в Operations Manager, когда одна запись соответствует шаблону 1, но не соответствует шаблону 2.

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

Повторяющаяся корреляция: filter_scom_repeated_cor

Принимает три входных данных: шаблон, интервал времени и множество вхождений. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если соответствие будет обнаружено указанное число раз до окончания этого таймера.

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

Коррелированное совпадение: filter_scom_cor_match

Принимает три входных параметра: два шаблона и интервал времени. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если есть совпадение для второго шаблона до окончания таймера.

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

Эксклюзивная корреляция: filter_scom_excl_correlation

Принимает три входных параметра: два шаблона и интервал времени. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если нет совпадения для второго шаблона до окончания таймера.

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

Отправляет событие в Operations Manager для всех получаемых записей. В это событие включаются идентификатор и описание события.

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

Копирование файла конфигурации на агент

Файл конфигурации fluentd следует сохранить по адресу /etc/opt/microsoft/omsagent/scom/conf/omsagent.d на всех компьютерах Linux, для которых применяется мониторинг. Также необходимо добавить директиву @include в главный файл конфигурации, как описано выше.

Создание правил и мониторов

Пакет управления Linux не предоставляет модули для сбора событий из FluentD. Пакет управления Linux объединен с агентом Linux. Это fluentd модуль в агенте Linux и служба OMED на сервере управления и шлюза, которые предоставляют возможности для расширенного мониторинга файлов журнала.

Необходимо создать собственный пакет управления с настраиваемыми правилами и мониторами, которые используют модуль Microsoft.Linux.OMED.EventDataSource, который собирает события из Fluentd.

В следующей таблице перечислены параметры Microsoft.Linux.OMED.EventDataSource.

Параметр Тип Описание
ИмяКомпьютера Строковый Обязательный элемент. Указывает имя компьютера Linux, с которого считываются события. Параметр ComputerName чаще всего передается в модуль строкой $Target, но это может быть любая строка. Этот модуль пытается прочитать события, созданные для заданного компьютера Linux.
ManagedEntityId Строковый Обязательный элемент. Указывает идентификатор управляемой сущности для отслеживаемого объекта. Параметр ManagedEntityId чаще всего передается в модуль строкой $Target\Id$.
EventNumber Целое число Необязательный элемент. Указывает номер события, которое нужно получить. Если этот параметр опущен, модуль возвращает все события, созданные для этого компьютера и управляемой сущности.

Общие сведения о конфигурации

Для включения мониторинга файла журнала на агентах Linux следует выполнить следующие шаги. В следующих разделах каждый этап рассматривается более подробно.

  1. Импортируйте самую свежую версию пакета управления Linux.
  2. Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
  3. Создайте файл конфигурации Fluentd для сбора журналов.
  4. Скопируйте файл конфигурации на агенты Linux.
  5. С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.

Установка последней версии агента Linux

Последняя версия агента Linux поддерживает модуль Fluentd, который необходим для улучшенного мониторинга файла журнала. Подробные сведения о новом агенте и процесс его установки описаны в статье об установке агента в UNIX и Linux из командной строки.

Настройка мониторинга файла журнала Linux

Набор пакетов управления Linux содержит последнюю версию агента Operations Manager (с поддержкой Fluentd). Чтобы настроить мониторинг файла журнала Linux, пользователи должны сделать следующее.

  1. Импортируйте самый свежий пакет управления Linux, используя стандартный процесс установки пакета управления.
  2. Установите новый агент Linux на серверах Linux с помощью мастера обнаружения или вручную.
  3. Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.

Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Пользователи должны импортировать пользовательский пакет управления, который может создавать оповещения на основе событий, полученных с серверов Linux.

Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.

Из консоли управления

  1. В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
  2. Выберите нужный сервер управления в панели состояния Серверы управления.
  3. На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.

Вручную

  1. Нажмите кнопку Пуск, в поле Начать поиск введите services.msc и нажмите клавишу ВВОД.
  2. В области сведений щелкните правой кнопкой мыши службу System Center Operations Manager External DataSource Service и выберите Свойства.
  3. На вкладке Общие в поле Тип запуска выберите Автоматически и нажмите кнопку ОК.
  4. В области сведений щелкните правой кнопкой мыши службу и выберите Запустить.

Создание файла конфигурации Fluentd

Fluentd настраивается с помощью файла конфигурации. Для мониторинга журнала вам следует создать файл конфигурации и включить в него такие сведения, как имя исходного файла журнала, путь к нему и фильтры для отбора собираемых данных.

Основной файл конфигурации Fluentd имеет имя omsagent.conf и размещается в папке /etc/opt/microsoft/omsagent/scom/conf/. Конфигурацию для мониторинга файла журнала можно добавить непосредственно в этот файл. Но лучше использовать отдельные файлы конфигурации, чтобы точнее управлять настройками. Дополнительный файл включается в конфигурацию с помощью директивы @include, которую нужно поместить в главный файл.

Например, если вы создали файл logmonitoring.conf в папке /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, включите в файл fluent.conf одну из следующих строк:

  #Include all configuration files
  @include omsagent.d/*.conf

или диспетчер конфигурации служб

  #include single configuration file
  @include omsagent.d/logmonitoring.conf

Подробные сведения о файлах конфигурации Fluentd вы найдете на странице с описанием синтаксиса файлов конфигурации Fluentd. В следующих разделах описаны параметры нескольких директив в файле конфигурации, которые вам потребуются для мониторинга файла журнала. Для каждой директивы приводятся примеры настроек, которые вы можете скопировать в свой файл конфигурации и изменить по мере необходимости.

Прежде чем создавать собственный файл конфигурации, можно ознакомиться с полным примером файла конфигурации для мониторинга журнала.

Источник

Директива Source определяет источник данных, которые вы будете собирать. Именно в ней вы должны указать сведения о файле журнала. Модуль Fluentd принимает каждую запись, добавляемую в источник, и передает соответствующее событие в подсистему маршрутизации Fluentd. В этой директиве необходимо указать тег. Строковое значение тега используется в инструкциях для внутренней подсистемы маршрутизации Fluentd, чтобы согласовать между собой разные директивы.

Этот пример директивы собирает записи системного журнала и отмечает их тегами для последующей обработки в 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>

Соответствует

Директива match определяет метод обработки для событий, собранных из источника и отмеченных тегами. В место назначения вывода будут переданы только те события, тег которых соответствует указанному здесь шаблону. Если в одной директиве match есть несколько шаблонов, она отбирает все события, соответствующие хотя бы одному из этих шаблонов. Параметр type обозначает, какой подключаемый модуль нужно применить для этих событий.

Этот пример обрабатывает события, тег которых соответствует шаблонам scom.log.** и scom.alert (где ** обозначает ноль или несколько частей тега). Он указывает подключаемый модуль out_scom , который позволяет собирать события пакетом управления 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>

Примечание

Чтобы отключить аутентификацию сервера на компьютерах Linux, которые обмениваются данными с помощью Fluentd, добавьте параметр enable_server_auth false во внешний подключаемый модуль SCOM для Fluentd следующим образом:

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

  max_retry_wait 9m
  enable_server_auth false
  </match>

Фильтр

Директива filter имеет тот же синтаксис, что и match , но позволяет более сложную фильтрацию обрабатываемых данных. Собранные события должны соответствовать критериям всех фильтров, добавляемых в выходные данные.

Для мониторинга файла журнала можно использовать шесть подключаемых модулей фильтров. Используйте любое сочетание этих фильтров, чтобы точно определить события для сбора из файла журнала.

Простое соответствие: filter_scom_simple_match

Принимает до 20 шаблонов. Отправляет событие в Operations Manager при совпадении с любым из шаблонов.

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

Исключительное соответствие: filter_scom_excl_match

Принимает два шаблона. Отправляет событие в Operations Manager, когда одна запись соответствует шаблону 1, но не соответствует шаблону 2.

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

Повторяющаяся корреляция: filter_scom_repeated_cor

Принимает три входных данных: шаблон, интервал времени и множество вхождений. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если соответствие будет обнаружено указанное число раз до окончания этого таймера.

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

Коррелированное совпадение: filter_scom_cor_match

Принимает три входных параметра: два шаблона и интервал времени. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если есть совпадение для второго шаблона до завершения таймера.

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

Эксклюзивная корреляция: filter_scom_excl_correlation

Принимает три входных параметра: два шаблона и интервал времени. При обнаружении первого совпадения с шаблоном запускается таймер. Событие отправляется в Operations Manager, если нет совпадений для второго шаблона до завершения таймера.

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

Отправляет событие в Operations Manager для всех получаемых записей. В это событие включаются идентификатор и описание события.

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

Копирование файла конфигурации на агент

Файл конфигурации fluentd следует сохранить по адресу /etc/opt/microsoft/omsagent/scom/conf/omsagent.d на всех компьютерах Linux, для которых применяется мониторинг. Также необходимо добавить директиву @include в главный файл конфигурации, как описано выше.

Создание правил и мониторов

Пакет управления Linux не предоставляет модули для сбора событий из FluentD. Пакет управления Linux объединен с агентом Linux. Это модуль fluentd в агенте Linux и служба OMED на сервере управления и шлюза, который предоставляет возможности для расширенного мониторинга файлов журнала.

Необходимо создать собственный пакет управления с настраиваемыми правилами и мониторами, которые используют модуль Microsoft.Linux.OMED.EventDataSource, который собирает события из Fluentd.

В следующей таблице перечислены параметры Microsoft.Linux.OMED.EventDataSource.

Параметр Тип Описание
ИмяКомпьютера Строковый Обязательный элемент. Указывает имя компьютера Linux, с которого считываются события. Параметр ComputerName чаще всего передается в модуль строкой $Target, но это может быть любая строка. Этот модуль пытается прочитать события, созданные для заданного компьютера Linux.
ManagedEntityId Строковый Обязательный элемент. Указывает идентификатор управляемой сущности для отслеживаемого объекта. Параметр ManagedEntityId чаще всего передается в модуль строкой $Target\Id$.
EventNumber Целое число Необязательный элемент. Указывает номер события, которое нужно получить. Если этот параметр опущен, модуль возвращает все события, созданные для этого компьютера и управляемой сущности.

Общие сведения о конфигурации

Для мониторинга файлов журнала необходимо выполнить следующие действия. Подробные сведения приведены в следующих разделах:

  1. Импортируйте последнюю версию пакета управления Linux System Center Operations Manager 2019.
  2. Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
  3. Установите последнюю версию OMSAgent на каждом отслеживаемом компьютере Linux.
  4. Создайте файл конфигурации Fluentd для сбора журналов.
  5. Скопируйте файл конфигурации на агенты Linux.
  6. С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.
  1. Импортируйте последнюю версию пакета управления System Center Operations Manager 2022 Linux.
  2. Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
  3. Установите последнюю версию OMSAgent на каждом отслеживаемом компьютере Linux.
  4. Создайте файл конфигурации Fluentd для сбора журналов.
  5. Скопируйте файл конфигурации на агенты Linux.
  6. С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.

Установка пакета управления мониторингом журналов

Установите пакет управления Microsoft.Linux.Log.Monitoring , чтобы включить мониторинг файлов журнала Linux.

Примечание

Если у вас настроен агент OMS и вы пытаетесь удалить агент UNIX и LINUX из консоли, компонент OMS не будет удален из агента.

Настройка мониторинга файла журнала Linux

Чтобы настроить мониторинг файлов журнала Linux, выполните следующие действия.

  1. Импортируйте последнюю версию пакета управления System Center Operations Manager 2019 Linux , используя стандартный процесс установки пакета управления.

  2. Установите новый агент Linux на серверах Linux вручную или [с помощью мастера обнаружения](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).

  3. Установите последнюю версию OMSAgent на каждом компьютере Linux, который требуется отслеживать. Используйте следующие команды:

    # 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
    

    Выполните следующие действия с агентом Linux:

  1. Импортируйте последнюю версию пакета управления System Center Operations Manager 2022 Linux , используя стандартный процесс установки пакета управления.

  2. Установите новый агент Linux на серверах Linux вручную или [с помощью мастера обнаружения](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).

  3. Установите последнюю версию OMSAgent на каждом компьютере Linux, который требуется отслеживать. Используйте следующие команды:

    # 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
    

    Выполните следующие действия с агентом Linux:

  1. Создайте папки по следующим путям с помощью приведенных ниже команд:

    # 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. Задайте для каждой из указанных выше папок значение 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
    

    Снимок экрана: мониторинг файлов журнала.

  3. Создайте файлы omsagent и 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. Задайте для каждого из указанных выше файлов значение 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. Измените файл /etc/opt/microsoft/omsagent/scom/conf/omsadmin.confи добавьте следующие сведения после изменения выделенных сведений.

    WORKSPACE_ID=scom
    System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886
    MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
    
  6. Перезапустите OMSAgent:

    /opt/microsoft/omsagent/bin/service_control restart
    
  7. Проверьте состояние в журнале omsagent:

    tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
    

Включение службы OMED

Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.

Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Импортируйте пользовательский пакет управления, который будет генерировать оповещения на основе событий, полученных от серверов Linux.

Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.

  1. В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
  2. Выберите нужный сервер управления на панели Состояние серверов управления.
  3. На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.

Добавление правила брандмауэра OMED

Чтобы включить правило брандмауэра OMED, можно добавить порт (TCP/8886) автоматически с помощью PowerShell или вручную.

Выполните следующие действия, чтобы автоматически добавить правило с помощью PowerShell:

Следующая команда позволяет автоматически добавить правило брандмауэра:

Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886

Назначение сертификата клиента для OMSAgent

У вас есть два варианта назначения сертификата клиента для OMSAgent.

  1. Ссылка на подписанный сертификат из агента OMI.
  2. Создайте сертификат клиента вручную для агента OMS.

Выберите необходимую вкладку, чтобы создать ссылку на подписанный сертификат агента OMI или создать сертификат клиента вручную из агента OMS:

  1. Задайте для omi.pem файла omsagent:omiusersи omikey.pem значение .

    # 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. Выполните следующую команду на компьютере Linux, чтобы задать для сертификата клиента агента OMS сертификат OMI (сертификат агента Operations Manager 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
    

Создание файла конфигурации Fluentd

Fluentd настраивается с помощью файла конфигурации. Чтобы использовать мониторинг журналов, необходимо создать файл конфигурации. Файл конфигурации содержит такие сведения, как имя файла исходного журнала, путь и фильтры для определения собираемых данных.

Файл конфигурации master Fluentd omsagent.conf находится в /etc/opt/microsoft/omsagent/scom/conf/. Конфигурацию для мониторинга файла журнала можно добавить непосредственно в этот файл. Но лучше использовать отдельные файлы конфигурации, чтобы точнее управлять настройками. Дополнительный файл включается в конфигурацию с помощью директивы @include, которую нужно поместить в главный файл.

Например, если вы создали logmonitoring.conf в /etc/opt/microsoft/omsagent/scom/conf/omsagent.d, добавьте в файл omsagent.d одну из следующих строк:

# Include all configuration files
@include omsagent.d/*.conf

или диспетчер конфигурации служб

# Include single configuration file
@include omsagent.d/logmonitoring.conf

Подробные сведения о файлах конфигурации Fluentd см. в разделе Синтаксис файлов конфигурации Fluentd.

В следующих разделах описаны параметры нескольких директив в файле конфигурации, которые вам потребуются только для мониторинга файла журнала. Для каждой директивы приводятся примеры настроек, которые вы можете скопировать в свой файл конфигурации и изменить по мере необходимости.

Прежде чем создавать собственный файл конфигурации, можно ознакомиться с полным примером файла конфигурации для мониторинга журнала.

Источник

Директива Source определяет источник собираемых данных, где определяются сведения о файле журнала. Модуль Fluentd принимает каждую запись, добавляемую в источник, и передает соответствующее событие в подсистему маршрутизации Fluentd. В этой директиве укажите тег. Строковое значение тега используется в инструкциях для внутренней подсистемы маршрутизации Fluentd, чтобы согласовать между собой разные директивы.

Следующий пример директивы собирает записи системного журнала и отмечает их тегами для последующей обработки в 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>

Фильтр

Директива filter имеет тот же синтаксис, что и Match, но позволяет более сложную фильтрацию обрабатываемых данных. Собранные события должны соответствовать критериям всех фильтров, добавляемых в выходные данные.

Для мониторинга файла журнала можно использовать шесть подключаемых модулей фильтров. Используйте любое сочетание этих фильтров, чтобы точно определить события для сбора из файла журнала.

  • Простое совпадение: Manager_simple_match операций filter_System Center
  • Эксклюзивное совпадение: Manager_excl_match filter_System Center Operations
  • Повторная корреляция: Manager_repeated_cor filter_System Center Operations
  • Сопоставление: Manager_cor_match операций filter_System Center
  • Эксклюзивная корреляция: Manager_excl_correlation операций filter_System Center
  • Преобразователь Operations Manager: filter_System Center Operations Manager_converter

Выберите необходимую вкладку, чтобы скопировать код для соответствующего подключаемого модуля фильтра:

Принимает до 20 шаблонов. Отправляет событие в Operations Manager при совпадении с любым из шаблонов.

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

Соответствует

Директива match определяет метод обработки для событий, собранных из источника и отмеченных тегами. В место назначения вывода передаются только те события, тег которых соответствует указанному здесь шаблону. Если в одной директиве match есть несколько шаблонов, она отбирает все события, соответствующие хотя бы одному из этих шаблонов. Параметр type обозначает тип подключаемого модуля для этих событий.

В этом примере обрабатываются события с тегами, соответствующими System Center Operations Manager.log. ** и System Center Operations Manager.alert (** соответствует нулю или нескольким частям тегов). Он указывает подключаемый модуль out_System Center Operations Manager , который позволяет собирать события пакетом управления Operations Manager.

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

Примечание

Чтобы отключить аутентификацию сервера на компьютерах Linux, которые обмениваются данными с помощью Fluentd, добавьте параметр enable_server_auth false в подключаемый модуль Operations Manager для Fluentd следующим образом:

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

Копирование файла конфигурации на агент

Файл конфигурации fluentd следует сохранить по адресу /etc/opt/microsoft/omsagent/scom/conf/omsagent.d на всех компьютерах Linux, для которых применяется мониторинг. Также необходимо добавить директиву @include в главный файл конфигурации, как описано выше.

Перезапуск omsagent

Чтобы перезапустить omsagent, выполните следующую команду:

/opt/microsoft/omsagent/bin/service_control restart

Проверка состояния рабочей области System Center Operations Manager

Выполните следующую команду, чтобы проверка рабочей области System Center Operations Manager в OMSAgent:

sh /opt/microsoft/omsagent/bin/omsadmin.sh -l

Примечание

На сервере управления, на котором запущена служба OMED, убедитесь, что брандмауэр на порте 8886 открыт и хранилище сертификатов промежуточных центров сертификации содержит только промежуточные центры сертификации.

Журнал событий для службы внешнего источника данных System Center Operations Manager

Журнал событий службы System Center OMED создается только при успешной отправке события в службу внешних источников данных (OMED) System Center Operations Manager.

Создание правил и мониторов

Пакет управления Linux не предоставляет модули для сбора событий из FluentD. Пакет управления Linux входит в пакет с агентом Linux. Это модуль fluentd в агенте Linux и служба OMED на сервере управления и шлюза, который предоставляет возможности для расширенного мониторинга файлов журнала.

Создайте собственный пакет управления с настраиваемыми правилами и мониторами на основе модуля Microsoft.Linux.OMED.EventDataSource, который собирает события от Fluentd. Имейте в виду, что имя компьютера в журнале событий События, отправленное через журнал событий System Center OMED , должно совпадать с именем компьютера в представлении Компьютеры UNIX/Linux. Если имя компьютера не совпадает, оповещение не будет получено.

В следующей таблице перечислены параметры Microsoft.Linux.OMED.EventDataSource.

Параметр Тип Описание
ИмяКомпьютера Строковый Обязательный элемент. Указывает имя компьютера Linux, с которого считываются события. Параметр ComputerName чаще всего передается в модуль строкой $Target, но это может быть любая строка. Этот модуль пытается прочитать события, созданные для заданного компьютера Linux.
ManagedEntityId Строковый Обязательный элемент. Указывает идентификатор управляемой сущности для отслеживаемого объекта. Параметр ManagedEntityId чаще всего передается в модуль строкой $Target\Id$.
EventNumber Целое число Необязательный элемент. Указывает номер события, которое нужно получить. Если этот параметр опущен, модуль возвращает все события, созданные для этого компьютера и управляемой сущности.

Дальнейшие действия