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

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

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

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

# outputs kafka
kafka_output: &kafka_output
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "kafka_output"
  # включение проверки сертификата (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

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

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

# отправка по протоколу tcp
tcp_output: &tcp_output
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "tcp_output"
  # адрес куда отправлять события, обязательный параметр (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

eventlog_input: &eventlog_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "eventlog_input"
  # Имя канала, используется если не указан путь к файлу
  channel: ['Application']
  # Запрос описывающий тип получаемого события. есть возможность указать
  # XPath 1.0 или структурированный XML запрос. Если XPath содержит более 20 параметров, следует
  # использовать структурированный XML запрос. Чтобы получить все параметры укажите "*"
  query: "*"
  # Полный путь к лог файлу
  # Поддерживаемые форматы: .evt, .evtx, .etl
  file: ""
  # Размер запроса
  batch_size: 31
  #  Таймаут запроса в секундах
  timeout: 3
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 2
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: true
  # Конвертировать SID в имя.
  resolve_sid: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "INFO"
  # количество параллельных воркеров (default: 1)
  worker_count: 2
  # Регулирование размера буфера (default: 1000), после запуска приводится к ближайшему значению кратному BatchSize * WorkerCount
  buffer_size: 1000
  # Максимальное время ожидания переподключения к источнику при недоступности источника (в минутах, максимальное значение = 30, по-умолчанию 15)
  reconnect_max_timeout: 30
  # Параметры удаленного подключения
  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"

eventlog_xp_input: &eventlog_xp_input
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "eventlog_xp_input"
  # Имя канала
  channel: ['Application']
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: false
  # Фильтрация по полям события, регулярные выражения
  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"


# 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;
odbc_input: &odbc_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "odbc_input"
  # Категория к которой относится данный 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 > ?;
  # Поле, которое будет использоваться как закладка для сохранения позиции, обязательный параметр (указывать поле, которое можно сконвертить к int)
  bookmark_field: "id"
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

wmi_input: &wmi_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "wmi_input"
  # интервал между запуском запроса в секундах (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_input: &etw_input
  # Provider name or guid.
  # GUID should be in format "{9E814AAD-3204-11D2-9A82-006008A86939}".
  id: "etw_input"
  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_input: &opsec_lea_input
  id: "opsec_lea_input"
  # Директория расположения утилиты 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"

ssh_collector_input: &ssh_collector_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "ssh_collector_input"
  # имя пользователя для удаленного подключения, обязательный параметр
  user: "user"
  # список хостов для подключения, обязательный параметр
  remote_servers: ["127.0.0.1"]
  # порт для подключения (default: 22)
  port: 22
  # путь к файлу с ssh ключами, обязательный параметр
  rsa: "~/.ssh/id_rsa"
  # пароль от файла с ключами
  password: "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_input: &smb_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "smb_input"
  # аддреса подключения, обязательный параметр
  remote_servers: ["pdc.pangeo.test"]
  # порт подключения (default: 445)
  port: 445
  # SMB share. sharename должен соответсвовать формату `<share>` или `\\<server>\<share>`, обязательный параметр
  share: "\\\\pdc.pangeo.test\\access"
  # домен
  domain: "pangeo.test"
  # имя пользователя, обязательный параметр
  user: "user"
  # пароль, обязательный параметр
  password: "password"
  # настройки аутентификации 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" ]
  # Чтение и парсинг файлов с расширением evtx
  file_type: "EVTX"
  # если установлено - использовать регулярное выражение для поиска файлов
  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"

#Пример SMB_input
smb_collector: &smb_collector
  id: "smb_collector"
  remote_servers: ["172.30.250.26"]
  port: 445
  share: "\\\\172.30.250.26\\klshare"
  domain: "."
  user: "reader"
  password: "password"
  poll_interval: 3
  files: [ "\\\\172.30.250.26\\klshare\\Updates\\index" ]
  using_regexp: true
  regexp_starting_dir: "Updates/index"
  regexp_expression: ".xml$"
  dir_check_interval: 3
  read_from_last: true
  format: "json"
  log_level: "DEBUG"

ftp_input: &ftp_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "ftp_input"
  # аддреса для ftp запросов, обязательный параметр
  remote_servers: ["localhost"]
  # порт для ftp запросов, обязательный параметр
  port: 21
  # ftp пользователь, обязательный параметр
  user: "user"
  # ftp пароль, обязательный параметр
  password: "password"
  # интервал между сканированием файла в секундах (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"

sftp_input: &sftp_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "sftp_input"
  # адреса для sftp запросов, обязательный параметр
  remote_servers: ["localhost"]
  # порт для sftp запросов, обязательный параметр
  port: 22
  # пользователь ssh, обязательный параметр
  user: "user"
  # пароль ssh, обязательный параметр
  password: "password"
  # интервал между сканированием файла в секундах (default: 1)
  poll_interval: 1
  # список файлов для чтения, обязательный параметр (если using_regexp: true, то можно оставить кавычки пустыми)
  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"

