我在云端有几台具有远程时区的服务器,由于日志调查与我们的本地时间相比有所不同,如果我更改服务器上的时间会产生什么影响?
运行 Web 应用程序的目标服务器
答案1
您应该将所有服务器设置为格林威治标准时间,以便它们全部同步。如果您将某些服务器设置为本地时区,则可能会出现意外情况,并且您可能会遇到意外行为。
受时区影响最大的一件事就是日志记录。如果您的服务器未全部设置为格林威治标准时间,则日志记录日期标签将全部不匹配;如果您将这些发送到集中日志收集器,则将给故障排除和问题跟踪带来困难。
答案2
一般来说:
对于普通人来说,最容易在服务器上看到的时间与他们手腕上的手表和墙上的时钟上看到的时间相同。
当他们收到以下问题时,就会很直观地知道:“昨天午餐时间左右,系统 B 出现故障。”
但是,当服务器由不同时区的人们使用和管理,并且夏令时变化不会在所有地方(同时)发生时,往往会变得混乱。
当管理员在欧洲中部夏令时(UTC +2)位于巴黎的办公桌前时,数据库位于英国夏令时(UTC +1)位于伦敦,应用服务器位于美国东部夏令时(UTC -4)位于纽约,而用户投诉来自美国太平洋夏令时(UTC -7)位于洛杉矶分支机构,而您需要关联事件...当所有系统仅以当地时间记录事件时,事情就会变得复杂。
当所有服务器至少位于同一时区时,事情就会变得更容易,管理员只需要进行一次日期/时间转换。
爱丽丝在洛杉矶的午餐时间是欧洲中部夏令时间 (CEST) 21:00 左右,负责维护所有服务器的管理员只需要查找该时间前后的事件。
您可能会认为,只要所有系统都在同一时区,选择哪个时区就无关紧要了,但事实并非如此……许多时区都带有夏令时。这意味着日志中存在 1 小时的间隔,或者某些日期的日志条目重叠。
UTC 没有夏令时,因此这是一个更好的选择。
许多系统已经在内部使用 UTC,并且只有在其 UI 中才会将 UTC 时间戳转换为用户喜欢的时区。