本記事では、 Zabbix の現行 LTS バージョンである 3.0 から次期 LTS バージョンの 4.0 までの間に追加された機能や変更点のうち、3.4での変更点について解説します。
Zabbix 3.4の変更点は以下のページに記載されています。
Zabbix 3.4の主な変更点を以下に挙げます。
1. ダッシュボードの改良
以前のバージョンに比べ、ダッシュボードレイアウトが自由に変更できるようになりました。
また、複数ダッシュボードを作成し、切り替えて表示できるようになりました。
2. マップの改良
マップ機能については以下の改善が行われました。
- マップの画像がSVG形式に
- 障害表示の改善
- 図形と線を描画可能
- 複数要素のDnD、コピー&ペースト
3. 通知の並列処理
Zabbix 3.2までは、アクションによる通知は1つの alerter プロセスにより直列に実行されていました。そのため、通知の量が多かったり、1つの通知の処理に時間がかかると、通知が大きく遅延することがありました。
Zabbix 3.4 で Alert Manager プロセスが新設され、アクションによる通知を複数の alerter プロセスで並列処理できるようになりました。起動する alerter プロセス数は StartAlerters パラメータにより設定できます(デフォルトは3)。また、並列度をメディアタイプごとに設定できます。
4. アイテムデータの保存前処理
Zabbix 3.4 で取得したアイテムのデータを保存する前に、様々な前処理を行って加工することができるようになりました。ログから特定の数値を取り出してグラフ化するといったことが可能です。
正規表現/文字列削除/XML XPath/JSON Path の指定により、データの一部を特定して抽出することができます。また、乗算、差分、数値変換などの数値データの加工も可能です。複数の処理を組み合わせることも可能です。
この機能に関連して、「依存アイテム」というアイテムタイプが追加されました。
依存アイテムは、依存先のマスターアイテムの値を保存前処理により加工して保存することができます。
元のアイテムの値をそのまま残しつつ、同時に加工した値も保存したい場合に便利です。
5. Elasticsearchのサポート (3.4.5)
Zabbix 3.4.5 から、ヒストリデータを DB の代わりに検索エンジンである Elasticsearch に保存することができるようになりました。これにより、DBの負荷の軽減と性能の向上が期待できます。
なお、この機能は現時点では実験的(experimental)という位置付けになっているため、使用の際はご注意ください。
6. その他
- ネットワーク機器用テンプレートの追加
- Cisco、Juniper などメジャーなネットワーク機器のテンプレートが新たに追加されました。
- Zabbixプロキシ経由のリモートコマンドの実行
- ZabbixプロキシもしくはZabbixプロキシ配下のZabbixエージェントでリモートコマンドを実行できるようになりました。
- コマンド実行結果のハンドリング
- ユーザパラメータ、リモートコマンド、 system.run (nowait なし)、その他 Zabbix サーバで実行されるスクリプトで、戻り値(終了ステータス)がチェックされるようになりました。
- Zabbixサーバの正規表現ライブラリをPOSIX拡張正規表現からPCREに移行
- 以前からWebフロントエンドではPCREが使用されていましたが、ZabbixサーバではPOSIX拡張正規表現が使用されており、Webフロントエンド上の正規表現のテストでは確実に動作を確認することができませんでした。
- JMXのローレベルディスカバリ (jmx.discovery)
- 条件を指定してJMXの情報を取得し、jmxアイテムを自動生成できるようになりました。
- IPMIポーリングの改善
- StartIPMIPollersの数を増やしても1ホストのIPMIデバイスとの接続数が増えないように改善されました。
- ディレクトリサイズの監視 (vfs.dir.size)
- vfs.dir.size アイテムでディレクトリのサイズを監視できるようになりました。なお、多量のファイルを含むディレクトリのサイズの監視は時間がかかる可能性があるためご注意ください。
- 時間指定の接尾辞対応
- さまざまな場所での時間指定に「s, m, h, d, w」の接尾辞が使用できるようになりました。
- ヒストリ・トレンド保存期間の拡張
- ヒストリ保存期間が1~65535日間から1時間~25年間に、トレンド保存期間も1日~25年間になりました。