Zabbixのバージョン間互換性について再確認する

この記事は Zabbix Advent Calender 2018 の12月15日分の記事です。今回はZabbix監視で利用する zabbix-agent、zabbix-server、zabbix-proxy の互換性について再度確認してみたいと思います。

互換性について参照する物

基本的にはまさに互換性に関する記載のあるページが公式のドキュメントに有ります。4.0の場合は以下。メニューのツリー的には Appendixes の中に有ります。

13 Version compatibility [Zabbix Documentation 4.0]
https://www.zabbix.com/documentation/4.0/manual/appendix/compatibility

ですが、互換性についてのページはあくまで疎通が取れるかについての言及になっているので、実際の細かいバージョン間差異については、新機能アップグレードノートアップグレード手順既知の問題ページなどバージョン間差異に言及しているページはいくつか読んでおくとより安心感が増すかと思います。エージェント監視アイテムはアイテム項目のページも読んでおきましょう。そこを読むことで気づく注意点がいくつか有ります。例えば同じアイテム(特にCPUやメモリ周りなど)で数値の取れ方に変更が有ったりと言った事が有ります。

互換性についてまとめる

2018年12月15日 Zabbix 4.0.2 現在においての状況をまとめてみます。

zabbix-server – zabbix-agent間の互換性

agent側が古い分についてはserverとの疎通を取る事が来ます。バージョン1.4以降のzabbix-agentであればzabbxi-server 4.0から監視可能です(もちろんバグ修正やパフォーマンス改善などの点からエージェント側もなるべく新しい方がいいです)。ただし古いエージェントほど対応しているアイテムの数が少ない、同じアイテムでも使えるオプションの数が少ない、値が取れても過去のバージョンでは算出方法が違う、と言った事が有りますので、それぞれアイテム項目の確認は行っておいた方がいいでしょう。

また、server – agent 間での通信を暗号化できるようになったのは 3.0 LTS からなので、必ず暗号化しておきたいという場合は 3.0 LTS までバージョンを上げた方がいいでしょう。

ちなみに zabbix-agent 1.4 以降という制限は、Zabbix 3.0 LTS や Zabbix 3.4 のドキュメントには記載が有りませんでした。あまりにも古い環境なので気にする方は少ないかと思いますが、これは4.0で新しく加えられた制限なのかと思われます。

Zabbix 4.0該当記載
https://www.zabbix.com/documentation/4.0/manual/appendix/compatibility
Zabbix 3.4 該当記載
https://www.zabbix.com/documentation/3.4/manual/appendix/compatibility
Zabbix 3.0 該当記載
https://www.zabbix.com/documentation/3.0/manual/appendix/compatibility

なお、逆にagentの方が新しい場合についての言及が見当たらないですが、実際の所 zabbix-server よりzabbix-agent が新しい場合については疎通が取れません。これはzabbix-server 4.0.2 と zabbix-agent 3.4.15 の環境で試してみて実際にダメでした。zabbix-get コマンド(4.0系)からの値の取得も動作しませんでした。

zabbix-server – zabbix-proxy間の互換性

zabbix-serverとzabbix-proxyは同じメジャーバージョンでなければ動作しません。例えばzabbix-proxyが多数動作する環境であってもzabbix-serverのバージョンを上げる際は一緒に対応する必要が有ります。

公式のドキュメントでも言及が有るようにzabbix-proxy側のバージョンが古い分には一応監視が継続出来る場合が有ります。ただしこれはZabbix的にはサポートしていない仕様外の動作となります。あくまで既に設定済みの監視設定のまま値が取れるだけであり、監視設定の変更が出来ません。

https://www.zabbix.com/documentation/4.0/manual/appendix/compatibility

proxyが有る状況での具体的なアップグレード手順は公式から提供されているのでそれに従った方がベターです。以下はRed Hat Enterprise Linux / CentOSでアップグレードする場合です。

1 Red Hat Enterprise Linux/CentOS [Zabbix Documentation 4.0]
https://www.zabbix.com/documentation/4.0/manual/installation/upgrade/packages/rhel_centos

なお、これは仕様と言うよりバグなのですが、zabbix-server 3.4.10 と zabbix-proxy 3.4.10 ではそのバージョン同士でしか通信が取れません。これは Zabbix 3.4のページにだけ記載が有ります。

https://www.zabbix.com/documentation/3.4/manual/appendix/compatibility

まとめ

内容としては既にまとめていますが、以上になります。今回は言及していませんがバージョンごとに求めるミドルウェアやライブラリのバージョンも異なるのでアップグレードを行う際はその点にも注意しましょう。いずれについてもZabbix公式のドキュメントは細かい所まで手が行き届いているのでGoogle 翻訳使ってでもいいからなるべく公式の資料は読みましょう!

Zabbix公式
https://www.zabbix.com/jp/
Zabbix Manual [Zabbix Documentation 4.0]
https://www.zabbix.com/documentation/4.0/manual

Zabbix Advent Calendar 2018 – Qiita
https://qiita.com/advent-calendar/2018/zabbix

私のほかのZabbix関連投稿
https://www.sodo-shed.com/archives/tag/zabbix