Zabbixのバージョンとサポート期間と注意事項（2019年版）

日本Zabbixユーザー会の田中です。

Zabbix Advent Calendar 2019の2日目ということで、最新のサポート状況を整理しておきたいと思います。
Zabbixも4.4がリリースされ、古いバージョンでサポート期限が過ぎてしまったものも多くなってきています。サポート期間が終了してしまったバージョンは、不具合や脆弱性の問題が一般には修正されて公開されることがありません。脆弱性の問題を利用した攻撃による被害を避けるためにも最新の情報を確認しておくようにしましょう。

それでは、Zabbixのバージョン番号の付与ルールをおさらいしておきましょう。
Zabbix 3.0以降は、小数点以下の番号が0のものがLTSと呼ばれるサポート期間の長いバージョンになります。例えば、3.0や4.0がそのLTSバージョンです。
0以外の偶数の場合は、正式リリースバージョンではあるのですが、ポイントリリースと呼ばれるサポート期間が短いバージョンとなります。例えば、4.2や4.4がそのポイントリリースにあたります。

少数点の以下の数字が奇数であるものが開発中バージョンなのですが、最近はあまり奇数のバージョンではリリースされていないので、目にすることが少ないかもしれません。
アルファ版やベータ版を試されている方は、リポジトリのバージョンを示すディレクトリの番号で「4.1」とか「4.3」とかを見かけたことがあるかもしれません。これらのバージョンは開発中のバージョンですので、新機能をより早く試すのには有用ですが、正式なリリースバージョンではありません。正式リリース版との互換性が十分ではない場合があるので、本番環境では使用すべきではありません。ご注意ください。


# 現在のサポート状況

Zabbixのリリースバージョンとそのサポート期限を整理すると以下のようになります。

|バージョン|種類|リリース日|フルサポート終了|リミテッドサポート終了|
|:---------|:---|:---------|:---------------|:---------------------|
|4.4|ポイント|2019年10月07日|2020年03月31日|2020年04月30日|
|4.2|ポイント|2019年04月02日|2019年09月30日|2019年10月31日|
|4.0|LTS|2018年10月01日|2021年10月31日|2023年10月31日|
|3.4|ポイント|2017年08月22日|2018年02月|2018年03月|
|3.2|ポイント|2016年09月14日|2017年10月|2017年11月|
|3.0|LTS|2016年02月16日|2019年02月28日|2021年02月28日|
|2.4|ポイント|2014年09月11日|2016年02月|2016年03月|
|2.2|LTS|2013年11月12日|2017年08月|2019年08月|
|2.0|LTS|2012年05月21日|2015年05月|2017年05月|
|1.8|-|2009年12月07日|-|2014年11月30日|

**※** 4.4の期限は、5.0が2020年03月にリリースされた場合
**※** 5.0のリリースは、2020年3月に「予定」されている

1.8、2.0、2.2、2.4、3.2、3.4、4.2などは、リミテッドサポートも終了してしまっているので、今後、公式には不具合や脆弱性の問題が修正されたバージョンはリリースされないでしょう。

現時点では、より長期のサポートが提供されるLTSの4.0を選択されるとよいと思います。現時点(2019/12/02)での4.0の最新版は、4.0.15です。サポート期間が短くてもよいので新機能を使用されたい方は、4.4をご利用ください。

詳細は、以下のURLに記載されています。

- [Zabbix サポート期間とリリースポリシー](http://www.zabbix.com/jp/life_cycle_and_release_policy)


# 最近のリリースでの注意点

## 4.0でのディレクトリ構成変更

4.0.7から4.0.8へのバージョンアップ時に、Webインターフェースのコンテンツのディレクトリ構成が変更されました。
この変更時に、Zabbixのパッケージでの不備があったため、アップグレード時にエラーが発生したり、日本語フォントを使用できなくなったりという不具合を経験されたかたも多かったと思います。ソースを使用してインストールされていた方も、日本語フォントの配置の方法で悩まれた方もいらっしゃったかもしれません。

このディレクトリ構成の変更に伴う不具合は、4.0.8や4.2.3以降では修正されています。以前とはディレクトリ構成が若干変更されているのでご注意ください。古い手順を参考にされている場合、日本語フォントの設定で躓いてしまうかもしれません。

例えば、昔は、/usr/share/zabbix/fonts/ というディレクトリにフォントのファイルを配置するようにしていましたが、現時点(4.0.15)は、/usr/share/zabbix/assets/fonts/ というディレクトリの下にフォントファイルを配置するようになっています。

- [ZBX-16180 : Assets directory permissions are not set after the installation from packages](https://support.zabbix.com/browse/ZBX-16180)
- [ZBX-16182 : After upgrade to 4.08 from 4.07 no text showing on graphs](https://support.zabbix.com/browse/ZBX-16182)


## RHEL 8(CentOS 8)へのインストールで文字化け

RHEL 8対応のパッケージがリリースされた初期に、Webインターフェースのグラフなどでの文字化けが確認されました。
これは、RHEL 7からRHEL 8へのバージョンアップ対応を行った際、RHEL 7で使用していた日本語フォントがRHEL 8では用意されていなかったために発生していました。
4.0.11-2以降のパッケージから、RHEL 8に標準で用意されている日本語フォント(google-noto-sans-cjk-ttc-fonts)を使用するように修正されています。


## 4.4.2の不具合

4.4の更新バージョンである4.4.2が2019年11月25日にリリースされましたが、メモリリークの問題があったため、急遽2日後に修正された4.4.3がリリースされています。
もしも、4.4.2を使用されている方がいらっしゃいましたら、速やかに4.4.3へのバージョンアップをお勧めします。

- [ZBX-16988 : Memory Leak on RHEL 8](https://support.zabbix.com/browse/ZBX-16988)


# 最後に

Zabbixをバージョンアップする際には、ZabbixサーバーとZabbixエージェントでは、Zabbixサーバーのバージョンの方が新しいバージョンとなるような組み合わせにするようにしてください。
例えば、監視の環境全体をバージョンアップする場合でも、Zabbixサーバーを先にバージョンアップして、その後、徐々に各Zabbixエージェントのバージョンアップを行うことができるので、1度にすべてバージョンアップする必要はありません。

ただし、ZabbixサーバーとZabbixプロキシは、同じメジャーバージョンの組み合わせでなければ正常に機能しません。例えば、「4.0」とか「4.4」といった文字列が一致していることが必要です。Zabbixのバージョンアップ時には、ZabbixサーバーとZabbixプロキシを同時にバージョンアップするようにしてください。
設置してあるZabbixプロキシの台数が多い環境では、バージョンアップの作業計画や作業手順を作成される際には、その制限を忘れないようにしてください。

バージョンアップの方法として、過去の設定や監視データを引き継がなくてもよいのであれば、別途新しいバージョンのZabbixサーバーを構築して、既存のZabbixサーバーと並行して複数台のZabbixサーバーから1つのZabbixエージェントに接続して監視を行うことも可能です。移行方法の1つとして複数サーバーから監視する方法も検討してみてください。

**※** UserParameterなどを使用していて複数のサーバーからの呼び出しが行われると正常な値が取得できなくなるような環境では、別途対策が必要です。

明日は、誰でしょう？
どなたかよろしくお願いします。