Перейти к содержанию

Пример конфигурационного файла лог-коллектора

######################
# Основные настройки #
######################
# Централизованное управление
cluster:
  url: "http://<ip адрес Платформы Радар>:9000/cm/api/agent/"
  api_key: "<ключ API>"

# Контроллер компонентов
controller:
  # Порт компонента, обязательный параметр
  port: 48000

# Компонент сбора метрик и статистики
metric_server:
  # Порт компонента, обязательный параметр
  port: 48005

# Защищенное хранилище
# Путь к файлу с секретом
secret_file: "C:\\log-collector\\secret"
# Путь к хранилищу секретов
secret_storage: "C:\\log-Collector\\secret.storage"

# Компонент API
api_server:   # ip адрес, на котором будем слушать http сервер
  address: "<Внещний ip адрес сервера, на котором установлен лог-коллектор>"
  # Порт на котором будем слушать http сервер, обязательный параметр
  port: 8080
  # Таймаут чтения (получение запроса), обязательный параметр
  read_timeout: 60
  # Таймаут записи (отправка запроса), обязательный параметр
  write_timeout: 60
  # Время ожидания окончания обработки запроса при получении сигнала на остановку приложения
  # Обязательный параметр
  wait: 5
  # Включение https (защищенного соединения)
  enable_tls: false
  # Путь для файла сертификатов, если enable_tls: false параметр не обязательный
  cert_file: "certs/server.crt"
  # Путь для файла ключей, если enable_tls: false параметр не обязательный
  key_file: "certs/server.key"
  # Пароль для расшифровки файла ключей, если не указан считаем, что файл не зашифрован
  cert_key_pass: ""
  # Включение проверки клиентского сертификата, обязательный параметр
  require_client_cert: true
  # Путь до корневого сертификата, обязательный параметр
  ca_file: "certs/ca.crt"
  # Уровень логирования, если не указан используется указанный в компоненте журналирования
  log_level: "INFO"

# Компонент журналирования
journal:\
  # Порт компонента, обязательный параметр\
  port: 48004
  # Eровень логирования по умолчанию. Возможные значения - DEBUG, INFO, WARN, ERROR.
  #Обязательный параметр
  log_level: "INFO"
  # Путь к файлу журнала, обязательный параметр
  log_path: "C:\\log-collector\\journal.log"
  # Порог ротации файла логов, указывается в мегабайтах, обязательный параметр
  rotation_size: 30
  # Порог количества файлов истории, если не указано файлы удаляться не будут
  max_backups: 7
  # Максимальное количество дней для хранения старых файлов журнала на основе метки времени
  # Если не указано, файлы удаляться не будут (в днях).
  max_age: 7

###########
# outputs #
###########
  # Отправки событий в KAFKA
  kafka_output: &kafka_output
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "kafka_output"
  # Включение проверки сертификата (default: false)
  require_cert: fals
  # Включение ssl (default: false)
  ssl_enable: false
  # Путь для файла сертификатов, если ssl_enable: false параметр не обязательный
  cert_file: "certs/server.crt"
  # Путь для файла ключей, если ssl_enable: false параметр не обязательный
  key_file: "certs/server.key"
  # Пароль для расшифровки файла ключей, если не указан считаем что файл не зашифрован
  cert_key_pass: ""
  # Путь до корневого сертификата, если ssl_enable: false параметр не обязательный
  ca_file: "certs/ca.crt"
  # Таймауту отправки события в секундах, обязательный параметр
  timeout: 10
  # Топик в который попадет событие, обязательный параметр
  topic: "<наименование топика>"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Кafka брокеры, обязательный параметр
  brokers:
    - "<ip адрес или имя удаленного узла>:9092"
  # Максимальное количество сообщений в буфере
  queue_length_limit: 3
  # Максимальное время жизни событий в очереди (в секундах)
  queue_time_limit: 3

