Skip to content

Использование Winlogbeat

Winlogbeat — это агент из стека Elastic, предназначенный для сбора событий Windows Event Log и их передачи в централизованные системы анализа.

Подходит для:

  • сбора системных и прикладных событий Windows
  • отправки логов по сети (через Logstash / TCP / HTTP)
  • интеграции с SIEM и log management решениями

Где взять

Официальный сайт:

Доступна бесплатная версия (Basic License).

Установка

Windows

  1. Скачать архив Winlogbeat (zip)

  2. Распаковать, например:

    C:\Program Files\Winlogbeat
  3. Открыть PowerShell от имени администратора

  4. Установить сервис:

powershell
cd "C:\Program Files\Winlogbeat"
.\install-service-winlogbeat.ps1

Основной файл конфигурации

winlogbeat.yml

Базовая настройка сбора событий

yaml
winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System

Варианты отправки в ЖУРНАЛЛИСТ

Вариант 1 (рекомендуемый): через Logstash → Syslog → ЖУРНАЛЛИСТ

Winlogbeat нативно не отправляет syslog, поэтому используется промежуточный слой.

Конфигурация Winlogbeat

yaml
output.logstash:
  hosts: ["logstash-server:5044"]

Конфигурация Logstash (пример)

conf
input {
  beats {
    port => 5044
  }
}

output {
  syslog {
    host => "journalist-server"
    port => 514
    protocol => "tcp"
  }
}

Вариант 2: через TCP/UDP (через output.logstash + кастомный pipeline)

Можно настроить Logstash как простой прокси или преобразователь.

Вариант 3: через File → rsyslog (альтернатива)

Winlogbeat пишет в файл, rsyslog отправляет:

yaml
output.file:
  path: "C:/logs"
  filename: winlogbeat

Затем rsyslog/NXLog отправляет данные дальше.

Запуск и управление

Запуск

powershell
Start-Service winlogbeat

Перезапуск

powershell
Restart-Service winlogbeat

Проверка

Лог Winlogbeat:

C:\Program Files\Winlogbeat\logs\winlogbeat

Проверить:

  • нет ли ошибок подключения
  • отправляются ли события
  • приходят ли события в ЖУРНАЛЛИСТ

Фильтрация событий

Пример: только ошибки и предупреждения

yaml
processors:
  - drop_event.when.not.or:
      - equals.winlog.level: "error"
      - equals.winlog.level: "warning"

Добавление метаданных

yaml
fields:
  source: windows
  environment: production

Рекомендации

  • использовать Logstash как буфер и нормализатор
  • ограничивать поток событий (особенно Security log)
  • добавлять метки (environment, role, system)
  • комбинировать с NXLog при необходимости syslog

Когда использовать Winlogbeat

Winlogbeat оптимален:

  • для глубокой работы с Windows Event Log
  • в инфраструктурах, где уже используется Elastic Stack
  • когда важна фильтрация и структурированность данных

NXLog vs Winlogbeat (кратко)

| Критерий | NXLog | Winlogbeat | | Syslog (native) | ✓ | — | | Windows Event Log | ✓ | ✓✓ | | Гибкость маршрутизации | ✓ | (через Logstash) | | Простота | ✓ | ✓ | | Интеграция с Elastic | (огр.) | ✓✓ |

Вывод

Winlogbeat — мощный инструмент для работы с Windows-событиями, но для интеграции с Syslog-инфраструктурой (ЖУРНАЛЛИСТ) обычно требуется промежуточный слой (Logstash или аналог).