gas*_*ter 4 logs syslog time timezone
因此,想象一下有大约 100 台服务器具有不同的时区(并非所有时区都不同,而是许多时区)。服务器日志上有输出,例如:
server1:BFE4C025 0420201413 P H sysplanar0 UNDETERMINED ERROR
server2:BFE4C025 0421032413 P H sysplanar0 UNDETERMINED ERROR
Run Code Online (Sandbox Code Playgroud)
-> 所以他们在服务器时间(不同的时区)->
0420201413 = 2013.04.20. 20:14
0421032413 = 2013.04.21 03:24
Run Code Online (Sandbox Code Playgroud)
转换例如:0421032413 到 2013.04.21 03:24 是微不足道的。但是:服务器时间再次不同,如果我在这两个服务器上同时发出“日期”命令:
server1:Tue Apr 23 07:23:24 EDT 2013
server2:Tue Apr 23 13:23:24 MESZ 2013
Run Code Online (Sandbox Code Playgroud)
我明白了。但是我需要在一个时区中提到的日志(只有那几行/服务器)。为什么?因为了解您所在时区的确切事情发生时间非常有用,例如:CET TZ。
问:如何将服务器日志时间转换为中欧时间?
如果您只想转换现有的 syslog 文件,您可以使用一个小的 python/perl/ruby 程序来改变Tue Apr 23 07:23:24 EDT 2013
一些 UTC(或 CET)。
如果您想更好地控制写入日志文件的时间格式,您可能需要查看syslog-ng
. 它的tsformat()
功能允许您配置时间格式,例如iso8601。
我自己不得不使用 5 个时区的服务器,我强烈建议使用 UTC 时间戳。由于夏令时没有同时开始,跟踪 PST 中的 CET(或 CEST)是什么(或者它已经是 PDT)是一场噩梦。