#Пример SFTP_input
sftp_collector_2: &sftp_collector_2
  id: "sftp_collector_2"
  remote_servers: ["172.30.250.55"]
  port: 22
  user: "root"
  password: "password"
  poll_interval: 5
  using_regexp: true
  regexp_starting_dir: "/root/test_for_lin/sftp_input/sftp/logs"
  regexp_expression: ".*log$"
  dir_check_interval: 5
  read_from_last: true
  format: "json"
  log_level: "DEBUG"

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

tcp_input: &tcp_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "tcp_input"
  # Хост на каком запустится сервер (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"
  # Размер буфера приемника, если не указан используется значение из ОС. Влияет на размер принимаемых событий!!!
  buf_size: 16384
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

http_request_input: &http_request_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "http_request_input"
  # Хост на каком запустится сервер (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_input: &udp_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "udp_input"
  # Хост на каком запустится сервер (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_input: &http_collector_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "http_collector_input"
  # удаленный адрес для вызовов 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_input: &file_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "file_input"
  # интервал между чтениями файла, в секундах (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_input: &external_command_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "external_command_input"
  # интервал между выполнениями команд (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"

snmp_traps_input: &snmp_traps_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "snmp_traps_input"
  # уровень логирования, если не указан используется уровень модуля журналирования
  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_input: &mseven6_input
  # названия модуля, отображается в логах и метриках, уникальный обязательный параметр
  id: "mseven6_input"
  # Список источников для сбора событий
  sources:
    -
      # Адрес удаленного сервера, с которого будут собираться события
      host: "192.168.56.6"
      # домен
      domain: ""
      #  Имя пользователя
      user: "user"
        # Пароль пользователя
      password: "password"
      # Список каналов
      channel: ["Application"]
      # Запрос описывающий тип получаемого события. есть возможность указать
      # XPath 1.0 или структурированный XML запрос. Если XPath содержит более 20 параметров, следует
      # использовать структурированный XML запрос. Чтобы получить все параметры укажите "*"
      query: "*"
  # Размер запроса
  batch_size: 20
  # интервал между запуском запроса в секундах (default: 1)
  poll_interval: 1
  # Чтение с последней сохраненной позиции, (default: false)
  read_from_last: true
  # Чтение пойдёт с последних свежих событий, иначе (и по умолчанию, если не задано) чтение идёт от самого старого
  read_from_last_default_newest: true
  # уровень логирования, если не указан используется уровень модуля журналирования
  log_level: "DEBUG"
  # Если указано несколько источников или каналов, считает указанное число событий и переключится на следующий (значения по умолчанию нет, снижает eps и нагрузку на CPU)
  switch_count: 100
  # Пауза между запросами в мсек (значения по умолчанию нет, снижает eps и нагрузку на CPU).
  request_interval_msec: 100
  # Время жизни записи в кэше. Если не указан или 0, записи из кэша не удаляются.
  render_cache_ttl: 0 
  # путь для запуска 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: ''
  # Опции смены кодировки
  encoding:
    # Использовать кодировку в UTF-8
    change_to_utf8: false
    # Кодировка оригинала
    original_encoding: "cp1251"

# обязательная секция
# Список всех запущеных инпутов
collectors:
  log_level: "DEBUG"
  # opsec_lea коллектор
  opsec_lea:
    - <<: *opsec_lea_input
  # etw коллектор, работает только на windows
  etw:
    - <<: *etw_input
  # чтение из локального файла
  files:
    - <<: *file_input
  # коллектор выполняющий сторонней командой
  external_command:
    - <<: *external_command_input
  # wmi коллектор, работает только на windows
  wmi:
    - <<: *wmi_input
  # event_log коллектор, работает только на windows vista и старше
  event_log:
    - <<: *eventlog_input
  # event_log_xp коллектор, работает только на windows xp
  event_log_xp:
    - <<: *eventlog_xp_input
  # odbc коллектор
  odbc:
    - <<: *odbc_input
  # ssh коллектор
  ssh:
    - <<: *ssh_collector_input
  # smb коллектор
  smb:
    - <<: *smb_input
  # ftp коллектор
  ftp:
    - <<: *ftp_input
  # sftp коллектор
  sftp:
    - <<: *sftp_input
  # tcp коллектор, пассивный прием
  tcp_receiver:
    - <<: *tcp_input
  # udp коллектор, пассивный прием
  udp_receiver:
    - <<: *udp_input
  # netflow коллектор, пассивный прием
  nf_receiver:
    - <<: *nf_input
  # http коллектор, пассивный прием
  http_receiver:
    - <<: *http_request_input
  # http коллектор, удаленный сбор событий
  http_collector:
    - <<: *http_collector_input
  # snmp trap коллектор, пассивный прием
  snmp_trap:
    - <<: *snmp_traps_input
  # коллектор для сбора событий по протоколу MS-EVEN6 с Windows Vista и выше
   mseven6:
     - <<: *mseven6_input
# тестовый коллектор, каждый период времени 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:
    - <<: *ofile_output
  # отправка в kafka
  kafka:
    - <<: *kafka_output
  # отправка по протоколу tcp
  tcp:
    - <<: *tcp_output
  # отправка по протоколу udp
  udp:
    - <<: *udp_output

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

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

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

# Необязательная секция для управления через UI Платформы  
cluster:
  url: "https://192.168.1.101:9000/cm/api/agent/"
  api_key: "api_key_созданный_в_Платформе"
  skip_verify: false