Разбор структурированного системного журнала с помощью syslog-ng

Я пытаюсь использовать функцию анализа структурированных данных в syslog-ng. Из моего брандмауэра я пересылаю следующее сообщение:

‹14>1 2012-10-06T11:03:56.493 SRX100 RT_FLOW - RT_FLOW_SESSION_CLOSE [[email protected] причина="TCP FIN" исходный адрес="192.168.199.207" исходный порт="59292" адрес назначения ="184.73.190.157" порт назначения = "80" имя службы = "junos-http" nat-source-address = "50.193.12.149" nat-source-port = "19230" nat-destination-address = "184.73" .190.157" nat-destination-port="80" src-nat-rule-name="source-nat-rule" dst-nat-rule-name="None" протокол-id="6" policy-name=" "доверять-недоверять" имя-источника-зоны = "доверять" имя-зоны-назначения = "не доверять" идентификатор сеанса-32 = "9375" пакетов-от-клиента = "9" байтов-от-клиента = "4342" " пакеты-от-сервера="7" байт-от-сервера="1507" прошедшее время="1" приложение="НЕИЗВЕСТНО" вложенное-приложение="НЕИЗВЕСТНО" имя пользователя="Н/Д" роли="Н/ Пакетный-входящий-интерфейс="vlan.0"]

Судя по формату журналов IETF, он кажется правильным, но по какой-то причине структурированные данные фактически анализируются как часть журнала сообщений, а не как структурированные данные.


person masterof0    schedule 06.10.2012    source источник


Ответы (1)


На стороне syslog-ng вам нужно использовать либо источник syslog(), либо источник tcp() с установленными флагами (syslog-proto), и тогда все закончится в переменных, таких как ${.SDATA.junos@ 2636.1.1.1.2.36.reason} и так далее и тому подобное, которые потом можно использовать по своему усмотрению.

person algernon    schedule 10.10.2012