Zabbix 4.0の紹介 (Zabbix 4.0で追加された機能)

本記事では、 Zabbix の現行 LTS バージョンである 3.0 から次期 LTS バージョンの 4.0 までの間に追加された機能や変更点のうち、4.0での変更点について解説します。

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

5 What’s new in Zabbix 4.0.0

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

1. アイテムデータの即時取得

取得間隔の長いアイテムやディスカバリで即座に値を取得することができます。監視設定のテストなどで有用です。

アイテム一覧(設定 – ホスト – アイテム)およびアイテムの設定画面で「Check now」ボタンを押すと、値が取得できます。

Check now

なお、設定の追加・変更が設定キャッシュに反映されるまで多少時間がかかるため、追加・変更直後のアイテムについてはすぐに値が取得できないことがあります。

2. HTTPエージェントアイテム

HTTP/HTTPSプロトコルを使用してサーバから情報を取得するアイテムです。REST APIを提供するサーバから情報を取得し、保存前処理で必要なデータを抽出するといった使い方ができます。REST APIが提供されているサーバであれば監視が可能です。

HTTPリクエストの内容はWebシナリオと同様の設定が可能です。また、リクエスト用のデータを生データ/JSON/XML形式で指定することができます。

3. サーバ-プロキシ間通信の圧縮

サーバ-プロキシ間の通信が常に圧縮されるようになりました。これにより、ネットワーク帯域の節約および通信速度の向上が図られました。

4. logrtのcopytruncate対応

logrtおよびlogrt.countログ監視アイテムがlogrotateのcopytruncateでローテーションされているログに対応しました。以前のバージョンまでは、ログファイルのリネーム+新規作成でローテーションされるログしか正しく扱うことができませんでした。

Zabbix 4.0では、logrtにcopytruncateオプションを指定します。

logrt[/path/to/logfile,,,,,,,copytruncate]

5. イベント、ヒストリ、トレンドデータのリアルタイムエクスポート

Zabbixサーバ上のファイルに監視データを改行区切りのJSON形式でリアルタイムに出力することができます。

zabbix_server.confに ExportDir=<出力先ディレクトリ> パラメータを設定すると、指定したディレクトリ以下に以下のようなファイルが作成されます。ファイルはZabbixの各プロセスごとに出力されます。なお、 ExportFileSize=<サイズ> を指定すると1ファイルあたりのサイズの上限を指定できます。

このファイルを別のプログラムで読み込んで利用するなどの用途が考えられます。

-rw-rw-r-- 1 zabbix zabbix 4250635 8月 22 11:59 history-history-syncer-1.ndjson
-rw-rw-r-- 1 zabbix zabbix 10485640 8月 21 14:57 history-history-syncer-1.ndjson.old
-rw-rw-r-- 1 zabbix zabbix 4145653 8月 22 11:59 history-history-syncer-2.ndjson
-rw-rw-r-- 1 zabbix zabbix 10485693 8月 21 12:06 history-history-syncer-2.ndjson.old
-rw-rw-r-- 1 zabbix zabbix 9511611 8月 22 11:59 history-history-syncer-3.ndjson
-rw-rw-r-- 1 zabbix zabbix 10485650 8月 20 08:54 history-history-syncer-3.ndjson.old
-rw-rw-r-- 1 zabbix zabbix 2814670 8月 22 11:59 history-history-syncer-4.ndjson
-rw-rw-r-- 1 zabbix zabbix 10485667 8月 21 20:04 history-history-syncer-4.ndjson.old
-rw-rw-r-- 1 zabbix zabbix 685 8月 16 16:14 history-main-process-0.ndjson
-rw-rw-r-- 1 zabbix zabbix 2110 8月 17 09:00 problems-history-syncer-1.ndjson
-rw-rw-r-- 1 zabbix zabbix 2382 8月 21 18:08 problems-history-syncer-2.ndjson
-rw-rw-r-- 1 zabbix zabbix 2228 8月 17 19:36 problems-history-syncer-3.ndjson
-rw-rw-r-- 1 zabbix zabbix 3368 8月 22 09:01 problems-history-syncer-4.ndjson
-rw-rw-r-- 1 zabbix zabbix 0 8月 20 16:04 problems-main-process-0.ndjson
-rw-rw-r-- 1 zabbix zabbix 76 8月 16 16:38 problems-task-manager-1.ndjson
-rw-rw-r-- 1 zabbix zabbix 0 8月 20 16:04 problems-timer-1.ndjson
-rw-rw-r-- 1 zabbix zabbix 3218715 8月 22 11:28 trends-history-syncer-1.ndjson
-rw-rw-r-- 1 zabbix zabbix 3164097 8月 22 11:28 trends-history-syncer-2.ndjson
-rw-rw-r-- 1 zabbix zabbix 2970135 8月 22 11:28 trends-history-syncer-3.ndjson
-rw-rw-r-- 1 zabbix zabbix 3129779 8月 22 11:51 trends-history-syncer-4.ndjson
-rw-rw-r-- 1 zabbix zabbix 72075 8月 20 16:09 trends-main-process-0.ndjson

例えば、 history-history-syncer-*.ndjson には以下のような形式でヒストリデータが出力されます(実際には1行です。見やすいように改行を入れています)。

{"host":"Zabbix server",
 "groups":["Zabbix servers"],
 "applications":["Performance","CPU"],
 "itemid":23306,
 "name":"CPU user time",
 "clock":1534831226,
 "ns":720377459,
 "value":0.583820}

6. サーバ性能の向上

従来使用していたセマフォをpthread mutexおよびread-write lockで置き換えることにより、Zabbixサーバの性能の向上が図られました。

7. その他多数のUIの改善

その他、Webインタフェースの各種UIに以下のような改善が多数行われています。

  • 期間選択のインタフェースの再設計
    • グラフ、最新データ、障害ページなどで、よく使われる期間が選択しやすくなりました。

      4.0の期間選択

  • ダッシュボードのキオスクモードの追加
    • ダッシュボードのウィジェットのみ表示されるキオスクモードが追加されました。
  • 必須のフィールドに赤色の「*」マークが付加

    必須フィールド

  • ハイコントラストテーマの追加

    ハイコントラスト(ダーク)

  • イベント一覧などの視認性の向上
    • 障害一覧をコンパクト化して表示量を増やす表示モードの追加や、正常イベントの深刻度の背景色の調整などが行われました。
  • 設定フォームの操作性の向上
    • ホストの設定でホストグループが選択しやすくなるなどの改良が行われました。