使っている人にとっては当然なのかもしれませんが・・・。
DockerでZabbix+Grafanaを運用していたところ、どうやらメモリ不足でZabbix Serverが止まってしまった。そこで、メモリ割り当てと各種キャッシュ値をあげて再起動してみた。
ZBX_CACHESIZE=8M
ZBX_HISTORYCACHESIZE=16M
ZBX_HISTORYINDEXCACHESIZE=4M
ZBX_TRENDCACHESIZE=4M
ZBX_TRENDFUNCTIONCACHESIZE=4M
ZBX_VALUECACHESIZE=8M
赤字のあたりを修正。
portainer .ioで管理しているので、Envに追加して値を128Mとか適当に設定。
で、Zabbix-serverのコンテナを再度起動してWebからアクセスすると、databaseエラーが!
The Zabbix database version does not match current requirements. Your database version: 6020000. Required version: 6000000.
どうやら、データベースのバージョンが上がってしまったらしい。
なぜかというと、今再起動したZabbix-serverのTagが:latestだったから・・・
それまで、Zabbixの6.0.5を使っていたので、識別用のバージョンが6000000だった。
それが、再起動したことで新しいイメージを持ってきてくれてしまい、6.2.4に。
そのため、6020000に更新されてしまった模様。
何が変わったのかわからないので、バージョンの値だけ直しても危険だろう。
仕方ないので、別コンテナに入れてある zabbix-web-nginx-mysql も、6.2.4に更新して実行。
無事にアクセスできるようになった。
これでおしまい。
ならよかった・・・。
グラフ表示にGrafanaを使っていたのだけれど、今度はこちら側に問題発生。
どのグラフもnodataになってしまう。
Zabbix plugin for Grafanaを使っているのだけれど、こちら側に使えなくなった機能が使われてしまっているらしい。GitHub側のIssuesに載ってた・・・。載ってたんだけど、Closeしてる?(#1470)
Releaseを見てもしっかりと「Fixed Plugin is not working with Zabbix 6.2.0, #1470」と書かれている。なので、Zabbixを6.2.4ではなく、6.2.0まで戻してみた。(6.2.xと同系なのでデータベース構造は同じ)そうすると、無事にデータをとってきてくれた。
ということで、構築時に適当にlatestで設定したせいで、発生から6時間ほど監視が止まってしまった・・・というお話。ちゃんとバージョン指定しましょう、そのためのTagの仕組み。