如何解析从syslog-ng获得的消息?

时间:2019-09-05 12:17:17

标签: syslog-ng

Syslog-ng正在将以下日志写入以下布局:

Jun 7 11:54:23 vXXXXX01-node1 RT_XXT: RT_SRC_XXT_PBA_ALLOC: Subscriber 100.64.0.2

但是将进行处理的系统希望以以下布局接收日志:

Jun 7;11:54:23;2019;vxxxxx01-node1;RT_xxT: RT_SRC_NAT_PBA_ALLOC:;Subscriber 100.64.0.2;

我可以做什么设置才能执行请求的请求?

预期结果如下:

当前:Jun 7 11:54:23 vXXXXX01-node1 RT_XXT: RT_SRC_XXT_PBA_ALLOC: Subscriber 100.64.0.2
已更改:Jun 7;11:54:23;2019;vxxxxx01-node1;RT_xxT: RT_SRC_NAT_PBA_ALLOC:;Subscriber 100.64.0.2;

1 个答案:

答案 0 :(得分:0)

在syslog-ng中,您可以使用模板,重写规则和模板功能(或者如果其他所有方法在Python中都失败),非常灵活地重新格式化日志消息。对于您而言,似乎使用模板就足够了,所以我建议您查看http://support.oneidentity.com/technical-documents/syslog-ng-open-source-edition/administration-guide/template-and-rewrite-format-modify-and-manipulate-log-messages/customize-message-format-using-macros-and-templates/templates-and-macros

上的文档

基本上,您将必须找到与要在输出中看到的消息部分相对应的宏,并使用模板中的那些宏来作为将消息发送到期望该格式的目的地的模板。该模板可能类似于:

sbt p1/compile

但是,如果您的后端支持JSON或类似的结构化输入,则syslog-ng也支持。