ESXi」タグアーカイブ

Zabbix Proxyサービス起動時刻がおかしいと正常に動作しなくなる話

Zabbix Server、Zabbix Agentが導入されているサーバーを再起動することは問題ないが、Zabbix Proxyが導入されているサーバーのOSを再起動するとなぜかagent pingが飛ばなくなるという現象が有りました。以下のような状況でした。

  • OSはCentOS 7.2
  • Zabbix 3.0.2
  • zabbix-proxy.serviceは自動起動が有効。
  • キャッシュDBはSQLite3を利用。
  • systemctl restart zabbix-proxy を実行すると改善。
  • 稀にOS再起動後も問題なく動作する。

最初はProxyの設定ファイルを調査するも特に不審な点は無い状況でした。しかし、systemctl status zabbix-proxyで出てくるサービス起動時刻がおかしい事に気づきます。dateコマンドを叩いて表示される時刻はJSTとして正しいものであるものの、zabbix-proxyの起動時刻はJST + 7.x時間という中途半端な時刻になっています。9時間マイナスならともかく、JSTよりさらに先というのがよく分かりません。

  • dateコマンドで表示される時刻は正しい。
  • timedatectlで確認できるJST、UTCともに正しく、RTCはUTCと同じ値。
  • sshd等、他のサービスにもsystemctlで確認できる起動時刻がおかしいものがある。
  • psコマンドで表示される時刻は正常。
  • systemctl restart zabbix-proxyを行うとサービス起動時刻も正常なJSTになる。

時計回りの怪しさ満点ですが、結果としては「OSを起動している仮想環境のホストであるESXiの時計が狂っている」という物でした。OS上の時刻表示が正しいものだから結構気づくのに時間がかかりました。
では、なぜOS上の時刻が正しいのにサービスの起動時刻だけおかしくなるのかというと、OSの再起動時にESXiの機能が時刻同期をオフにしていてもホスト側に合わせてしまうというそんな事しなくていいのに……という処理が入るとの事。その後OS起動処理の中でchronyが動作し、ユーザーが触る頃には正しい時刻、という動きが再起動の度に挟まれていたようです。以下の記事がとても参考になりました。

―ESXi上のWindowsゲストの時刻がずれて詰みかけた話
http://qiita.com/ine1127/items/edb0a46b638265186650

なぜZabbix Proxyの起動時刻が正しくない状況にあると正常に動作しなくなるか、という点については不明ですが(まぁ正常な環境ではないのは確かですが)、とりあえず今のところは再起動後もagent pingが途切れなくなっています。