Мониторинг файла журнала 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 включает следующие шаги.
- Записи сохраняются в журнале на агенте Linux.
- Fluentd собирает эти записи и создает событие при обнаружении соответствий заданному шаблону.
- Событие отправляется в службу OMED на сервере управления и регистрируется в журнале событий службы System Center OMED на сервере управления. (Журнал событий службы System Center OMED создается только при успешной отправке события из агента Fluentd)
- Правила и мониторы персонализированного пакета управления собирают события и создают предупреждения в Operations Manager.
Общие сведения о конфигурации
Для включения мониторинга файла журнала на агентах Linux следует выполнить следующие шаги. В следующих разделах каждый этап рассматривается более подробно.
- Импортируйте самую свежую версию пакета управления Linux.
- Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
- Создайте файл конфигурации Fluentd для сбора журналов.
- Скопируйте файл конфигурации на агенты Linux.
- С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.
Установка последней версии агента Linux
Последняя версия агента Linux поддерживает модуль Fluentd, который необходим для улучшенного мониторинга файла журнала. Подробные сведения о новом агенте и процесс его установки описаны в статье об установке агента в UNIX и Linux из командной строки.
Настройка мониторинга файла журнала Linux
Набор пакетов управления Linux содержит последнюю версию агента Operations Manager (с поддержкой Fluentd). Чтобы настроить мониторинг файла журнала Linux, пользователи должны сделать следующее.
- Импортируйте самый свежий пакет управления Linux, используя стандартный процесс установки пакета управления.
- Установите новый агент Linux на серверах Linux с помощью мастера обнаружения или вручную.
- Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.
Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Пользователи должны импортировать пользовательский пакет управления, который может создавать оповещения на основе событий, полученных с серверов Linux.
Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.
Из консоли управления
- В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
- Выберите нужный сервер управления в панели состояния Серверы управления.
- На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.
Вручную
- Нажмите кнопку Пуск, в поле Начать поиск введите services.msc и нажмите клавишу ВВОД.
- В области сведений щелкните правой кнопкой мыши службу System Center Operations Manager External DataSource Service и выберите Свойства.
- На вкладке Общие в поле Тип запуска выберите Автоматически и нажмите кнопку ОК.
- В области сведений щелкните правой кнопкой мыши службу и выберите Запустить.
Создание файла конфигурации 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 следует выполнить следующие шаги. В следующих разделах каждый этап рассматривается более подробно.
- Импортируйте самую свежую версию пакета управления Linux.
- Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
- Создайте файл конфигурации Fluentd для сбора журналов.
- Скопируйте файл конфигурации на агенты Linux.
- С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.
Установка последней версии агента Linux
Последняя версия агента Linux поддерживает модуль Fluentd, который необходим для улучшенного мониторинга файла журнала. Подробные сведения о новом агенте и процесс его установки описаны в статье об установке агента в UNIX и Linux из командной строки.
Настройка мониторинга файла журнала Linux
Набор пакетов управления Linux содержит последнюю версию агента Operations Manager (с поддержкой Fluentd). Чтобы настроить мониторинг файла журнала Linux, пользователи должны сделать следующее.
- Импортируйте самый свежий пакет управления Linux, используя стандартный процесс установки пакета управления.
- Установите новый агент Linux на серверах Linux с помощью мастера обнаружения или вручную.
- Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.
Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Пользователи должны импортировать пользовательский пакет управления, который может создавать оповещения на основе событий, полученных с серверов Linux.
Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.
Из консоли управления
- В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
- Выберите нужный сервер управления в панели состояния Серверы управления.
- На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.
Вручную
- Нажмите кнопку Пуск, в поле Начать поиск введите services.msc и нажмите клавишу ВВОД.
- В области сведений щелкните правой кнопкой мыши службу System Center Operations Manager External DataSource Service и выберите Свойства.
- На вкладке Общие в поле Тип запуска выберите Автоматически и нажмите кнопку ОК.
- В области сведений щелкните правой кнопкой мыши службу и выберите Запустить.
Создание файла конфигурации 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 System Center Operations Manager 2019.
- Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
- Установите последнюю версию OMSAgent на каждом отслеживаемом компьютере Linux.
- Создайте файл конфигурации Fluentd для сбора журналов.
- Скопируйте файл конфигурации на агенты Linux.
- С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.
- Импортируйте последнюю версию пакета управления System Center Operations Manager 2022 Linux.
- Установите свежую версию агента Linux на каждый компьютер Linux, для которого вы настраиваете мониторинг.
- Установите последнюю версию OMSAgent на каждом отслеживаемом компьютере Linux.
- Создайте файл конфигурации Fluentd для сбора журналов.
- Скопируйте файл конфигурации на агенты Linux.
- С помощью образца пакета управления создайте правила и мониторы для сбора событий из журнала и формирования предупреждений.
Установка пакета управления мониторингом журналов
Установите пакет управления Microsoft.Linux.Log.Monitoring , чтобы включить мониторинг файлов журнала Linux.
Примечание
Если у вас настроен агент OMS и вы пытаетесь удалить агент UNIX и LINUX из консоли, компонент OMS не будет удален из агента.
Настройка мониторинга файла журнала Linux
Чтобы настроить мониторинг файлов журнала Linux, выполните следующие действия.
Импортируйте последнюю версию пакета управления System Center Operations Manager 2019 Linux , используя стандартный процесс установки пакета управления.
Установите новый агент Linux на серверах Linux вручную или [с помощью мастера обнаружения](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Установите последнюю версию 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:
Импортируйте последнюю версию пакета управления System Center Operations Manager 2022 Linux , используя стандартный процесс установки пакета управления.
Установите новый агент Linux на серверах Linux вручную или [с помощью мастера обнаружения](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Установите последнюю версию 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:
Создайте папки по следующим путям с помощью приведенных ниже команд:
# 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
Задайте для каждой из указанных выше папок значение
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
Создайте файлы 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
Задайте для каждого из указанных выше файлов значение
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
Измените файл
/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}
Перезапустите OMSAgent:
/opt/microsoft/omsagent/bin/service_control restart
Проверьте состояние в журнале omsagent:
tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
Включение службы OMED
Включите службу OMED на каждом сервере управления в пуле ресурсов, который управляет агентами Linux.
Служба OMED собирает события с модуля Fluentd и преобразует их в события Operations Manager. Импортируйте пользовательский пакет управления, который будет генерировать оповещения на основе событий, полученных от серверов Linux.
Службу OMED можно включить из консоли управления или вручную на сервере управления или сервере шлюза.
- В консоли управления последовательно выберите пункты МониторингOperations ManagerСервер управленияСостояние серверов управления.
- Выберите нужный сервер управления на панели Состояние серверов управления.
- На панели Задачи выберите Задачи службы работоспособностиВключить сервер System Center OMED.
Добавление правила брандмауэра OMED
Чтобы включить правило брандмауэра OMED, можно добавить порт (TCP/8886) автоматически с помощью PowerShell или вручную.
- Автоматическое добавление правила с помощью PowerShell
- Добавление правила вручную с помощью брандмауэра Windows
Выполните следующие действия, чтобы автоматически добавить правило с помощью PowerShell:
Следующая команда позволяет автоматически добавить правило брандмауэра:
Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886
Назначение сертификата клиента для OMSAgent
У вас есть два варианта назначения сертификата клиента для OMSAgent.
- Ссылка на подписанный сертификат из агента OMI.
- Создайте сертификат клиента вручную для агента OMS.
Выберите необходимую вкладку, чтобы создать ссылку на подписанный сертификат агента OMI или создать сертификат клиента вручную из агента OMS:
Задайте для
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
Выполните следующую команду на компьютере 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
Выберите необходимую вкладку, чтобы скопировать код для соответствующего подключаемого модуля фильтра:
- Простое совпадение
- Эксклюзивное совпадение
- Повторяющиеся корреляции
- Коррелированные совпадения
- Эксклюзивная корреляция
- Преобразователь Operations Manager
Принимает до 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 | Целое число | Необязательный элемент. Указывает номер события, которое нужно получить. Если этот параметр опущен, модуль возвращает все события, созданные для этого компьютера и управляемой сущности. |
Дальнейшие действия
Сведения о создании настраиваемого представления для просмотра данных мониторинга из настраиваемого пакета управления файла журнала см. в статье Использование представлений в Operations Manager.
Чтобы узнать, как исследовать проблемы, выявленные пользовательским пакетом управления файлами журнала, ознакомьтесь со статьей Просмотр активных оповещений и сведений.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по