この記事は 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