Сбор и отправка журналов событий Windows с помощью OpenTelemetry

Сбор и отправка журналов событий 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 везде, где это необходимо в ваших системах.


Также опубликовано здесь

Разработано ведущее изображение со стабильной диффузией.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE