Сбор и отправка журналов событий Windows с помощью OpenTelemetry
15 марта 2023 г.Если вы используете Windows, вам потребуется отслеживать события Windows. Недавнее распространение OpenTelemetry (OTel) Collector значительно упрощает мониторинг событий Windows с помощью ОпенТел. Вы можете использовать этот приемник либо в сочетании с любым сборщиком OTel, включая сборщик OpenTelemetry, но в этой статье мы будем использовать дистрибутив сборщика observIQ.
Ниже приведены шаги, чтобы быстро начать работу с дистрибутивом. Мы будем отправлять журналы событий Windows в популярный бэкэнд: Google Cloud Ops. Дополнительную информацию можно найти на странице GitHub.
Какие сигналы важны?
Журналы событий Windows записывают множество различных процессов операционной системы, активности приложений и учетных записей.
Некоторые соответствующие типы журналов, которые вы хотите отслеживать, включают:
* Статус приложения * Содержит информацию об установленных или работающих в системе приложениях. В случае сбоя приложения эти журналы могут содержать объяснение сбоя.
- Журналы безопасности
-
Эти журналы содержат информацию о процессах аудита и аутентификации в системе. Например, если пользователь пытается войти в систему или использовать права администратора.
* Системные журналы * Эти журналы содержат информацию о процессах, специфичных для Windows, например об активности драйверов. Все вышеперечисленные категории можно собрать с помощью приемника событий Windows — так что приступим.
Прежде чем начать
Если у вас еще нет сборщика OpenTelemetry с установленным последним приемником событий Windows, вам нужно будет сделать это в первую очередь. Дистрибутив сборщика OpenTelemetry, который мы используем сегодня, включает приемник событий Windows (и многие другие) и может быть установлен с помощью одного -line установщик здесь.
Для Linux
Чтобы установить с помощью сценария установки, выполните:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/observiq-otel-collector/releases/latest/download/install_unix.sh)" install_unix.sh
Чтобы установить напрямую с помощью соответствующего менеджера пакетов, перейдите на страницу установка на Linux.
Для Windows
Чтобы установить сборщик в Windows, выполните приведенную ниже команду Powershell, чтобы установить MSI без пользовательского интерфейса.
msiexec /i "https://github.com/observIQ/observiq-otel-collector/releases/latest/download/observiq-otel-collector.msi" /quiet
Кроме того, для интерактивной установки загрузите последнюю версию MSI. После загрузки MSI дважды щелкните файл загрузки, чтобы открыть мастер установки, и следуйте инструкциям по настройке и установке сборщика.
Дополнительную информацию об установке см. в разделе установка в Windows.
Для macOS
Чтобы установить с помощью сценария установки, выполните:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/observiq-otel-collector/releases/latest/download/install_macos.sh)" install_macos.sh
Дополнительные инструкции по установке см. в разделе установка на macOS.. р>
Для Kubernetes
Дополнительную документацию по развертыванию сборщика в Kubernetes можно найти в репозитории observiq-otel-collector-k8s.
Настройка приемника событий Windows
Теперь, когда дистрибутив установлен, давайте перейдем к вашему файлу конфигурации OpenTelemetry.
Если вы используете observIQ Collector, вы найдете его по следующему адресу:
C:Program FilesobservIQ OpenTelemetry Collectorconfig.yaml (Windows)
Отредактируйте файл конфигурации, включив в него приемник событий Windows, как показано ниже:
receivers:
windowseventlog:
channel: application
Вы можете отредактировать конкретный вывод, добавив или отредактировав следующее непосредственно под именем приемника и каналом:
{
"channel": "Application",
"computer": "computer name",
"event_id":
{
"id": 10,
"qualifiers": 0
},
"keywords": "[Classic]",
"level": "Information",
"message": "Test log",
"opcode": "Info",
"provider":
{
"event_source": "",
"guid": "",
"name": "otel"
},
"record_id": 12345,
"system_time": "2022-04-15T15:28:08.898974100Z",
"task": ""
}
Настройка полей журнала
Вы можете настроить следующие поля в конфигурации, чтобы указать, какие типы журналов вы хотите отправлять:
| Поле | По умолчанию | Описание | |----|----|----| | канал | требуется | Канал журнала событий Windows для мониторинга n | | max_reads | 100 | При первом запуске, где начать чтение журналов из API. Опции начинаются или заканчиваются n | | start_at | конец | Количество клиентских подключений (исключая подключения от реплик) n n | | опрос_интервал n n | 1с | Интервал, с которым канал проверяется на наличие новых записей в журнале. Эта проверка начинается заново после прочтения всех новых тел. н | | атрибуты | {} п п | Карта пар ключ: значение для добавления к атрибутам записи. н | | ресурс п п | {} п п | Карта пар ключ: значение для добавления к ресурсу записи. н | | операторы п п | [] п п | Массив операторов. Подробнее см. ниже n | | преобразователь | { n max_flush_count: 100, n flush_interval: 100 мс, n worker_count: max(1,runtime.NumCPU()/4) n } n | Карта пар ключ: значение для настройки преобразователя [entry.Entry][entry_link] в [pdata.LogRecord][pdata_logrecord_link], дополнительную информацию можно найти [здесь][converter_link] |
Операторы
Каждый оператор выполняет простую задачу, например анализ временной метки или JSON. Соедините вместе операторы для обработки журналов в нужном формате.
* У каждого оператора есть тип. * Каждому оператору может быть присвоен уникальный идентификатор. Если вы используете один и тот же тип оператора более одного раза в конвейере, вы должны указать идентификатор. В противном случае идентификатор по умолчанию равен значению типа. * Операторы будут выводиться следующему оператору в конвейере. Последний оператор в конвейере будет излучать из приемника. При желании выходной параметр можно использовать для указания идентификатора другого оператора, которому будут передаваться журналы напрямую. * Должны использоваться только синтаксические анализаторы и операторы общего назначения.
Как видите, этот дистрибутив значительно упрощает работу со сборщиком OpenTelemetry — благодаря однострочному установщику, интегрированным приемникам, экспортеру и пулу процессоров — и поможет внедрить стандарты OpenTelemetry везде, где это необходимо в ваших системах. р>
Также опубликовано здесь
Разработано ведущее изображение со стабильной диффузией.
Оригинал