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

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

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

# Путь до файла лицензии
license_path: "./pgr-agent.lic"

# обязательная секция
controller:
  # порт модуля, обязательный параметр
  port: 48000

# обязательная секция
metric_server:
  # порт модуля, обязательный параметр
  port: 48005
  log_level: "ERROR"

# путь к файлу с секретом
secret_file: "secret"
# путь к хранилищу секретов
secret_storage: "secret.storage"

# обязательная секция
api_server:
  # хост на котором будем слушать http сервер
  address: ""
  # порт на котором будем слушать 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: "ERROR"

# обязательная секция
journal:
  # порт модуля, обязательный параметр
  port: 48003
  # Дефолтный уровень логирования. Возможные значения - DEBUG, INFO, WARN, ERROR. Обязательный параметр
  log_level: "WARN"
  # путь к файлу логов, обязательный параметр
  log_path: "journal.log"
  # порог ротации файла логов, указывается в мегабайтах, обязательны параметр
  rotation_size: 10
  # порог количества файлов истории, если не указано файлы удаляться не будут
  max_backups: 10
  # максимальное количество дней для хранения старых файлов журнала на основе метки времени, если не указано файлы удаляться не будут
  max_age: 28 #in days

# outputs kafka
kafka: &kafka
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "kafka1"
  # включение проверки сертификата (default: false)
  require_cert: false
  # включение 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: "foo"
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # kafka брокеры, обязательный параметр
  brokers:
    - "localhost:19092"
    - "localhost:29092"
    - "localhost:39092"
  # максимальное количество сообщений в буфере
  #queue_length_limit: 3
  # максимальное время жизни событий в очереди. в секундах
  #queue_time_limit: 3

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

# отправка по протоколу udp
udp_sender: &udp_sender
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "udp_sender"
  # адрес куда отправлять события (default: "0.0.0.0")
  target_host: "0.0.0.0"
  # порт, на который отправлять события куда отправлять события, обязательный параметр
  port: 15483
  # размер буфера для отправки, если не указан или равен нулю используется системное значение (default: 0)
  sock_buf_size: 0
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "INFO"

# outputs tcp
tcp_sender: &tcp_sender
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "tcp_sender"
  # адрес куда отправлять события, обязательный параметр (default: "0.0.0.0")
  target_host: "0.0.0.0"
  #  порт куда отправлять события, обязательный параметр
  port: 15481
  # Включение 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: "certs/server.crt"
  # путь для файла ключей, если enable_tls: false параметр не обязательный
  key_file: "certs/server.key"
  # пароль для расшифровки файла ключей, если не указан считаем что файл не зашифрован
  cert_key_pass: ""
  # путь до корневого сертификата, если enable_tls: false не обязательный параметр
  ca_file: "certs/ca.crt"
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # максимальное количество сообщений в буфере
  #queue_length_limit: 3
  # максимальное время жизни событий в очереди. в секундах
  #queue_time_limit: 3

