【问题背景】
- 已通过docker方式分别部署了zabbix-server-mysql和zabbix-web-nginx-mysql,启动容器实例时一并复制了 /etc/localtime 文件到实例中;
- 通过docker伪终端确认了zabbix server和zabbix web实例的系统时间与本地时间一致,但网页监控graph显示的时间仍然与本地时间不一致
【解决方式】
首先,通过伪终端访问zabbix-web-nginx-mysql实例。
docker exec -it zabbix-web-nginx-mysql bash
找到 /etc/php7/conf.d 目录(此处我部署的是zabbix 4.4.0),按如下修改文件 99-zabbix.ini 并保存。
max_execution_time=600
memory_limit=128M
post_max_size=16M
upload_max_filesize=2M
max_input_time=300
; always_populate_raw_post_data=-1
max_input_vars=10000
; date.timezone=Asia/Shanghai #将原本的时区 Euro/Riga 修改为 Asia/Shanghai
date.timezone=Asia/Shanghai #将原本的时区修改为 Asia/Shanghai
; session.save_path=/var/lib/php7
由于重启容器之后修改的内容会被还原,所以直接杀死所有php-fpm7的进程,由于容器中有supervisord管理,fpm主进程很快会被重启
killall php-fpm7
修改后到页面刷新看看,是否已显示为本地时间。