我在两个不同的 RHEL 服务器上运行了两个 zabbix 实例。其中一个服务器上的 Web 用户界面上显示的数据相差 2 小时,而另一个服务器上的数据相差 3 小时(提前)。例如,它显示 17:00,而不是 15:00。/etc/php.ini 中的时区已正确设置为 America/Vancouver(与我桌面上的设置相同)。我使用 MySQL,数据库设置也正常。调用“select now() from dual”测试返回正确的时间。
date
返回正确的时间并且我还创建了链接
ln -sf /usr/share/zoneinfo/America/Vancouver /etc/localtime
并重启了 zabbix 服务器和代理。图表中的时间仍然提前了两个小时。
有什么帮助吗?
答案1
由于这个论坛上的答案都对我没什么帮助,所以我想告诉你什么对我有用。
RHEL Zabbix 安装程序将创建一个 httpd 配置文件,其中包含 DocumentRoot 和一堆其他设置。此文件将被复制(由您或安装程序复制)到您的 httpd 根目录(通常为/etc/httpd
)下的子目录中,即 或sites-available
子目录conf.d
中。许多 Web 服务器包含多个虚拟主机,因此您必须找到包含 Zabbix DocumentRoot 条目的配置文件。在该文件中,查找条目php_admin_value date.timezone 'UTC'
- 将“UTC”更改为您需要的时区,然后键入service httpd restart
。
注意:sites-available
条目会覆盖conf.d
条目,因此请确保修改正确的虚拟主机定义。
答案2
您的问题可能与这个错误类似。
https://support.zabbix.com/browse/ZBX-1247
答案3
我知道 Richlv 已经询问过 Zabbix 版本。但是哪个 RHEL 版本?
以下是一些可以尝试的内容。在 zabbix web 根目录中创建一个 php 文件并添加以下内容:
<?php
echo date('M jS, H:i');
?>
然后在浏览器中加载文件名。这将有助于确认这是否是 PHP 问题。是否有可能存在多个 php.ini 文件,但其中一个被忽略了?