Настройка сервиса Log-proxy
Общие данные
Log-proxy – сервис, который отвечает за быструю пересылку событий, пришедших от лог-коллектора в сервис Kafka.
Основные характеристики сервиса:
- используется только один порт для приема сообщений от всех лог-коллекторов (по умолчанию
1100
); - реализовано сжатие данных при передаче от лог-коллекторов.
Начиная с версии 3.7.2 Платформы Радар сервис Log-proxy используется в качестве замены сервиса Rsyslog.
При включенном сервисе все события от лог-коллектора будут заворачиваться в websocket, который работает по аналогии с компонентами отправки событий (секция output
), но в один порт. События будут отправляться по указанному URL из включенных TCP/UDP компонентов отправки событий (секция senders
). К нормализованным и разобранным событиям будет добавляться поле с соответствующим id
, который задается в конфигурации сервиса Log-proxy через веб-интерфейс платформы (см. раздел Включение пересылки событий через сервис Log-proxy).
Включение пересылки событий через сервис Log-proxy
Если Платформа Радар работает в обычной инфраструктуре, то сервис Log-proxy включен по умолчанию и не требует дополнительных настроек.
Если Платформа радар работает в инфраструктуре мультитенант или мультиарендность, необходимо настроить пересылку событий из подчиненных инстансов.
Для включения пересылки событий через сервис Log-proxy выполните следующие действия:
- В веб-интерфейсе платформы перейдите в раздел Администрирование → Кластер → вкладка Управление конфигурацией.
-
Проверьте настройки сервиса Log-proxy. Для этого в древовидном списке параметров сервисов выберите Logproxy (см. рисунок 1).
Рисунок 1 – Управление конфигурацией сервиса Log-proxy
При необходимости переопределите следующие параметры:
- Порт приема сообщений – параметр определяет порт, который слушает сервис для приема сообщений от лог-коллектора. По умолчанию
1100
; - Message ID приема событий верхнеуровневой корреляции – параметр определяет идентификатор (id) сообщения, которое отправляется в очередь нормализованных событий. По умолчанию
9999
; - Message ID приема разобранных событий – параметр определяет идентификатор (id) сообщения, которое отправляется в очередь разобранных событий. По умолчанию
9998
.
- Порт приема сообщений – параметр определяет порт, который слушает сервис для приема сообщений от лог-коллектора. По умолчанию
-
Включите пересылку событий. Для этого в древовидном списке параметров сервисов выберите FlowBalancer → Head и установите параметр Пересылать события в значение
true
(см. рисунок 2).Рисунок 2 – Управление конфигурацией сервиса FlowBalancer
При необходимости переопределите следующие параметры:
- Ip LogProxy – внешний IP-адрес сервиса Log-proxy;
- Порт LogProxy – внешний порт сервиса Log-proxy;
- ID события для нормализованных событий LogProxy – идентификатор (id) нормализованного события, пришедшего от сервиса (
Logproxy.NormalizedMessageId
); - ID события для разобранных событий LogProxy – идентификатор (id) разобранного события, пришедшего от сервиса (
Logproxy.ParsedMessageId
).
-
После внесения изменений нажмите кнопку Записать конфигурацию.
-
Создайте фильтры для пересылки событий.
Внимание! Необходимо настроить фильтры для максимальной фильтрации событий. Чем больше событий будет отфильтровано, тем меньше будет нагрузка на устройство и тем больший поток сможет пройти.
Маршрутизация событий
Настройка выполняется в конфигурационном файле сервиса Log-proxy – config.json
.
Расположение файла: opt/pangeoradar/configs/logproxy/config.json
.
Необходимо переопределить параметры маршрутизации событий (секция router
) следующим образом:
router:
{"log_collector_id":
{
"name":"input_name",
"template":"template_name",
"broker":"URL KAFKA",
"topic": "topic_name"
}
}
Где:
log_collector_id
– значениеid
от лог-коллектора;name
– наименование источника событий;template
– наименование шаблона для обработки сообщений;broker
– IP-адрес и порт сервиса Kafka;topic
– наименование топика, в который будет выполняться запись.
Для включения шаблона для обработки сообщений необходимо добавить секцию templates
:
templates:
{"template_name": "output_template"},
Где:
template_name
– наименование шаблона для обработки сообщений, которое указывается в параметрах секцииrouter
;-
output_template
– результирующая строка, в которую надо подставить значения от лог-коллектора с соответствующим преобразованием. В параметре используются следующие переменные:%FROMHOST-IP%
– IP-адрес лог-коллектора, отправившего запрос;%timegenerated:::date-rfc3339%
– дата приема сообщения в форматеrfc3339
;%inputname%
– имя источника из секцииrouter
.
Примечание: в настройках шаблона доступен для ввода только тип данных
json
и соответствующее преобразование:json-json
.
Пример настройки:
router:
{"1519":
{
"name": "1514-Microsoft-Windows-Eventlog",
"template": "json-json",
"broker": "127.0.0.1:9092",
"topic": "1514-Microsoft-Windows-Eventlog"
}
}
templates: {
"json-json":"{\"rs_relay_ip\":\"%FROMHOST-IP%\",\"rs_collector_ts\":\"%timegenerated:::date-rfc3339%\",\"__rs_module\":\"%inputname%\",%rawmsg:2:$:%",
}
Настройка журналирования сервиса Log-proxy
Уровень детализации ведения журналов работы сервиса Log-proxy (pangeoradar-logproxy.service) настраивается параметром logLevel
при запуске сервиса. Возможные значения:
- 0 – журналирование отключено;
- 1 – выводить только информационные сообщения;
- 2 – выводить только предупреждения;
- 3 – выводить только критические ошибки;
- 4 – выводить информационные сообщения и предупреждения;
- 5 – выводить информационные сообщения и критические ошибки;
- 6 – выводить предупреждения и критические ошибки;
- 7 – выводить все сообщения.
Значение по умолчанию: 3
– выводить только критические ошибки.
Примечание: аналогичные настройки журналирования используются в параметрах запуска сервиса Termite.