# Вывод в файл
out_file: &out_file
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "file_output"
  # Путь до файла куда будут записываться события, обязательный параметр
  file: "ouput_file.txt"
  # Порог ротации в мегабайтах, если указан ноль ил не указан совсем ротация не происходит (default: 0)
  rotation_size: 10
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

# Отправка по протоколу udp
  udp_output: &udp_output
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "udp_output"
  # Адрес куда отправлять события
  target_host: "<ip адрес или имя удаленного узла>"
  # Порт, на который отправлять события. Обязательный параметр
  port: <порт на целевой системе>
  # Размер буфера для отправки, если не указан или равен нулю используется системное значение (default: 0)
  sock_buf_size: 0
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

# Отправка по протоколу tcp
tcp_output: &tcp_output
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "tcp_output"
  # Адрес куда отправлять события, обязательный параметр
  target_host: "<ip адрес или имя удаленного узла>"
  # Порт куда отправлять события, обязательный параметр
  port: <порт на целевой системе>
  # Включение batch режима (default: false)
  batch_mode_enable: false
  # Период отправки пакета в секунундах при включенном batch режиме (default: 5)
  batch_flush_interval: 5
  # Количество сообщений которые попадут в пакет при включенном batch режиме (default: 500)
  batch_flush_limit: 500
  # Включение сжатия, включение при выключенном batch режиме ощутимо замедляет отправку (default: false)
  ssl_compression: false
  # Включение проверки сертификата (default: false)
  require_cert: false
  # Включение ssl (default: false)
  ssl_enable: false
  # Путь для файла сертификатов, если enable_tls: false параметр не обязательный
  cert_file: "client-cert.pem"
  # Путь для файла ключей, если enable_tls: false параметр не обязательный
  key_file: "client-key.pem"
  # Пароль для расшифровки файла ключей, если не указан считаем что файл не зашифрован
  cert_key_pass: ""
  # Путь до корневого сертификата, если enable_tls: false не обязательный параметр
  ca_file: "ca.pem"
  # уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # максимальное количество сообщений в буфере
  queue_length_limit: 1500
  # максимальное время жизни событий в очереди. в секундах
  queue_time_limit: 300

