Zabbix 4.0 LTS で追加されたうれしい機能と改善ポイント

2018年10月2日、Zabbix 4.0 正式版がリリースされました。
Zabbix 4.0 は、LTS(Long Term Support)と呼ばれる長期サポートリリースです。前回の Zabbix 3.0 LTS リリースから約2年ぶりのバージョンアップになります。

  • HOME
  • Zabbix 4.0 LTS で追加されたうれしい機能と改善ポイント

2018年10月2日、LTS(Long Term Support)としては約2年ぶりとなる Zabbix 4.0 正式版がリリースされました。
ここでは、当社エンジニアがお勧めする Zabbix 4.0 LTS で追加されたうれしい機能と改善ポイントについて、ご紹介します。
Zabbix 公式サイトによる新機能のご紹介につきましては、こちらをご覧ください。
オープンソース監視プロダクト Zabbix につきましては、こちらをご覧ください。

Zabbix 4.0 LTS RELEASE

これまでの「難しい。」がより柔軟に!より簡単に!

イベントのタグ機能およびイベント相関関係の追加

本機能はバージョン 3.2 の目玉機能の一つとして実装されたもので、トリガーによって生成されたイベントに対して、タグを付与することが可能になりました。タグはKey(項目名)とValue(値)で構成され、トリガー設定画面で定義することができます。

タグ機能が追加されたことによって、これまでとなにがどう変わるのでしょうか。

これまでの Zabbix は Web 画面の可視性や通知設定の最適化を検討した場合、ホストグループやテンプレートによるグルーピング方式とアイテム名、アプリケーション名、トリガー名のネーミングルールの組み合わせで実現方法を模索する必要がありました。

これらは多くの場合、要件を完全に満たすことはできず、継続的な設定変更に対して柔軟性を欠くことが多々あります。

しかしながら、タグ機能が追加されたことにより、タグベースでのフィルターが可能になり、グルーピングに依存しない画面表示が可能になり、各ホストの有するトリガーの内、一部のホスト、単一のトリガーから生成されるイベントだけ通知先を分けたいという要件に対しても、グルーピングやネーミングルールに頭を悩ませることなく、通知条件にタグを指定することにより対応が可能になりました。

また、イベントタグを用いて、イベントの相関関係の機能を利用することが出来るようになっています。イベントの相関関係は、イベントに付与されたタグのKeyとValueを用いてイベントの障害と復旧を関連付けて扱えるようにできる機能です。

例えば、ログ監視において特定の文字列が発生したら障害、その後指定の文字列が発生したら復旧といった動作を容易に実現できます。

イベントの相関関係は非常に便利な機能でありますが、設計、設定が非常に複雑になりがちなため、注意が必要です。

トリガー復旧条件の簡素化

バージョン 3.0 まではトリガーの条件式は障害の条件式しか存在せず、トリガー条件式に一致した場合に障害イベントを生成し、トリガー条件式に一致しなくなった場合に復旧イベントを生成するという仕様でした。

実際にトリガー条件を設計、設定する際には、状況の継続的且つ細かい変動によるアラートのバタつきを抑制するため、障害条件に不一致=即復旧という動作を避けたいケースが多々あります。

上記要件を満たすためにこれまでは障害条件、復旧条件をそれぞれ論理式で連結しながら現状のトリガーのステータスに応じて、動作を分岐させる複雑なトリガー条件式を設定する必要がありました。

バージョン 4.0 にてトリガー復旧条件の簡素化が行われたことにより、これまでの障害の条件式に加え、復旧条件式の設定欄が追加され、複雑な条件式を設定する必要もなく、難しい論理式に頭を悩ませることなく、直感的且つ容易に復旧条件の設定が可能になりました。

Zabbix 4.0 機能追加 トリガー

これまでの悩みが解決!

急激なログ出力への対処

Zabbix を運用する上で多くの場合問題となるのはテキストログ監視です。

Zabbix におけるテキストログ監視は、出力されたログ文字列を1行毎処理します。それにより瞬間的に大量のログが出力された場合、Zabbix Agent、Zabbix Server、Zabbix DB、出力された文字列が通知対象であったならば通知に用いるメールサーバにまで高い負荷を与え、長時間それらの処理に追われることにより最新のログ読み込みが遅延し、真に検知したい最新の検知対象文字列の通知が遅れる事象が発生する可能性がありました。上記に対し、ログ監視アイテムに新たに「maxdelay」パラメータが追加されました。

