ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Zabbix 5.0.15 構築時のPHPのタイムゾーン設定変更がZabbixの初期設定ウィザードに反映されない問題

Zabbix 5.0.15-1+focalで遭遇。 Zabbix ServerのセットアップではPHPのタイムゾーンを指定する必要があります。

例えばUbuntu 20.04ベースだとこちらに書かれています。

https://www.zabbix.com/jp/download?zabbix=5.0&os_distribution=ubuntu&os_version=20.04_focal&db=mysql&ws=apache

/etc/zabbix/apache.confを開いて、あなたの国のタイムゾーンを設定しましょうっと。

# php_value date.timezone Europe/Riga 

ここを日本であればこんな感じに設定して systemctl restart apache2を実行と。これで本来は良いはず。

php_value date.timezone Asia/Tokyo 

上記を設定変更しても、Zabbixのウィザードがunknown,Failの状態のままになることがあるようです(今日設定したときはそんな状況でした)。

最終的にはphp.iniを変更して回避しました。おそらくこのウィザードは色々とバグがあるのだと思われます(いつもはAnsibleのblockinfileで/etc/zabbix/web/zabbix.conf.phpを書いてしまったり、テンプレートからzabbix.conf.phpを生成して書き換えてこのウィザードを迂回していたので)。

sudo vi /etc/php/7.4/apache2/php.ini
...
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo

sudo systemctl restart apache2

本現象はUbuntu Server 20.04.3 + Zabbix Server 5.0.15-1+focal + Apache2.4.41-4ubuntu3.4 + PHP 7.4.3-4ubuntu2.6で発生しました。 Zabbix Serverの問題なのか、UbuntuのPHPパッケージの問題なのかまでは調査できていません。 ただ、以前Ubuntu Server 20.04で手動でセットアップしたときはphp.iniの設定まで変更しないでも問題なかった記憶があります。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。