##########
# inputs #
##########
# Работает только на ОС Windows
eventlog_collector: &eventlog_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "eventlog_collector"
  # Имя канала (Security, Application, System, ForwardedEvents)
  # Используется если не указан путь к файлу
  channel: ['Security']
  # Запрос описывающий тип получаемого события. Может быть в формате
  # XPath 1.0 или структурированный XML запрос. Если XPath содержит более 20 параметров,   # следует использовать структурированный XML запрос.
  # Чтобы получить все параметры укажите "*"
  query: "*"
  # Полный путь к файлу журналов событий
  # Поддерживаемые форматы: .evt, .evtx, .etl
  file: ""
  # Размер запроса
  batch_size: 50
  # Таймаут запроса в секунда
  timeout: 5
  # Интервал между запуском запроса в секундах
  poll_interval: 30
  # Чтение с последней сохраненной позиции
  read_from_last: true
  # Конвертировать SID в имя
  resolve_sid: false
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования. Если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Параметры удаленного подключения
  remote:
    # Включение удаленного соединения
    enabled: false
    # Имя пользователя, обязательно если enabled: true
    user: ""
    # Пароль пользователя, обязательно если enabled: true
    password: ""
    # Домен пользователя
    domain: "."
    # Адрес удаленного сервера
    remote_servers: ["<ip адрес удаленного узла>", "<имя удаленного узла>"]
    # Доступные методы авторизации: Negotiate, Kerberos, NTLM
    auth_method: "Negotiate"
  # Фильтрация по полям события, регулярные выражения
  filters:
    # Время. Формат 2020-08-13 10:02:55.9689259 +0000 UTC
    created: ''
    # Числовые фильтры
    # Пример для числовых фильтров - ^([5-9]\d|\d{3,})$
    event_id: ''
    qualifiers: ''
    record_id: ''
    process_id: ''
    thread_id: ''
    version: ''
    # Строковые фильтры
    # пример: DESKTOP-IDCMV6G
    computer_name: ''
    msg: ''
    # Возможные значения: Information, Warning, Error
    level_text: ''
    # Пример: Service State Event
    task_text: ''
    # Пример: ServiceShutdown
    opcode_text: ''
    # Пример: System
    channel_text: ''
    # Пример: System
    provider_text: ''

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# Работает только на ОС Windows XP, 2003
eventlog_xp_collector: &eventlog_xp_collector
  # Название компонента, отображается в логах и метриках, уникальный 
  # Обязательный параметр
  id: "eventlog_xp_collector"
  # Имя канала
  channel: ['Security']
  # Интервал между запуском запроса в секундах
  poll_interval: 5
  # Чтение с последней сохраненной позиции
  read_from_last: false
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Фильтрация по полям события, регулярные выражения
  filters:
    # Время
    # формат 2020-08-13 10:02:55.9689259 +0000 UTC
    created: ''
    # Числовые фильтры
    # Пример для числовых фильтров - ^([5-9]\d|\d{3,})$
    event_id: ''
    qualifiers: ''
    record_id: ''
    process_id: ''
    thread_id: ''
    version: ''
    # Строковые фильтры
    # пример: DESKTOP-IDCMV6G
    computer_name: ''
    msg: ''
    # Возможные значения: Information, Warning, Error
    level_text: ''
    # Пример: Service State Event
    task_text: ''
    # Пример: ServiceShutdown
    opcode_text: ''
    # Пример: System
    channel_text: ''
    # Пример: System
    provider_text: ''

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

odbc_collector: &odbc_collector
  # Названия компонента, отображается в логах и метриках, уникальный обязательный параметр
  id: "odbc_collector"
  # Интервал между запуском запроса в секундах
poll_interval: 5
  # Чтение с последней сохраненной позиции (default: false)
read_from_last: true
  # Строка подключения, обязательный параметр
connection_string: "server=<ip адрес или имя удаленного узла>;port=<порт>;driver=<названиедрайвера>;database=<название базыданных>;Uid=<пользователь>;Pwd=<пароль>"
  # SQL запрос, обязательный параметр
  sql: \>
    SELECT id, name, dsc
    FROM test WHERE id \> ?;
  # Поле, которое будет использоваться как закладка для сохраненияпозиции, обязательный параметр
  bookmark_field: "id"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# Работает только на ОС Windows
wmi_collector: &wmi_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "wmi_collector"
  # интервал между запуском запроса в секундах
  poll_interval: 5
  # Список серверов к которым уйдет wmi запрос, обязательный параметр
  remote_servers:
    - "localhost"
    - "<имя удаленного узла>"
    - "<ip адрес удаленного узла>"
  # Имя пользователя, обязательно если это не локальный сбор
  # Для сбора в домене "domain\\user"
  user: "user"
  # Пароль пользователя, обязательно если это не локальный сбор
  password: ""
  # Чтение с последней сохраненной позиции
  read_from_last: true
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Блэклист фильтры по полям события, используются регулярные выражения
  wmi_filters:
    # Числовые поля
    category: ''
    event_code: ''
    event_identifier: ''
    event_type: ''
    record_number: ''
    # Строковые поля
    computer_name: ''
    message: ''
    source_name: ''
    type: ''
    user: ''
    time_generated: ''
    time_written: ''

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# Работает только на ОС Windows
etw_collector: &etw_collector
  # Уникальный идентификатор компонента, отображается в журналах иметриках.
  # Обязательный параметр
  id: "etw_collector"
  # Имя провайдера или GUID
  # Формат GUID должен быть "{9E814AAD-3204-11D2-9A82-006008A86939}"
  provider: "{A68CA8B7-004F-D7B6-A698-07E2DE0F1F5D}"
  kernel_args: [ "ALPC", "CSWITCH", "DBGPRINT", "DISK_FILE_IO", "DISK_IO", "DISK_IO_INIT", "DISPATCHER", "DPC", "DRIVER", "FILE_IO", "FILE_IO_INIT", "IMAGE_LOAD","INTERRUPT", "MEMORY_HARD_FAULTS", "MEMORY_PAGE_FAULTS", "NETWORK_TCPIP", "NO_SYSCONFIG", "PROCESS", "PROCESS_COUNTERS", "PROFILE", "REGISTRY", "SPLIT_IO", "SYSTEMCALL", "THREAD", "VAMAP", "VIRTUAL_ALLOC" ]
  provider_level: "Information"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# Работает только на ОС Linux