event_log_settings: &event_log
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "test_event_log"
  # Имя канала, используется если не указан путь к файлу
  channel: ['Application']
  # Запрос описывающий тип получаемого события. есть возможность указать
  # XPath 1.0 или структурированный XML запрос. Если XPath содержит более 20 параметров, следует
  # использовать структурированный XML запрос. Чтобы получить все параметры укажите "*"
  query: "*"
  # Полный путь к лог файлу
  # Поддерживаемые форматы: .evt, .evtx, .etl
  file:
  # Размер запроса
  batch_size: 31
  #  Таймаут запроса в секундах
  timeout: 3
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: false
  # Конвертировать SID в имя.
  resolve_sid: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "INFO"
  # количество параллельных воркеров (по умолчанию 1)
  worker_count: 1
  # Параметры удаленного подключения
  remote:
    # Включение удаленного соединения
    enabled: false
    # Имя пользователя, обязательно если enabled: true
    user: ""
    # Пароль пользователя, обязательно если enabled: true
    password: ""
    # Домен пользователя
    domain: ""
    # Адрес удаленного сервера
    remote_servers: ["localhost"]
    # Доступные методы авторизации: 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: 'System'
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# postgres sql connection string example
# Driver={PostgreSQL};Server=IP address;Port=5432;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
# mssql connection string example
# Driver={ODBC Driver 17 for SQL Server};Server=myServerAddress;Database=myDataBase;UID=myUsername;PWD=myPassword;
# Driver={ODBC Driver 17 for SQL Server};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
# Oracle
# DRIVER={Oracle ODBC Driver};UID=Kotzwinkle;PWD=whatever;DBQ=instl_alias;DBA=W;
odbctest: &odbctest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "odbc_test"
  # Категория к которой относится данный input
  categories: "file"
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Чтение с последней сохраненной позиции (default: false)
  read_from_last: false
  # Строка подключения, обязательный параметр
  connection_string: "server=localhost;port=3306;driver=MySQL ODBC 8.0 Driver;database=pangeo;user=root;password=example;"
  # SQL запрос, обязательный параметр
  sql: >
    SELECT id, message
    FROM pangeo.logs_table WHERE id > ?;
  # Поле, которое будет использоваться как закладка для сохранения позиции, обязательный параметр
  # Поле должно быть целочисленным
  # Поле должно быть указано в операторе SELECT
  bookmark_field: "id"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

wmi_settings: &wmi_settings
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "test_wmi"
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Список серверов к которым уйдет wmi запрос, обязательный параметр
  remote_servers:
    - "localhost"
  #  Имя пользователя, обязательно если это не локальный сбор
  user:
  #  Пароль пользователя, обязательно если это не локальный сбор
  password:
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: false
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # изменение кодировки входящего события, может быть прописана у любого коллектора
  encoding:
    # включение изменения кодировки
    change_to_utf8: false
    # оригинальная кодировка события, если оставить пустым, произойдет попытка определить кодировку
    # нет 100% гарантии определения
    original_encoding: "cp1251"
  # Собирать события начиная с заданного момента
  start_from_date: "2022-03-24T00:00:00+03:00"
  # Список журналов, из которых собираются события (Application, System и т.п.). Если пустой или не указан, собираются все события
  logfiles: ["Application"]
  # блэклист фильтры по полям события, используются регулярные выражения - https://wiki.andersenlab.com/pages/viewpage.action?pageId=153062062
  wmi_filters:
    # числовые поля
    category: '0+'
    event_code: ''
    event_identifier: ''
    event_type: ''
    record_number: ''
    # строковые поля
    computer_name: ''
    message: ''
    source_name: ''
    type: ''
    user: ''
    time_generated: ''
    time_written: ''

etw_settings: &etw
  # Provider name or guid.
  # GUID should be in format "{9E814AAD-3204-11D2-9A82-006008A86939}".
  id: "etw1"
  provider: "Windows Kernel Trace"
  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: "Critical"
  log_level: "DEBUG"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

opsec_lea: &opsec_lea
  id: "opsec_lea"
  # Директория расположения утилиты lea_client.
  exec_path: "/pangeo_radar/opsec"
  agent_addr: "127.0.0.1"
  agent_port: 48181
  # периодичность проверки наличия новых записей в журналах.
  poll_interval: 1
  #  Сохранение позиции последнего чтения из журнала (сохранение на диск), возобновление чтения с последней
  #  сохраненной позиции.
  read_from_last: false
  # Сервер для сбора событий.
  remote_server: "192.168.1.254"
  # Порт для аутентификации.
  auth_port: 18184
  # Аутентификация для OPSEC.
  auth_type: "sslca"
  # Параметры авторизации.
  opsec_sic_name: "CN=SyslogClient,O=sms.local.gc95e2"
  opsec_sslca_file: "/home/user/opsec.p12"
  opsec_entity_sic_name: "CN=cp_mgmt,O=sms.local.gc95e2"
  opsec_sic_policy_file: ""
  #  Название собираемого журнала.
  log_filename: "fw.log"
  log_level: "DEBUG"
   # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"

