我目前正在使用一个相当老的版本的syslog-ng,2.1.4,是的,我知道我需要尽快更新,但现在我需要帮助修改date/时间格式和时区。
目前,一切都进入syslog-ng并被转储到本地目录或通过UDP发送到另一个设备。 正常的日志格式是:
5月1日00:00:08 host_name.domain.com以下是完整的信息
对于我正在转发日志的一个设备,他们希望所有时间格式都是UTC,而不是“May 1”,他们希望它是“May 01”。
destination d_test {udp(“remote_host.domain.com”port(514)spoof_source(yes)time_zone(“UTC”)); };
当我这样做,我得到以下错误,日志时间不会更改为接收主机。
伪造时区规范,必须格式为[+ – ] HH:MM,偏移量必须小于24:00; 值= 'UTC'
有没有其他的方法来修改? 至于2符号date格式,我已经尝试了几个模板选项,但还没有能够获得最初的部分来改变呢。 任何帮助将不胜感激。
尝试使用+04:00 (或任何您的时间转移将达到UTC)而不是UTC的时区。
我不知道有什么方法可以轻松地使用syslog-ng将月份的date更改为两位数字,但是通过使用可以获得ISO 8601兼容的标准时间戳(yyyy-mm-ddThh:mm:ss + -ZONE) ISODATE而不是DATE 。 这些可以更容易parsing,这可能会或可能不会帮助你根据你的情况。
你可以用awk , sed或者perl来做一些事情来查看日志文件,并在事后修改date戳记,但是这样做可能会导致其他问题。