opsec_lea_collector: &opsec_lea_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "opsec_lea_collector"
  # Директория расположения утилиты lea_client.
  exec_path: "opsec"
  # Периодичность проверки наличия новых записей в журналах.
  poll_interval: 5
  # Сохранение позиции последнего чтения из журнала (сохранение на диск), возобновление чтения с последней сохраненной позиции.
  read_from_last: false
  # Сервер для сбора событий.
  remote_server: "<ip адрес или имя удаленного узла>"
  # Порт для аутентификации.
  auth_port: 18184
  # Аутентификация для OPSEC.
  auth_type: "sslca"
  # Параметры авторизации.
  opsec_sic_name: "CN=lea_logger,O=vmfw..ktz7qd"
  opsec_sslca_file: "/home/lea/lea_client/opsec.p12"
  opsec_entity_sic_name: "cn=cp_mgmt,o=vmfw..ktz7qd"
  opsec_sic_policy_file: ""
  # Название собираемого журнала.
  log_filename: "fw.log"
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

ssh_collector: &ssh_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "ssh_collector"
  # Имя пользователя для удаленного подключения, обязательный параметр
  user: "user"
  # Список хостов для подключения, обязательный параметр
  remote_servers: ["<ip адрес удаленного узла>", "<имя удаленного узла>"]
  # Порт для подключения (default: 22)
  port: 22
  # Путь к файлу с ssh ключами, обязательный параметр
  rsa: "./ssh"
  # Пароль от файла с ключами
  password: ""
  # Команда для выполнения по ssh, обязательный параметр
  command: "tail -F -n +$$$line$$$ /var/log/sshfile.txt"
  # Если установлено - файл будет читаться с последней позиции при следующем тике или после перезапуска
  read_from_last: true
  # Интервал между выполнением команд(в секундах)
  ticker: 30
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"
  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

smb_collector: &smb_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "smb_collector"
  # Список хостов для подключения, обязательный параметр
  remote_servers: ["<ip адрес удаленного узла>", "<имя удаленного узла>"]
  # Порт подключения
  port: 445
  # SMB share. sharename должен соответсвовать формату `<share>` или `\\\\<server>\\<share>`, обязательный параметр
  share: "<путь к общему ресурсу>"
  # Домен
  domain: "."
  # NTLMv2 пользователь, обязательный параметр
  user: "user"
  # NTLMv2 пароль(или hash), обязательный параметр
  password: "password"
  # настройки аутентификации kerberos
  kerberos:
    # Включение авторизации kerberos
    enabled: false
    # имя целевого сервиса (service principal name)
    target_spn: "pdc"
    # kerberos realm
    realm: "PANGEO.LOCAL"
     # путь до конфигурации kerberos
    config_path: "assets/krb5/krb5.conf"
  # Интервал между запуском сканирования файлов в секундах
  poll_interval: 5
  # Список файлов для чтения, обязательный параметр
  files: [ "smbfile.txt" ]
  # Если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: true
  # Начальный каталог для поиска файлов
  regexp_starting_dir: "."
  # Регулярное выражение для поиска файлов
  regexp_expression: ".(?:txt\|log)$"
  # Интервал проверки файлов (в секундах) в дереве каталогов
  dir_check_interval: 5
  # Если установлено - файл будет читаться с последней позиции в
  следующем тике или после перезапуска
  read_from_last: true
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

ftp_collector: &ftp_collector
  # Уникальный идентификатор компонента, отображается в журналах иметриках.
  # Обязательный параметр
  id: "ftp_collector"
  # Список хостов для подключения, обязательный параметр
  remote_servers: ["<ip адрес удаленного узла>", "<имя удаленного узла>"]
  # Порт для ftp запросов, обязательный параметр
  port: 21
  # ftp пользователь, обязательный параметр
  user: ""
  # ftp пароль, обязательный параметр
  password: ""
  # Интервал между сканированием файла в секундах
  poll_interval: 5
  # Список файлов для чтения, обязательный параметр
  files: ["ftpfile.txt"]
  # Если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: true
  # Начальный каталог для поиска файлов
  regexp_starting_dir: "."
  # Регулярное выражение для поиска файлов
  regexp_expression: ".(?:txt|log)$" #"^.*_logs$"
  # Интервал проверки файлов (в секундах) в дереве каталогов (default: 5)
  dir_check_interval: 5
  # Если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

sftp_collector: &sftp_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "sftp_collector"
  # Список хостов для подключения, обязательный параметр
  remote_servers: ["<ip адрес удаленного узла>", "<имя удаленного узла>"]
  # Порт для sftp запросов, обязательный параметр
  port: 22
  # Пользователь ssh, обязательный параметр
  user: "user"
  # Пароль ssh, обязательный параметр
  password: "password"
  # Интервал между сканированием файла в секундах
  poll_interval: 5
  # Список файлов для чтения, обязательный параметр
  files: ["sftptest.txt"]
  # Если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: false
  # Начальный каталог для поиска файлов
  regexp_starting_dir: "upload"
  # Регулярное выражение для поиска файлов
  regexp_expression: ".(?:txt\|log)\$" #"\^.*\_logs\$"
  # Интервал проверки файлов (в секундах) в дереве каталогов
  dir_check_interval: 5
  # Если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

netflow_input: &netflow_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "netflow_input"
  # Хост на каком запустится сервер (default: localhost)
  host: "<ip адрес лог-коллектора>"
  # Порт на каком запустится сервер (обязательное)
  port: 2162
  # Размер буфера сообщений (если не задано то берется из SO_RCVBUF)
  sock_buf_size: 0
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень сообщений в логах, могут быть значения - DEBUG, INFO, WARN, ERROR
  log_level: "INFO"

tcp_input: &tcp_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "tcp_input"
  # Хост на каком запустится сервер
  host: "<ip адрес лог-коллектора>"
  # Порт на каком запустится сервер
  port: <порт для приема соединений>
  # Включение TLS соединения на сервере
  enable_tls: false
  # Файл с приватным ключом (обязательное поле при включенном TLS)
  key_file: "certs/server.key"
  # Файл с сертификатом должно быть подписанным сертификатом CA (обязательное поле при включенном TLS)
  cert_file: "certs/server.crt"
  # Файл с паролем если сертификат подписывался с паролем
  cert_key_pass: ""
  # Файл с сертификатом CA (обязательное поле при включенном TLS)
  ca_file: "certs/ca.crt"
  # Проверять ли сертификаты клиента
  require_client_cert: false
  # Нужна ли распаковка тела запроса, ожидается, что клиент упаковал тело запроса в архив (default: false)
  compression_enabled: false
  # Количество соединений которые может принять сервер
  connections_limit: 10
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

udp_input: &udp_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "udp_input"
  # Хост на каком запустится сервер
  host: "<ip адрес лог-коллектора>"
  # Порт на каком запустится сервер
  port: <порт для приема соединений>
  # Размер буфера сообщений (если незаданно то берется из SO_RCVBUF)
  sock_buf_size: 0
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

http_input: &http_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "http_input"
  # Хост на каком запустится сервер (default: localhost)
  host: "<ip адрес лог-коллектора>"
  # Порт на каком запустится сервер (обязательное)
  port: <порт для приема соединений>
  # Включение TLS соединения на сервере (default: false)
  enable_tls: false
  # Файл с приватным ключом (обязательное поле при включенном TLS)
  key_file: "certs/server.key"
  # Файл с сертификатом должно быть подписанным сертификатом CA (обязательное поле при включенном TLS)
  cert_file: "certs/server.crt"
  # Файл с паролем если сертификат подписывался с паролем
  cert_key_pass: ""
  # Файл с сертификатом CA (обязательное поле при включенном TLS)
  ca_file: "certs/ca.crt"
  # Проверять ли сертификаты клиента (default: false)
  require_client_cert: false
  # Количество соединений которые может принять сервер
  connections_limit: 10
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

http_collector: &http_collector
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "http_collector"
  # Удаленный адрес для вызовов http (обязательное)
  remote_server: "<ip адрес или имя удаленного узла>"
  # Удаленный порт (default: 80)
  port: <порт на целевой системе>
  # Имя пользователя для базовой авторизации, если пустое, считаем, что авторизация выключена
  basic_auth_user: ""
  # Пароль для базовой авторизации
  basic_auth_password: ""
  # Ограничение по времени для запросов, сделанных http-клиентом в секундах (default: 10)
  timeout: 10
  # Если установлено - будет использоваться tls клиент
  enable_tls: false
  # Путь к .key файлу, обязательно если enable_tls: true
  key_file: "certs/server.key"
  # Путь к .crt файлу, обязательно если enable_tls: true
  cert_file: "certs/server.crt"
  # Пароль к файлу сертификатов
  cert_key_pass: ""
  # Путь к файлу с набором корневых центров сертификации. обязательный параметр, если enable_tls: true
  ca_file: "certs/ca.crt"
  # Имя файла для получения по http
  file: "httptest.txt"
  # Если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска (default: false)
  read_from_last: true
  # Интервал между http-вызовами в секундах
  poll_interval: 5
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

file_input: &file_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "file_input"
  # Интервал между чтениями файла, в секундах
  poll_interval: 5
  # Список файлов для чтения
  files: ["logfile.txt"]
  # Использовать regexp для поиска файлов
  using_regexp: false
  # Начальный каталог для поиска файлов
  regexp_starting_dir: "."
  # regexp для поиска файлов
  regexp_expression: "\^.*\_logs\$"
  # Интервал поиска файлов в секундах, в дереве каталогов (default: 2)
  dir_check_interval: 2
  # Если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true
  # Создает file watchers для всех файлов
  enable_watcher: true
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: true
    # Кодировка оригинала
    original_encoding: "cp1251"

external_command_input: &external_command_input
  # Уникальный идентификатор компонента, отображается в журналах и метриках.
  # Обязательный параметр
  id: "external_command_input"
  # Интервал между выполнениями команд
  poll_interval: 5
  # Команда bash/cmd
  command: "<команда выполнения скрипта>"
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: true
    # Кодировка оригинала
    original_encoding: "cp1251"

