Мониторинг файлов журнала Linux в System Center Operations Manager
Примечание.
System Center Operations Manager не поддерживает мониторинг файлов журнала на основе fluentD после выхода на пенсию агента OMS, запланированного на август 2024 года.
System Center Operations Manager теперь предоставляет расширенные возможности мониторинга файлов журналов для серверов Linux с помощью последней версии агента, использующего Fluentd. Это обновление обеспечивает следующие улучшения по сравнению с предыдущим мониторингом файлов журнала:
- Символы подстановочной карточки в имени файла журнала и пути.
- Новые шаблоны совпадений для настраиваемого поиска по журналам, таких как простое совпадение, монопольное сопоставление, сопоставленное совпадение, повторная корреляция и монопольная корреляция.
- Поддержка универсальных подключаемых модулей Fluentd, опубликованных сообществом Fluentd.
Базовая операция
Базовая операция мониторинга файлов журнала в Linux включает следующие действия.
- Запись записывается в журнал агента Linux.
- Fluentd собирает запись и создает событие для сопоставления шаблонов.
- Событие отправляется в службу OMED на сервере управления и записывается в журнал событий службы System Center OMED на сервере управления. (The Журнал событий службы System Center OMED создается только в том случае, если событие успешно отправлено агентом Fluentd)
- Правила и мониторы в пользовательском пакете управления собирают события и создают оповещения в Operations Manager.
Общие сведения о конфигурации
Для мониторинга файлов журнала требуются следующие действия. Подробные сведения приведены в следующих разделах:
- Импортируйте последний пакет управления System Center Operations Manager 2019 Linux.
- Установите последнюю версию агента 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 Server.
Добавление правила брандмауэра 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
omikey.pem
файлаomsagent:omiusers
следующие значения:# Change owner of System Center Operations Manager-cert.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Change owner of System Center Operations Manager-key.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Выполните следующую команду на компьютере Linux, чтобы задать сертификат клиента агента OMS на сертификат OMI (сертификат агента Linux Operations Manager):
# 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 с помощью файла конфигурации. Чтобы использовать мониторинг журналов, необходимо создать файл конфигурации. Файл конфигурации содержит такие сведения, как имя файла исходного журнала, путь и фильтры для определения собираемых данных.
Главный файл конфигурации 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
or
# 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>
Фильтр
Директива фильтра имеет тот же синтаксис, что и Match , но позволяет более сложно фильтровать данные для обработки. Собранные события должны соответствовать критериям всех фильтров, которые необходимо добавить в выходные данные.
Здесь описано шесть подключаемых модулей фильтра для мониторинга файлов журнала. Используйте один или несколько этих фильтров, чтобы определить события, которые требуется собрать из файла журнала.
- Простое совпадение: filter_System Центр операций Manager_simple_match
- Монопольный матч: filter_System Operations Manager_excl_match
- Повторная корреляция: filter_System Центр операций Manager_repeated_cor
- Сопоставленное соответствие: filter_System Центр операций Manager_cor_match
- Монопольная корреляция: filter_System Operations Manager_excl_correlation
- Конвертер 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)
Директива соответствия определяет, как обрабатывать события, собранные из источника с соответствующими тегами. Только события с тегом, соответствующим шаблону, отправляются в целевое место вывода. Если несколько шаблонов перечислены внутри одного тега сопоставления , события могут соответствовать любому из перечисленных шаблонов. Параметр 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 создается только в том случае, если событие успешно отправлено в службу Внешних источников данных System Center Operations Manager (OMED).
Создание правил и мониторов
Пакет управления Linux не предоставляет модули для сбора событий из FluentD, пакет управления Linux упаковывается с агентом Linux. Это модуль fluentd в агенте Linux и службе OMED на сервере управления и шлюза, который предоставляет возможности для расширенного мониторинга файлов журнала.
Вам нужно создать собственный пакет управления с настраиваемыми правилами и мониторами, которые используют модуль Microsoft.Linux.OMED.EventDataSource для сбора событий из Fluentd. Помните, что имя компьютера в событии, отправленное через журнал событий службы System Center OMED, должно соответствовать имени компьютера в представлении компьютеров UNIX/Linux. Если имя компьютера не соответствует, вы не получите никаких оповещений.
В следующей таблице перечислены параметры Microsoft.Linux.OMED.EventDataSource.
Параметр | Тип | Описание |
---|---|---|
ComputerName | Строка | Обязательный. Указывает имя компьютера Linux, для которого будут считываться события. Параметр ComputerName чаще всего передается модулю с помощью нотации $Target, хотя его можно указать как любую строку. Этот модуль пытается считывать события, созданные заданным компьютером Linux. |
ManagedEntityId | Строка | Обязательный. Указывает идентификатор управляемой сущности отслеживаемой сущности. Параметр ManagedEntityId чаще всего передается модулю с помощью $Target\Id$. |
EventNumber | Целое | Необязательно. Указывает номер события, который требуется извлечь. Если этот параметр опущен, модуль возвращает все события, созданные для этого компьютера и управляемой сущности. |
Следующие шаги
Чтобы создать настраиваемое представление для просмотра данных мониторинга из пользовательского пакета управления файлами журнала, просмотрите представления с помощью представлений в Operations Manager.
Чтобы узнать, как исследовать проблемы, выявленные пользовательским пакетом управления файлами журнала, просмотрите активные оповещения и сведения.