このパラメータはログを受信し始めてから何秒以内に最新のログを評価したいかを指定することができます。

過去のログ読み込み所要時間の実績を元に、現在出力されているログが maxdelay パラメータで指定されている秒数以内に読み込みが完了しないと判断された場合、指定されている秒数以内に読み込みが完了する箇所まで、ログの読み込みをスキップします。

これにより、上記のような各コンポーネントへの負荷やログ読み込みの滞留、最新の検知対象文字列の通知遅延などを回避することができます。

log.count や logrt.count といった、監視間隔当りのログ発生件数をカウントするアイテムも新規追加され、発生件数ベースでの監視も可能となっています。

また、Zabbix 内部プロセスである Alerter の並列起動が可能になったことで、上記の通知遅延はより発生し辛くなっています。

取得不可アイテムに対する nodata トリガーの有効化

Zabbix を運用する上でステータスが取得不可となったアイテムへの対策は運用者の頭を悩ませる問題です。

これまでも取得不可アイテムの検知及び通知は可能でしたが、条件を個別、柔軟に変更することが出来ず、取得不可アイテムが多数発生する環境では実用に耐えませんでした。そこで値の更新有無について監視を行うトリガー条件式である nodata 関数を用いて個別のアイテムの取得不可を検知、通知することを検討しますが、残念ながらバージョン 3.0 までの nodata 関数はステータスが取得不可となったアイテムに対しては、評価を行わず検知、通知することが出来ませんでした。

しかしながら、ついに nodata 関数が取得不可のアイテムに対しても評価を行うようになりました。これによりバージョン 4.0 では取得不可アイテムを nodata 関数により個別に検知することが可能になり、必要な対象だけ任意の条件で取得不可アイテムの発生を検知、通知することが可能になりました。

LLD で作成された設定が手動操作可能に

Zabbix には監視対象毎に自動的にアイテムやトリガー、グラフを生成する LLD(ローレベルディスカバリ) と呼ばれる自動監視機能があります。

LLD はサーバ内の状況に応じ、動的に監視対象や監視内容を変化させることができ、運用コストを大きく削減することができる非常に魅力的な機能です。

しかしながら、LLD で作成された設定は手動で操作することができず、設定の変更やチェックボックスを用いた一括更新によるステータス変更、削除ができませんでした。

バージョン 4.0 ではこれまで出来なかった LLD で作成された設定の手動操作が可能になっています。これにより LLD によって自動で作成されてしまった不要設定の手動削除、ステータスの手動一括更新が可能となります。

その他

上記以外にも、マクロ、正規表現機能の強化やトリガーの手動正常化、Web シナリオの XML エクスポート、インポート、新たな監視アイテム、API キーの追加に伴う監視機能の拡充及び柔軟性、保守運用性の向上、キャッシングや内部プロセス動作の改善による性能向上、WebUI の最適化による可視性の向上など様々な改善が行われています。

VMWare 監視や JMX 監視のサポート等、旧 LTS バージョンの変更点と比べ大きな機能追加が多数あるわけではありませんが、これまでよりもより使いやすく、より便利に変わっています。是非 Zabbix 4.0 をお試し下さい。

注意点

バージョン 4.0 になり益々便利に使いやすく高性能で魅力的になった Zabbix ですが、Zabbix API の仕様変更による一部メソッドとパラメータの廃止、Webインターフェースにおける IE9, 10 のサポートを終了するなど、採用やバージョンアップにむけて注意しなければならない点も多数あります。

特にバージョンアップに関しては、十分な調査と検証の上、実施下さい。

アークシステムは、Zabbix 認定パートナーです。

株式会社アークシステムは Zabbix Japan LLC の認定パートナー企業です。
Zabbix に関する製品・サービスの販売に加え、Zabbix 関連サービスの提供を行っております。
(2018年度は Zabbix 認定パートナー幹事企業の1社として活動しております。)

運用管理技術のプロフェッショナルであるアークシステムが
Zabbix 環境における様々な課題を解決致します。

当社の価値はお客様のビジネスを支える高度なIT技術や運用基盤の提供にあります。
お客様の課題や問題意識を受け止め、IT 戦略/企画の立案、実行性のある計画作成から運用整備とデリバリーまで、様々な形態のサービス提供をしています。これまで培った運用管理技術と Zabbix 技術の豊富なノウハウと実績をもとに、実運用に耐えうる高品質な Zabbix 環境の構築や課題解決を行います。