sshtest: &sshtest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "sshtest"
  # имя пользователя для удаленного подключения, обязательный параметр
  user: "anduser"
  # список хостов для подключения, обязательный параметр
  remote_servers: ["127.0.0.1"]
  # порт для подключения (default: 22)
  port: 22
  # путь к файлу с ssh ключами, обязательный параметр
  rsa: "~/.ssh/id_rsa"
  # пароль от файла с ключами
  password: ""
  # команда для выполнения по ssh, обязательный параметр
  command: "tail -F -n +$$$line$$$ /opt/pangeo/test.log"
  # если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска (default: false)
  read_from_last: false
  # интервал между выполнением команд(в секундах)
  ticker: 30
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

smb: &smb
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "smb1"
  # аддреса подключения, обязательный параметр
  remote_servers: ["pdc.pangeo.test"]
  # порт подключения (default: 445)
  port: 445
  # SMB share. sharename должен соответсвовать формату `<share>` или `\\<server>\<share>`, обязательный параметр
  share: "\\\\pdc.pangeo.test\\access"
  # домен
  domain: "pangeo.test"
  # имя пользователя, обязательный параметр
  user: "test1"
  # пароль, обязательный параметр
  password: "1qaz2WSX"

  # настройки аутентификации kerberos
  kerberos:
    # включение авторизации kerberos
    enabled: false
    # имя целевого сервиса (service principal name)
    target_spn: "pdc"
    # kerberos realm
    realm: "PANGEO.TEST"
    # путь до конфигурации kerberos
    config_path: "assets/krb5/krb5.conf"

  # интервал между запуском сканирования файлов в секундах (default: 1)
  poll_interval: 1
  # список файлов для чтения, обязательный параметр
  files: [ "hello.txt" ]

  # если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: false
  # начальный каталог для поиска файлов
  regexp_starting_dir: "."
  # регулярное выражение для поиска файлов
  regexp_expression: "^hello1.txt$"
  # интервал проверки файлов (в секундах) в дереве каталогов (default: 2)
  dir_check_interval: 2

  # если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

ftptest: &ftptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "ftptest"
  # аддреса для ftp запросов, обязательный параметр
  remote_servers: ["localhost"]
  # порт для ftp запросов, обязательный параметр
  port: 21
  # ftp пользователь, обязательный параметр
  user: "testuser"
  # ftp пароль, обязательный параметр
  password: "testpass"

  # интервал между сканированием файла в секундах (default: 1)
  poll_interval: 1
  # список файлов для чтения, обязательный параметр
  files: ["apache_logs"]

  # если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: true
  # начальный каталог для поиска файлов
  regexp_starting_dir: "."
  # регулярное выражение для поиска файлов
  regexp_expression: "^.*_logs$"
  # интервал проверки файлов (в секундах) в дереве каталогов (default: 2)
  dir_check_interval: 2

  # если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true

  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

sftptest: &sftptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "sftptest"
  # адреса для sftp запросов, обязательный параметр
  remote_servers: ["localhost"]
  # порт для sftp запросов, обязательный параметр
  port: 22
  # пользователь ssh, обязательный параметр
  user: "foo"
  # пароль ssh, обязательный параметр
  password: "pass"

  # интервал между сканированием файла в секундах (default: 1)
  poll_interval: 1
  # список файлов для чтения, обязательный параметр
  files: ["/upload/apache_logs"]

  # если установлено - использовать регулярное выражение для поиска файлов
  using_regexp: true
  # начальный каталог для поиска файлов
  regexp_starting_dir: "upload"
  # регулярное выражение для поиска файлов
  regexp_expression: "^.*_logs$"
  # интервал проверки файлов (в секундах) в дереве каталогов (default: 2)
  dir_check_interval: 2

  # если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска
  read_from_last: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

nf_receiver: &nftest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "netflow"
  # Хост на каком запустится сервер (default: localhost)
  host: "localhost"
  # Порт на каком запустится сервер (обязательное)
  port: 15487
  # Уровень сообщений в логах, могут быть значения - DEBUG, INFO, WARN, ERROR
  log_level: "INFO"
  # Размер буфера сообщений (если не задано то берется из SO_RCVBUF)
  sock_buf_size: 0

tcp_receiver: &tcptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "tcp"
  # Хост на каком запустится сервер (default: localhost)
  host: "localhost"
  # Порт на каком запустится сервер (обязательное)
  port: 15486
  # Уровень сообщений в логах, могут быть значения - DEBUG, INFO, WARN, ERROR
  log_level: "INFO"
  # Включение 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
  #Нужна ли распаковка тела запроса, ожидается, что клиент упаковал тело запроса в архив (default: false)
  compression_enabled: false
  # Количество соединений которые может принять сервер
  connections_limit: 10
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

http_receiver: &httptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "http"
  # Хост на каком запустится сервер (default: localhost)
  host: "localhost"
  # Порт на каком запустится сервер (обязательное)
  port: 15484
  # Уровень сообщений в логах, могут быть значения - DEBUG, INFO, WARN, ERROR
  log_level: "INFO"
  # Включение 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: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

udp_receiver: &udptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "udp"
  # Хост на каком запустится сервер (default: localhost)
  host: "localhost"
  # Порт на каком запустится сервер (обязательное)
  port: 15485
  # Уровень сообщений в логах, могут быть значения - DEBUG, INFO, WARN, ERROR
  log_level: "INFO"
  # Размер буфера сообщений (если незаданные то берется из SO_RCVBUF)
  sock_buf_size: 0
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

http_collector: &httpcollector
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "http"
  # удаленный адрес для вызовов http (обязательное)
  remote_server: "localhost"
  # удаленный порт (default: 80)
  port: 80
  # имя пользователя для базовой авторизации, если пустое, считаем что авторизация выключена
  basic_auth_user: ""
  # пароль для базовой авторизации
  basic_auth_password: ""
  # ограничение по времени для запросов, сделанных http-клиентом в секундах (default: 10)
  timeout: 10
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "INFO"
  # если установлено - будет использоваться 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: ""
  # если установлено - файл будет читаться с последней позиции в следующем тике или после перезапуска (default: false)
  read_from_last: false
  # интервал между http-вызовами в секундах (default: 3)
  poll_interval: 3
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

file_settings: &filetest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "filetest"
  # интервал между чтениями файла, в секундах (default: 1)
  poll_interval: 1
  # список файлов для чтения
  files: ["./assets/apache_logs"]

  # использовать 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
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

external_command: &ectest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "ectest"
  # интервал между выполнениями команд (default: 1)
  poll_interval: 1
  # команда bash/cmd
  command: "bash ./assets/bash/shortloop.sh"
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"

snmptraptest: &snmptraptest
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "snmptraptest"
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "INFO"
  # адресс snmp менеджера
  host: "localhost"
  # порт для запуска snmp менеджера
  port: 22
  # Принимать только аутентифицированные SNMP v3 Traps
  allow_authenticated_only: false
  # список директорий с .mib файлами для конвертации oid
  # если не указаны, oid будут передаваться в сыром виде
  mib_dirs:
    - dir1
    - dir2
    - dir3

  # Параметры безопасности
  # методы аутентификации. Возможные значения:
  # - MD5
  # - SHA
  auth_proto: ""
  # методы шифрования. Поддерживается только DES.
  encrypt_proto: ""
  # Имя SNMP пользователя
  user_name: ""
  # Пароль аутентификации. Используется с MD5 или SHA
  authentication_passphrase: ""
  # Пароль шифрования для DES
  privacy_passphrase: ""
  # Используется в SNMPv3 для идентификации сущностей.
  authoritative_engine_id: ""
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"
  # формат отправки сообщения - как есть(raw), с обогащением(json)
  format: "json"

# коллектор для сбора событий по протоколу MS-EVEN6 с Windows Vista и выше
mseven6: &mseven6
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "test_mseven6"
  # Список источников для сбора событий
  sources:
    -
      # Адрес удаленного сервера, с которого будут собираться события
      host: "192.168.56.6"
      # домен
      domain: ""
      #  Имя пользователя
      user: "user"
        # Пароль пользователя
      password: "0000"
      # Список каналов
      channel: ["Application"]
      # Запрос описывающий тип получаемого события. есть возможность указать
      # XPath 1.0 или структурированный XML запрос. Если XPath содержит более 20 параметров, следует
      # использовать структурированный XML запрос. Чтобы получить все параметры укажите "*"
      query: "*"
  # Размер запроса
  batch_size: 20
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # путь для запуска python (лучше использовать venv, создается командой make mseven6venv)
  python_path: "./bin/mseven6venv/bin/python"
  # порт для взаимодействия с python сервисом-прослойкой
  python_service_port: 9999
  # Фильтрация по полям события, регулярные выражения (блэклист)
  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: 'System'
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# обязательная секция
# Список всех запущеных инпутов
collectors:
  log_level: "DEBUG"
  # opsec_lea коллектор
  opsec_lea:
   - <<: *opsec_lea
  # etw коллектор, работает только на windows
#  etw:
#    - <<: *etw
  # чтение из локального файла
#  files:
#    - <<: *filetest
  # коллектор выполняющий сторонней командой
#  external_command:
#    - <<: *ectest
  # wmi коллектор, работает только на windows
#  wmi:
#    - <<: *wmi_settings
  # event_log коллектор, работает только на windows vista и старше
#  event_log:
#    - <<: *event_log
  # odbc коллектор
#  odbc:
#    - <<: *odbctest
  # ssh коллектор
#  ssh:
#    - <<: *sshtest
  # smb коллектор
#  smb:
#    - <<: *smb
  # ftp коллектор
#  ftp:
#    - <<: *ftptest
  # sftp коллектор
#  sftp:
#    - <<: *sftptest
  # tcp коллектор, пассивный прием
#  tcp_receiver:
#    - <<: *tcptest
  # udp коллектор, пассивный прием
#  udp_receiver:
#    - <<: *udptest
  # netflow коллектор, пассивный прием
#  nf_receiver:
#    - <<: *nftest
  # http коллектор, пассивный прием
#  http_receiver:
#    - <<: *httptest
  # http коллектор, удаленный сбор событий
#  http_collector:
#    - <<: *httpcollector
  # snmp trap коллектор, пассивный прием
#  snmp_trap:
#    - <<: *snmptraptest
  # коллектор для сбора событий по протоколу MS-EVEN6 с Windows Vista и выше
  # mseven6:
  #   - <<: *mseven6
# тестовый коллектор, каждый период времени ticker генерирует сообщение
# test_loop:
#     # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
#   - id: "loop_input_1"
#     # период генерации сообщений в секундах
#     ticker: 1
#     log_level: "DEBUG"
  categories_rules:
    # Список категорий допустимых в input
    - web
    - database
    - log
    - file

# обязательная секция
senders:
  # порт модуля, обязательный параметр
  port: 48001
  # уровень логирования, если не указан используется уровень логирования модуля журналирования
  log_level: "INFO"
  # отправка в журнал
  # stdout:
  #   # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  #   - id: "stdout"
  #     log_level: "DEBUG"
  # запись в файл
  # out_file:
  #   - <<: *out_file
  # отправка в kafka
  # kafka:
  #   - <<: *kafka
  # отправка по протоколу tcp
  tcp:
    - <<: *tcp_sender
  # отправка по протоколу udp
  # udp:
  #   - <<: *udp_sender

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

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