Zabbix 4.4の紹介

本記事では、2019/10/7にリリースされた Zabbix 4.4で追加された機能や変更点について解説します。

Zabbix 4.4の変更点は以下のページに記載されています。

5 What’s new in Zabbix 4.4.0
Release Notes for Zabbix 4.4.0

Zabbix 4.4はポイントリリースとなり、サポート期間が短いため、実運用ではLTSバージョンの利用を推奨します。

Zabbix 4.4の主な変更点を以下に挙げます。

Zabbix agent 2

Zabbix agent 2と呼ばれる第二世代のエージェントが実装されました。Zabbix agent 2は Go 言語で実装されており、以下の特長があります。

  • TCP接続数の削減
  • チェックの並列性の向上
  • プラグインによる拡張が容易
  • 以前の Zabbix エージェントをそのまま置き換え可能

Webhook 通知

Webhook メディアタイプが追加され、 JavaScript によりアラートの拡張が可能になりました。これにより外部スクリプトを使用せずZabbix内で完結したWebベースのアラートの処理が行えます。

具体的な例としては、Webhook通知を使用してSlackへの通知を行うことができます(以下のマニュアルのサンプルを参照)。

4 Webhook

障害の監視データの表示

障害ビューの監視データの表示内容をトリガーの設定でカスタマイズできるようになりました。これにより障害発生時点の監視データではなく最新値を表示させることなどが可能です。

ローレベルディスカバリ

ローレベルディスカバリについて新たに以下が実装されました。

  • ブロックデバイスのローレベルディスカバリ (vfs.dev.discovery)
  • systemd サービスのローレベルディスカバリ (systemd.unit.discovery) (要 Zabbix agent 2)
  • JMX MBeanディスカバリの非 ASCII 文字対応 (jmx.get)
  • WMIディスカバリのためのアイテムの追加 (wmi.getall)

安全なエージェントの自動登録

PSK認証およびTLS暗号化された接続を使用した安全なエージェントの自動登録が可能になりました。

保存前処理

保存前処理について新たに以下が実装されました。

  • JSON、XML、正規表現によるエラーチェックのカスタムエラー処理を追加
  • LLD に XML 関係(XML XPath、XMLエラーチェック)の前処理オプションを追加

新規テンプレート

以下の新規テンプレートが追加されました。

  • Nginx
  • Apache
  • RabbitMQ
  • MySQL/MariaDB
  • PostgreSQL

PostgreSQLのテンプレート(Template DB PostgreSQL)はUserParameterにより実装されています。詳細については以下を参照ください。

Requirements for PostgreSQL template

フロントエンド

ダッシュボードのウィジェットに様々な改良が行われました。

棒グラフ追加

グラフウィジェットで棒グラフ表示が可能になりました。

グラフ上の集約関数

ダッシュボードのグラフウィジェット上でmin、max、avgなどの集約関数を使用してデータを表示できるようになりました。これにより、累計チェックアイテムを作成することなく集約されたグラフを表示することが可能です。

4 Aggregation in graphs

深刻度ごとの障害数ウィジェットの拡張

深刻度ごとの障害数ウィジェットでホストグループ全体の障害数の合計をまとめて表示できるようになりました。縦横レイアウトが可能です。

Host availability ウィジェットの追加

ホストの稼働状況を集約して表示できるウィジェットが追加されました。インタフェースのタイプごとに稼働状況を表示することが可能です。縦横レイアウトが可能です。

グラフプロトタイプウィジェットの追加

LLDによりグラフプロトタイプから生成されたグラフを格子状に表示できるウィジェットが追加されました。

最新データのアイテムの説明アイコンの追加

[監視データ] – [最新データ]の各アイテムに説明を表示するアイコンが追加されました。

性能

アイテムの設定を格納するitemsテーブルのうちリアルタイムに更新されるフィールド(lastlogsize, state, mtime, error)が item_rtdata テーブルに分割されました。これによりZabbixサーバプロセスとフロントエンドからデータベースにアクセスする際の望ましくないロックが回避されるようになりました。

その他

その他以下のような改良、機能追加、変更が行われました。

  • TimescaleDB (PostgreSQLの時系列データ拡張)の正式サポート
  • エージェントの自動登録がDNS 名で可能
  • ホストディスカバリでホスト名の長さを64文字から128文字に拡張
  • データベース監視で複数行・列の返却が可能
  • 依存アイテムの上限が999から29999に上昇
  • Web監視およびHTTPエージェントでKerberos 認証のサポート
  • メディアタイプのエクスポート・インポートが可能
  • Jabber、Ez Textingメディアタイプの削除
  • トリガーURLで{EVENT.ID}マクロが利用可能