Syslog-ng 时间格式和时区

Syslog-ng 时间格式和时区

我目前正在使用一个相当旧的版本syslog-ng,2.1.4,是的,我知道我需要尽快更新它,但现在我需要帮助修改日期/时间格式和时区。

目前,所有内容都会进入 syslog-ng 并转储到本地目录或通过 UDP 发送到另一台设备。正常的日志格式是:

May  1 00:00:08 hostname.example.com Here is the full message

对于我要将日志转发到的一台设备,他们希望所有时间格式都采用 UTC,并且希望将其改为“5 月 1 日”,而不是“5 月 1 日”。

destination d_test {
    udp("remote_host.domain.com" port(514) spoof_source(yes) time_zone("UTC")); };

当我执行此操作时,出现以下错误,并且日志时间不会改变为接收主机。

虚假时区规范,必须采用 [+-]HH:MM 格式,偏移量必须小于 24:00;值 =‘UTC’

还有其他方法可以修改吗?至于 2 个符号日期格式,我尝试了一些模板选项,但尚未能够改变初始部分。

答案1

尝试使用+04:00(或任何时间转换以到达 UTC)而不是UTC时区。

我不知道有什么方法可以用 syslog-ng 轻松地将月份中的日期更改为两位数,但您可以使用ISODATE而不是 来获取与 ISO 8601 兼容的标准时间戳 (yyyy-mm-ddThh:mm:ss+-ZONE) DATE。这些可能更容易解析,根据您的情况,这可能会或可能不会帮助您。

您可以使用awksedperl来查看日志文件并在事后更改日期戳,但这似乎可能会导致其他问题。

相关内容