snmp_trap: &snmp_trap
  # Уникальный идентификатор компонента, отображается в журналах и метиках.
  # Обязательный параметр
  id: "snmp_trap"
  # Адресс snmp менеджера
  host: "<ip адрес лог-коллектора>"
  # Порт для запуска snmp менеджера
  port: 162
  # Принимать только аутентифицированные SNMP v3 Traps
  allow_authenticated_only: false
  # Список директорий с .mib файлами для конвертации oid
  # Если не указаны, oid будут передаваться в сыром виде
  mib_dirs:
    - dir1
    - dir2
    - dir3
  # Параметры безопасности
  # Методы аутентификации. Возможные значения:
  # - MD5
  # - SHA
  auth_proto: "SHA"
  # Методы шифрования. Поддерживается только DES.
  encrypt_proto: "DES"
  # Имя SNMP пользователя
  user_name: "admin"
  # Пароль аутентификации. Используется с MD5 или SHA
  authentication_passphrase: "admin"
  # Пароль шифрования для DES
  privacy_passphrase: "admin"
  # Используется в SNMPv3 для идентификации сущностей.
  authoritative_engine_id: "880000009fe71969bdd782bbc691c06b524d70324abe96c0755"
  # Формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "raw"
  # Уровень логирования, если не указан используется уровень компонента журналирования
  log_level: "INFO"

  # Возможно применение опций смены кодировки
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

##############
# collectors #
##############
# Включение компонентов сбора событий
# Обязательная секция
collectors:
  log_level: "INFO"
  # opsec_lea коллектор
  #opsec_lea:
    # - <<: *opsec_lea
  # etw коллектор, работает только на windows
  #etw:
    # - <<: *etw_collector
  # чтение из локального файла
  #files:
    # - <<: *file_input
  # коллектор выполняющий сторонней командой
  #external_command:
    # - <<: *external_command_collector
  # wmi коллектор, работает только на windows
  #wmi:
    # - <<: *wmi_collector
  # event_log коллектор, работает только на windows vista и старше
  #event_log:
    # - <<: *eventlog_collector
  # event_log_xp коллектор, работает только на windows xp
  #event_log_xp:
    # - <<: *eventlog_xp_collector
  # odbc коллектор
  #odbc:
    # - <<: *odbc_collector
  # ssh коллектор
  #ssh:
    # - <<: *ssh_collector
  # smb коллектор
  #smb:
    # - <<: *smb_collector
  # ftp коллектор
  #ftp:
    # - <<: *ftp_collector
  # sftp коллектор
  #sftp:
    # - <<: *sftp_collector
  # tcp коллектор, пассивный прием
  #tcp_receiver:
    # - <<: *tcp_input
  # udp коллектор, пассивный прием
  #udp_receiver:
    # - <<: *udp_input
  # netflow коллектор, пассивный прием
  #nf_receiver:
    # - <<: *netflow_input
  # http коллектор, пассивный прием
  #http_receiver:
    # - <<: *http_input
  # http коллектор, удаленный сбор событий
  #http_collector:
    # - <<: *http_collector
  # snmp trap коллектор, пассивный прием
  #snmp_trap:
    # - <<: *snmp_trap

###########
# senders #
###########
# Включение компонентов отправки событий
# Обязательная секция
senders:
  # Порт компонента, обязательный параметр
  port: 48002
  # Уровень логирования, если не указан используется уровень логирования компонента журналирования
  log_level: "INFO"
  # Отправка в журнал
  #stdout:
    # Названия компонента, отображается в логах и метриках, уникальный обязательный параметр
    # - id: "stdout"
  # Запись в файл
  #out_file:
    # - <<: *out_file
  # Отправка в kafka
  #kafka:
    # - <<: *kafka_output
  # Отправка по протоколу tcp
  #tcp:
    # - <<: *tcp_output
  # Отправка по протоколу udp
  #udp:
    # - <<: *udp_output

##########
# routes #
##########
# Настройка маршрутов
# Обязательная секция
route_1: &route_1
  collector_id:
    - "eventlog_collector"
    - "tcp_input"
  sender_id:
    - "tcp_output"

route_2: &route_2
  collector_id:
    - "udp_input"
  sender_id:
    - "tcp_output"
    - "udp_output"
    - "kafka_output"

###########
# routers #
###########
# Включение маршрутов
# Обязательная секция
routers:
  - <<: *route_1
  - <<: *route_2