Zabbix 5.2の紹介

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

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

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

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

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

Scriptアイテムタイプ

Scriptアイテムタイプが追加されました。ユーザー定義のJavaScriptによりHTTP/HTTPSでデータを収集することが可能です。

タイムゾーン設定

フロントエンドのタイムゾーンの設定をグローバルおよびユーザーごとに設定できるようになりました。これまではphpの設定ファイルでのみ指定可能でした。

シークレット(秘密情報)の保存

パスワードなどの秘密情報をHashiCorp Vaultという外部サービスに保存できるようになりました。この値はユーザーマクロとデータベースの認証情報で使用できます。

ユーザーロール(ユーザーの役割)

ユーザーロール(ユーザーの役割)を定義できるようになりました。これによりWeb UIの各機能、APIへのアクセス、障害発生時のアクションへのアクセスなど、細かいユーザー権限の制御が可能になりました。

YAMLファイルのエクスポート・インポート

Zabbixの各種設定をこれまでのXML・JSONに加え、YAML形式でエクスポート・インポートが行えるようになりました。YAMLは可読性が高く、編集も行いやすい形式です。

YAML形式でエクスポートしたテンプレートの内容は以下のようになります。

zabbix_export:
  version: '5.2'
  date: '2020-10-08T08:29:52Z'
  groups:
    -
      name: Templates/Applications
  templates:
    -
      template: 'Template App Apache by HTTP'
      name: 'Template App Apache by HTTP'
      description: |
        Get metrics from mod_status module using HTTP agent.

MQTTプロトコルへの対応

MQTTプロトコルに対応したZabbix agent 2アイテム mqtt.get[] が追加されました。MQTTはIoT向けの軽量なPub/Sub型のデータ配信プロトコルです。

mqtt.get[] アイテムは以下のように使用します。対象のトピックを購読し、文字列もしくはJSON(トピックをワイルドカードで指定した場合)で取得します。

mqtt.get["tcp://host:1883","path/to/topic"]
mqtt.get["tcp://host:1883","path/to/#"]
mqtt.get["ws://host:8080","path/to/topic"]

Webフロントエンド

タブの情報表示

フロントエンドの各種ページのタブに設定済み項目数や有効状態が表示されるようになりました。タブを開かなくても設定の有無が簡単に分かるようになりました。

フィルター設定の保存

障害およびホストのページでフィルターの設定が保存できるようになりました。保存したフィルターはタブで切り替えることができます。

セッションをcookieに保持

フロントエンドのセッション情報をWebサーバ上ではなくユーザーのcookieに暗号化して保持するようになりました。これによりフロントエンドを動作させるWebサーバのロードバランスが可能になります。

インターフェースのないホストが作成可能

インターフェースのないホストが作成できるようになりました。トラッパーアイテムやWebチェックのみ使用するホストで有用です。

メンテナンス期間ページの簡略化

これまで複数のタブに分かれていたメンテナンス期間の設定ページが1つのページにまとまり、操作性が向上しました。

その他の改良点

その他以下のような改良が行われています。

  • エージェントのHostnameパラメータに複数のホスト名を記述して、1つのエージェントから複数のホストとしてアクティブチェックを行えるようになりました。これにより1つの物理サーバ上の独立したアプリケーションなどを従来のように複数のエージェントを起動することなく論理的な複数のホストとして分割できます。
  • Modbusプロトコルに対応したアイテムが追加されました。
  • HTTPエージェントとWebシナリオがダイジェスト認証に対応しました。
  • アイテムのエラーを保存前処理で上書きできるようになりました。
  • ホストプロトタイプでインターフェースを指定できるようになりました。
  • ホストプロトタイプがタグに対応しました。
  • エージェントの設定パラメータにUserParameterのディレクトリを指定するUserParameterDirが追加されました。
  • SNMPアイテムのテストでバージョン固有のパラメータが指定できるようになりました。
  • 取得不可アイテムの更新間隔のグローバルな設定が削除され、各アイテムの更新間隔が使用されるようになりました。
  • ユーザーマクロの長さが255から2048文字に拡張されました。
  • フロントエンドのデフォルトの言語をインストール時および管理設定で設定できるようになりました。
  • 以前はdefines.inc.phpファイルを編集することでのみ設定できた一部のパラメータがフロントエンドで直接設定できるようになりました。
  • ダッシュボードの一覧にフィルターが追加されました。
  • 長期間の分析のためのトリガー関数が追加されました。
  • テンプレートのスクリーンがダッシュボードに変換されました。