加载中…
个人资料
fuquan
fuquan
  • 博客等级:
  • 博客积分:0
  • 博客访问:99,069
  • 关注人气:4
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

zabbix appliance系统时间

(2011-07-21 13:10:02)
标签:

it

分类: zabbix

    从用zabbix到现在,一直为它的时间所困扰。在服务器上的系统时间和web frontend上graph的横轴时间总对应不上,还有存储到mysql数据库中的clock值。之前也写了两篇关于zabbix时间的总结,但现在发现之前的认知很多都是错的。现在把到目前为止认为正确的东西,总结一下。

 

    0.首先服务器上的系统时间要设置正确。不知道怎么搞的,我的服务器主机上的时间不对,直接比当地时间超前了8小时。悲剧。

 

    1.zabbix系统的时区只与/etc/localtime有关。如果用/usr/share/zoneinfo/下面的某个时区文件(比如我用的Aisa/Shanghai)覆盖/etc/localtime,那么zabbix的系统时区就是相应的localtime(我的就是CST了)。如果不覆盖/etc/localtime,则zabbix就是采用UTC时间。这个可以通过敲入date命令看出来。

(网上也查了很多资料,关于linux系统时区的设置。比较多的是说与/etc/sysconfig/clock文件里的“UTC=true、false”有关。但zabbix的clock文件里边没有“UTC=true、false”,而且自己给加上这么一行也没用。而且与clock文件里的hwclock=--localtime无关系。即便=--localtime,如果不覆盖/etc/localtime,用date命令显示的仍是UTC。)

 

    2.使用虚拟机时,真正的硬件时钟是server(也就是真实主机)上的硬件时钟。虚拟机启动时应该是读取server的硬件时钟,然后根据虚拟机系统的timezone设置来设定系统时间。在虚拟机上执行hwclock -w命令并不会影响server的硬件时钟(在esxi4.0上部署zabbixappliance的环境下是这样)。虚拟机上的硬件时钟是假的,你把它设成多少,系统重启后它就变成多少,但这个值并不会影响虚拟机的系统时间,影响虚拟机系统时间的是server上的硬件时钟,就是coms里的值。

 

    3.如果系统是utc时间,那么它的date与date -u的值是相等的,且比server上的时间滞后8小时;如果系统时间是CST,那么它的date值与server时间相等,date -u比date值滞后8小时。另外,与真假值无关,如果系统是utc时间,那么它的以下几个值是都相等的:

    hwclock,hwclock -r,hwclock -u,hwclock --localtime;如果系统时间是CST,则hwclock -u比其他三个时间滞后8小时。

 

    4.zabbix数据库里的clock值为utc时间,与系统时区无关。也就是date -u的时间。

 

    5.mysql中from_unixtime()返回的值与mysql数据库所在系统的时区有关!!!如果系统是CST,则返回的结果会比utc时间再加上8小时!!

 

    6.(C#中的方法)以你当地时间记为T,减去1970-1-1 0时,得到的timespan.Ticks/10000000,得到的结果就是unix timestamp,也就是utc秒数。这个utc秒数记为A的话,在mysql中调用from-unixtime(A),则:

    如果mysql所在系统是utc时间,那么返回的结果就是你的当地时间T;

    如果mysql所在系统是CST时间,则返回的结果比T超前8小时!!

也就是用上述(c#)方法计算出的A,比unix timestamp真值超前了8小时。正确的值应该是A再减掉8小时的秒数!!

 

    7.zabbix web-frontend显示的graph的横轴时间确实与/etc/php5/apache2/php.ini文件中的timezone的值有关。要设成你所在的时区才能使graph的横轴时间与你的当地时间保持一致。无论zabbix系统是utc还是cst还是别的,php.ini中的timezone都要设成你所在的时区。而且graph的横轴时间与/etc/php5/cli/php.ini里的timezone无关。(但不知道cli里的timezone关系到什么时间)。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有