Table of Contents

5 Zabbix 7.0.0の新機能

このバージョンには重大な変更があります。

AGPL-3.0ライセンス

ZabbixはAGPL-3.0ライセンス下で作成され配布されています(以前は、GPL v2.0ライセンスでした)。

ソフトウェア更新チェック

ソフトウェア更新チェックが標準で、新規および既存のインストールに追加されるようになりました。ZabbixフロントエンドはパブリックZabbixエンドポイントと通信して更新をチェックします。

利用可能なZabbixソフトウェアの更新に関するニュースは、[レポート] -> システム情報および(オプションで)システム情報ダッシュボードウィジェットに表示されます。

Zabbixサーバーの設定で、AllowSoftwareUpdateCheck=0とすると、ソフトウェア更新チェックを無効にできます。

非同期ポーラー

複数のチェックを同時に実行できる新しいポーラープロセスが追加されました。

  • agent poller
  • http agent poller
  • snmp poller (walk[OID]およびget[OID]アイテム用)

これらのポーラーは非同期です。応答を待つことなく新しいチェックを開始でき、同時実行は最大1000の同時チェックまで設定可能です。

非同期ポーラーが開発されたのは、同期ポーラープロセスでは同時に1つのチェックしか実行できず、ほとんどの時間が応答の待機に費やされるためです。 したがって、新しいポーラーはネットワーク応答を待機している間に新しい並列チェックを開始することで効率を高めました。

新しいサーバー/プロキシパラメーターであるStartAgentPollersの値を変更することで、非同期エージェントポーラーを開始できます。 HTTPエージェントポーラーは、それぞれStartHTTPAgentPollersを変更することで開始できます。 SNMPポーラーは、それぞれStartSNMPPollersを変更することで開始できます。

非同期ポーラー (エージェント、HTTPエージェント、およびSNMP)の最大同時実行数は、MaxConcurrentChecksPerPollerによって定義されます。

アップグレード後、すべてのエージェント、HTTPエージェント、およびSNMP walk[OID]チェックが非同期ポーラーに移動されることに注意してください。

開発の一環として、永続的な接続cURL機能がHTTPエージェントチェックに追加されました。

ブラウザ監視

新しいアイテムタイプのブラウザアイテムがZabbixに追加され、ブラウザを使用して複雑なWebサイトやWebアプリケーションを監視できるようになりました。 ブラウザアイテムを使用すると、ユーザー定義のJavaScriptコードを実行して、クリック、テキスト入力、Webページのナビゲーションなどのブラウザ関連のアクションをシミュレートできます。

このアイテムは、HTTP/HTTPS経由でデータを収集し、Selenium ServerまたはプレーンWebDriver (ChromeDriverなど)をテストエンドポイントとしてW3C WebDriver標準を部分的に実装します。

ブラウザアイテムのサポートは現在実験段階であることに注意してください。

さらに、この機能により、ブラウザ別Webサイトテンプレートと、設定のエクスポート/インポート、Zabbixサーバー/プロキシ設定ファイル、タイムアウト、およびzabbix_jsコマンドラインユーティリティの新しい要素が追加されます。 詳細については、7.0.0へアップグレード時の注意点を参照してください。

プロキシ負荷分散と高可用性

プロキシ負荷分散は、Zabbixにプロキシグループを導入することで実装されます。プロキシグループは、プロキシ間のホストの自動分散、プロキシ負荷の再分散、高可用性を提供します。プロキシがオフラインになると、そのホストはグループ内の他のプロキシに即座に分散されます。

詳細については、プロキシ負荷分散と高可用性 を参照してください。

プロキシメモリバッファ

Zabbixプロキシ用にメモリバッファが開発されました。メモリバッファを使用すると、新しいデータ (アイテム値、ネットワークディスカバリ、ホスト自動登録)をバッファに保存し、データベースにアクセスせずにZabbixサーバーにアップロードできます。

Zabbix 7.0より前のインストールでは、収集されたデータはZabbixサーバーにアップロードされる前にデータベースに保存されていました。これらのインストールでは、アップグレード後もこれがデフォルトの動作のままです。

パフォーマンスを最適化するには、プロキシでメモリバッファを使用するように設定することをお勧めします。これは、ProxyBufferModeの値を"disk" (既存のインストールではハードコードされたデフォルト)から "hybrid"(推奨) または"memory"に変更することで可能です。メモリバッファサイズ (ProxyMemoryBufferSizeパラメーター)も設定する必要があります。

ハイブリッドモードでは、プロキシが停止した場合、バッファがいっぱいになった場合、またはデータが古すぎる場合に、未送信のデータをデータベースにフラッシュすることで、バッファがデータ損失から保護されます。すべての値がデータベースにフラッシュされると、プロキシはメモリバッファの使用に戻ります。

メモリモードでは、メモリバッファが使用されますが、データ損失に対する保護はありません。プロキシが停止した場合、またはメモリがいっぱいになった場合は、未送信のデータが削除されます。

ハイブリッドモード (ProxyBufferMode=hybrid)は、Zabbix 7.0以降のすべての新規インストールに適用されます。

ProxyMemoryBufferSizeProxyMemoryBufferAgeなどの追加パラメーターは、それぞれメモリバッファサイズとバッファ内のデータの最大保存期間を定義します。

プロキシメモリバッファを監視するための新しい内部アイテムが追加されました

JITユーザープロビジョニング

以前は、プロビジョニングされたユーザーは、プロビジョニング中に作成されたメディアのみに制限されており、勤務時間や深刻度などのプロパティを編集する柔軟性はありませんでした。

Zabbixでプロビジョニングされたユーザーには、より多くの柔軟性が提供されます。

  • プロビジョニングされたユーザーメディアを無効/有効にできます。
  • プロビジョニングされたユーザーのメディアフィールド(有効な時間帯指定した深刻度のときに使用有効など)を手動で編集できます。
  • プロビジョニングされたユーザーに手動でユーザーメディアを追加できます (たとえば、追加のメールアドレス)。
  • 手動で追加されたユーザーメディアを削除できます (プロビジョニングされたユーザーメディアは削除できません)。

さらに、プロビジョニングのユーザーメディアマッピングを構成するときに、有効な時間帯指定した深刻度のときに使用有効などのフィールドが使用できるようになりました。ユーザーメディアタイプマッピングフォームへの変更は、プロビジョニング中に作成された新しいメディアに対してのみ有効になることに注意してください。

アイテムごとに設定可能なタイムアウト

アイテムごとのタイムアウト設定が、より多くのアイテムタイプで利用できるようになりました (サポートされているアイテムタイプを参照してください)。 アイテムレベルでタイムアウト値を設定するだけでなく、さまざまなアイテムタイプに対してグローバルおよびプロキシタイムアウトを定義することもできます。

アイテムレベルで設定されたタイムアウトは、最も優先度が高くなります。 デフォルトでは、グローバルタイムアウトがすべてのアイテムに適用されますが、プロキシタイムアウトが設定されている場合は、グローバルタイムアウトが上書きされます。

Oracle DBが非推奨に

バックエンドデータベースとしてのOracleのサポートは非推奨となり、将来のバージョンでは完全に削除される予定です。

パッシブエージェントチェック用のJSONプロトコル

パッシブエージェントチェック用のJSONベースのプロトコルが実装されました。

古いエージェントとの互換性のために、古いプレーンテキストプロトコルへのフェイルオーバーが追加されました。エージェントが"ZBX_NOTSUPPORTED"を返す場合、Zabbixはインターフェースを古いプロトコルとしてキャッシュし、プレーンテキストのアイテムキーのみを送信してチェックを再試行します。

Zabbix getは、新しいオプション-P --protocol <value>で実行できるようになりました。"value"は次のいずれかです。

  • auto - JSONプロトコルを使用して接続し、フォールバックしてプレーンテキストプロトコルで再試行します (デフォルト)。
  • json - JSONプロトコルキーを使用して接続します。
  • plaintext - アイテムキーのみが送信されるプレーンテキストプロトコルを使用して接続します。

アイテムキーがサポートされていない場合、Zabbix getは終了コード1を返します。

エージェント/エージェント2プロトコルの統合

ZabbixエージェントをZabbixエージェント2プロトコルに切り替えることで、Zabbixエージェントとエージェント2プロトコルが統合されました。ZabbixエージェントとZabbixエージェント2のリクエスト/レスポンスの違いは、"variant"タグ値で表されます("1" - Zabbixエージェント、"2" - Zabbixエージェント2)。

参照: パッシブおよびアクティブエージェントチェック

アクティブチェックでのフレキシブル/スケジュール間隔のサポート

アクティブチェックで、フレキシブル/スケジュール間隔がZabbixエージェントとZabbixエージェント2の両方でサポートされるようになりました (以前はZabbixエージェント2のみ)。

失われたリソースの自動無効化

ローレベルディスカバリで検出されなくなったリソースは、自動的に無効化できるようになりました。これらのリソースは、すぐに無効化することも、指定した期間後に無効化することも、無効にしないことも可能です (ディスカバリルール設定の新しいパラメーターDisable lost resourcesを参照してください)。

失われたリソース(ホスト、アイテム、トリガー)は、情報列のアイコンでマークされます。ツールチップテキストに、そのステータスの詳細が表示されます。

同じ開発で、Keep lost resources periodパラメーターの名前がDelete lost resourcesに変更され、すぐに削除する、指定した期間後に削除する、または削除しないオプションが追加されました。

スクリプトの手動ユーザー入力

フロントエンドスクリプトの手動ユーザー入力を使用すると、スクリプトを実行するたびにカスタムパラメーターを指定できます。これにより、パラメーターが1つだけ異なる複数の類似ユーザースクリプトを作成する必要がなくなります。

たとえば、実行中にスクリプトに異なる整数または異なるURLアドレスを指定したい時があります。

手動ユーザー入力を有効にするには:

  • 必要な場合はスクリプト(コマンド、スクリプト、スクリプトパラメーター)で{MANUALINPUT}マクロを使用するか、URLスクリプトのURLフィールドで使用します。
  • 高度なスクリプト設定で、手動ユーザー入力を有効にし、入力オプションを設定します:

ユーザー入力を有効にすると、スクリプトの実行前に、手動入力ポップアップがユーザーに対して表示され、カスタム値の入力を求められます。入力された値は、スクリプト内の{MANUALINPUT}に置き換えられます。

設定に応じて、ユーザーは文字列値を入力するか、事前に決定されたオプションのドロップダウンから値を選択するように求められます。

Zabbix API経由でZabbixサーバーにデータを送信する

以前は、特定のデータをZabbixサーバーに送信するには、Zabbix senderユーティリティを使用するか、Zabbix senderで使用されるものと同様のカスタムJSONベースの通信プロトコルを実装する必要がありました。

現在は、history.push APIメソッドを使用して、HTTPプロトコル経由でZabbixサーバーにデータを送信することもできます。 送信されたデータを受信するには、構成されたトラッパーアイテムまたはHTTPエージェントアイテム(トラッピングが有効)が必要であることに注意してください。

さらに、正しいhistory.push操作は、追加のフィルタリングオプション(新しいPushアクションと Historyリソース)があるレポート監査ログに記録され、 history.push APIメソッドは、ユーザーの役割を構成するときにAPIメソッドの許可/拒否リストでも使用できます。

パフォーマンス

ホストメンテナンス期間の更新への対応速度向上

以前はメンテナンスは1分ごとに再計算されていたため、メンテナンス期間の開始または停止に最大60秒の遅延が発生する可能性がありました。

メンテナンスは引き続き1分ごとに再計算されますが、メンテナンス期間に変更がある場合は設定キャッシュが再読み込みされるとすぐに再計算されます。

タイマープロセスは、設定更新後にメンテナンス期間に変更があったかどうかに基づいて、メンテナンスを開始/停止する必要があるかどうかを1秒ごとに確認します。そのため、メンテナンス期間の開始/停止の速度は更新間隔の設定に依存します(デフォルトは10秒)。メンテナンス期間の変更にはアクティブ開始/アクティブ終了の設定は含まれないことに注意してください。また、既存のアクティブなメンテナンス期間にホスト/ホストグループが追加された場合、変更は次の分の開始時にのみタイマープロセスによって有効になります。

権限チェックの高速化

非特権ユーザーの権限チェックに複数の中間テーブルを導入することで、権限チェックが大幅に高速化されました。

これらのテーブルは、ユーザー/ホストごとに、ユーザーグループセットとホストグループセットのハッシュ(SHA-256)を保持します。さらに、ハッシュIDで指定されたアクセス可能なユーザーとホストの組み合わせのみを格納する権限テーブルも存在します。

この改善により、権限を多用するフロントエンドページ(ホスト、問題など)の読み込みが大幅に高速化されます。なお、スーパー管理者ユーザーについてはハッシュと権限は計算されません。

トリガーアクション実行の高速化

Zabbixサーバーにおけるトリガーアクション、リカバリ操作、および更新操作の実行は、トリガーステータスの変更後、即時(100ミリ秒未満)に実行されるようになりました。以前は、最大4秒の遅延が発生する可能性がありました。

この遅延の短縮は、複数のプロセス(エスカレーターとそのエスカレーションディスパッチモジュール、エスカレーターとアラーター、前処理マネージャー、および履歴同期機能)間のプロセス間通信(IPC)メカニズムを実装することで実現しました。

ウィジェット

新バージョンでは、いくつかの新しいウィジェットが追加され、その他のウィジェットの機能も強化されました。さらに、ダッシュボードウィジェットが相互に接続・連携できるようになり、ウィジェットとダッシュボードのダイナミックな操作性が向上しました。

ゲージ

ダッシュボードウィジェットゲージウィジェットが追加されました。これにより、単一のアイテムの値をゲージとして表示できるようになりました。 詳細については、ゲージをご覧ください。

円グラフ

ダッシュボードウィジェット円グラフウィジェットが追加されました。選択した項目の値を以下の形式で表示できます。

  • 円グラフ
  • ドーナツグラフ
{width="300">円グラフ。 {width="300">ドーナツグラフ。

詳細については、円グラフ をご覧ください。

今回の開発の一環として、グラフ ウィジェット設定(凡例 タブ)に 集計関数を表示 チェックボックスが追加されました。

Honeycomb

ダッシュボード ウィジェットHoneycombウィジェットが追加されました。このウィジェットは、監視対象のネットワーク インフラストラクチャとリソースの概要を動的かつ鮮明に表示します。仮想マシンやネットワーク デバイスなどのホスト グループと、それぞれの項目が、インタラクティブな六角形のセルとして視覚的に表示されます。 詳細については、Honeycomb をご覧ください。

上位トリガー

ダッシュボード ウィジェット上位トリガーウィジェットが追加されました。これにより、問題発生件数が最も多いトリガーを確認できます。

詳細については、上位トリガーをご覧ください。

アイテム履歴とプレーンテキスト

新しい アイテム履歴 ダッシュボードウィジェットプレーンテキスト ウィジェットに代わり、いくつかの改善を加えました。

最新のアイテムデータをプレーンテキストでのみ表示する プレーンテキスト ウィジェットとは異なり、アイテム履歴 ウィジェットは複数のアイテムタイプ(数値、文字、ログ、テキスト、バイナリ)に対応した様々な表示オプションをサポートしています。

例えば、プログレスバーやインジケーター、バイナリデータ型の画像(ブラウザアイテム に便利)、テキスト値のハイライト表示(ログファイル監視 に便利)などを表示できます。

詳細については、アイテム履歴 をご覧ください。 プレーンテキスト ウィジェットの置き換えに関する詳細は、7.0.0 へのアップグレードに関する注意事項 をご覧ください。

ホストナビゲーターとアイテムナビゲーター

ホストナビゲーターウィジェットとアイテムナビゲーターウィジェットがダッシュボードウィジェットに追加されました。 これらのウィジェットは、様々なフィルタリングおよびグループ化オプションに基づいて、それぞれホストまたはアイテムを表示します。また、選択したホストまたはアイテムに基づいて、他のウィジェットに表示される情報を制御できます。 詳細については、ホストナビゲーターおよびアイテムナビゲーターをご覧ください。

ウィジェットの通信フレームワーク

ダッシュボードウィジェットが相互に接続・通信できるようになり、ウィジェットとダッシュボードの動的な操作性が向上しました。 複数のウィジェットには、互換性のあるウィジェット間またはダッシュボード間で設定データを共有するためのパラメーターが追加されました。

この機能により、以下の変更が行われます。

  • ホストグループホストアイテム パラメーターを使用すると、それぞれのエンティティ、またはそれらを提供するデータソースを選択できます。
  • ホスト選択を有効にする パラメーターは、ホストを提供するデータソースを選択できる ホストをオーバーライド パラメーターに置き換えられました。
  • 期間 パラメーターが複数のウィジェットに追加され、期間を提供するデータソースを選択できるようになりました。
  • マップ ウィジェットの マップ パラメーターを使用すると、マップのデータソースとしてマップまたは別のウィジェットを選択できます。
  • グラフ (クラシック) ウィジェットの グラフ パラメーターを使用すると、グラフのデータソースとしてグラフまたは別のウィジェットを選択できます。

ウィジェットとそのパラメータに応じて、データソースは同じダッシュボードの互換性のあるウィジェット、またはダッシュボード自体になります。 詳細については、ダッシュボードウィジェットを参照してください。

Zabbixに同梱されている標準テンプレートの変更については、テンプレートの変更を参照してください。

アイテム値/トップホストウィジェットの集計期間

アイテム値 ウィジェットと トップホスト ウィジェットで集計期間を設定できるようになりました。

また、アイテム値ウィジェットに、選択した期間の集計値を表示できるようになりました。集計値は、以下の形式で表示できます。

  • 最小値
  • 最大値
  • 平均値
  • 個数
  • 合計
  • 最初の値
  • 最後の値

これらの追加機能は、データ比較ウィジェットの作成に役立ちます。例えば、あるウィジェットでは最新の値を表示し、別のウィジェットではより長い期間の平均値を表示できます。また、複数のウィジェットを使用して、過去の様々な期間の集計値を並べて比較することもできます。

テンプレートダッシュボードで利用可能なウィジェットの拡張

以前は、テンプレートダッシュボード では、以下のウィジェットのみ作成できました: 時計グラフ(クラシック)グラフプロトタイプアイテム値プレーンテキストURL

テンプレートダッシュボードでは、すべてのウィジェットの作成がサポートされるようになりました。

トップホストウィジェットの並べ替えの拡張

アイテム値による並べ替えに加えて、トップホストウィジェットではホスト名またはテキスト列を並べ替えの順序列として設定できるようになりました。

ホスト可用性ウィジェットの機能強化

ホスト可用性 ウィジェットで、Zabbix エージェント(アクティブチェック) インターフェースを持つホストを表示できるようになりました。新たに Mixed という可用性ステータスが追加されました。これは、少なくとも 1 つのインターフェースが利用不可で、少なくとも 1 つのインターフェースが利用可能または不明な状態を表します。さらに、インターフェースごとの内訳を表示せずに、ホストの総数のみを表示する機能も導入されました。

グラフウィジェットの凡例サイズ可変

グラフウィジェットで、凡例行の数を、設定された項目の数に応じて可変に設定できるようになりました。

関数

新しい関数

トリガー式と計算アイテムで使用できる新しい関数が追加されました。

  • jsonpath() - JSONPath の結果を返します。
  • xmlxpath() - XML XPath の結果を返します。

参照: 文字列関数

更新された関数

いくつかの関数が更新されました。

  • 集計関数は、計算に数値以外の型もサポートするようになりました。これは、例えば count 関数や count_foreach 関数などで役立ちます。
  • count 関数や count_foreach 集計関数は、オプションのパラメータ operatorpattern をサポートしています。これらを使用することで、項目のフィルタリングを微調整し、指定した条件に一致する値のみをカウントできます。
  • すべての foreach 関数 は、サポートされていない項目をカウントに含めなくなりました。
  • 以前は期間引数を無視するように設定されていた関数 last_foreach は、これをオプションのパラメータとして受け入れます。
  • 予測関数 によって返される値のサポート範囲が、double データ型の範囲に合わせて拡張されました。 timeleft() 関数は最大 1.7976931348623158E+308 までの値を受け入れ、forecast() 関数は -1.7976931348623158E+308 から 1.7976931348623158E+308 までの値を受け入れるようになりました。

アイテム

デフォルトの履歴保存期間の統一

アイテム履歴のデフォルトの保存期間が、フロントエンドとデータベースの両方で31日間に統一されました。この変更は、アイテム、テンプレートアイテム、アイテムプロトタイプの設定フォーム、およびローレベル検出における履歴保存期間のオーバーライドに影響します。

浮動小数点値が整数アイテム用に切り詰められる

現在、符号なし整数アイテムに浮動小数点値が受信されると、値は小数部から切り詰められ、整数として保存されます。 以前は、浮動小数点値があると整数アイテムがサポートされませんでした。

Windows イベントログの行数カウント

Windows 版 Zabbix エージェント/エージェント 2 に、新しい eventlog.count アイテムが追加されました。 このアイテムは、指定されたパラメータに基づいて、Windows イベントログの行数を整数値で返します。

非同期の単一OID SNMPリクエスト

新しいget[OID] SNMPアイテムが追加され、単一のOID値を非同期で照会できるようになりました。

内部アイテム

内部チェックは、新しい内部ポーラー Zabbix server/proxy プロセスによって処理されるようになりました。

proxy メモリバッファを監視するための内部アイテムが追加されました。

以下の内部アイテムも追加されました。

  • zabbix[discovery_queue] - キュー内のディスカバリチェック回数を監視できます。
  • zabbix[vps,written] - データベースに書き込まれた履歴値の合計数を監視できます。

新規および更新されたエージェントアイテム

Zabbixエージェント/エージェント2に新しいアイテムが追加されました。

  • net.dns.perf アイテムは、net.dns アイテムの実行時間を計測し、サービスからの応答を待機した秒数を返します。
  • net.dns.get Zabbixエージェント2アイテムは、DNSレコードの詳細情報を返します。

以下の Zabbix エージェント/エージェント 2 アイテムが更新されました:

  • net.dns および net.dns.record アイテムは、DNS 逆引き検索を実行する際に、逆引き形式および非逆引き形式の DNS 名を受け入れるようになりました。
  • proc.get アイテムは、Linux において、"プロセス"および"サマリー"モードにおいて、PSS (Proportional Set Size) メモリも返すようになりました。
  • Gentoo Linux で system.sw.packages および system.sw.packages.get アイテムがサポートされるようになりました。
  • system.hostname アイテムは、type パラメータに新しい fqdn オプションが指定されている場合、完全修飾ドメイン名 (FQDN) を返すようになりました。
  • Zabbix エージェント 2 で使用される wmi.get および wmi.getall アイテムは、Zabbix エージェント上のこれらのアイテムの出力形式と一致するように、ブール値を文字列で表した JSON を返すようになりました (例: 以前は "RealTimeProtectionEnabled": true が返されていましたが、"RealTimeProtectionEnabled": "True" が返されます)。
  • oracle.ts.discovery Zabbix エージェント 2 アイテムは、コンテナ名を含む新しい {#CON_NAME} LLD マクロを返すようになりました。
  • oracle.ts.stats Zabbixエージェント2アイテムに、対象のコンテナ名を指定するための新しいconnameパラメータが追加されました。 返されるデータのJSON形式が更新されました。 キーパラメータにtablespacetype、またはconnameが指定されていない場合、返されるデータにはコンテナ名を含む追加のJSONレベルが含まれ、コンテナを区別できるようになります。

シンプルなチェック

vmware.eventlog 項目で、3 番目のパラメータに重要度によるフィルタリングを指定できるようになりました。

vmware.vm.discovery 項目で、仮想マシンのネットワークインターフェースに関するデータも 返します できるようになりました。 このデータは、カスタムの ホストインターフェース の設定に使用できます。

vmware.vm.net.if.discovery 項目は、ネットワークインターフェースアドレスの配列も返す ようになりました。

以下の項目に新しい options パラメータが追加されました。

このパラメータは、リダイレクトされた応答をターゲットホストの稼働状態として扱うか、停止状態として扱うかを指定するために使用できます。 詳細については、シンプル チェックを参照してください。

重複するSNMPv3エンジンIDのログ記録

SNMPv3では、エンジンIDがデバイスの一意の識別子として使用されます。設定ミスや工場出荷時の設定が原因で、複数のデバイスで同じエンジンIDが使用される場合があります。SNMP規格ではエンジンIDが一意であることが求められるため、同じエンジンIDを共有するアイテムはZabbixではサポートされなくなり、これらのデバイスの可用性に問題が生じる可能性があります。

こうした問題のトラブルシューティングを支援するため、同じエンジンIDを共有するSNMPv3デバイスに関する情報が、Zabbixサーバーによって定期的にログに記録されるようになりました。重複するエンジンIDの検出は、各SNMPポーラーで個別に機能することに注意してください。

各標準アイテムのドキュメントリンク

各標準アイテムに、フロントエンドからドキュメントページへの直接リンクが追加されました。

アイテム設定フォームからアイテムヘルパーウィンドウを開いた際(アイテムキーフィールドの横にある選択をクリック)、リンクはクエスチョンマークアイコンの下に表示されます。

保存前処理

サポートされていないアイテム状態に対する高度な根本原因処理

アイテム値の取得に失敗した場合(つまり、サポートされていない状態になった場合)のエラー処理では、以前はプロセスが失敗した理由や実行時の段階を区別することができませんでした。すべてのエラーは、同じエラー処理オプション(値を破棄する、特定の値を設定する、または特定のエラーメッセージを設定する)を使用して処理する必要がありました。

エラーメッセージを正規表現と照合できるようになりました。エラーが一致した場合(または一致しない場合)、エラーケースの処理方法を指定できます。例えば、特定のエラーメッセージをより一般的なケースに"mapped"し、さらに前処理ステップで照合して処理したり、断続的な問題(ネットワーク接続など)を、アイテム値の取得の明確な失敗とは異なる方法で処理したりできます。

複数の サポートされていない値をチェック する前処理ステップを追加できるようになりました。パイプラインの最後に、アイテムがサポートされていない状態であるかどうかを確認する"任意のエラー"マッチングステップは1つだけ存在できることに注意してください。存在する場合、特定のチェックのいずれも対応するパターンと一致しなかった場合、または(修正された)エラーメッセージが引き継がれた場合(つまり、"値を破棄"または"値を設定"のオーバーライドが有効になっていない場合)にアクティブになります。

参照: サポートされていない値のチェック

前処理ステップの一括更新のユーザビリティ向上

以前のアイテム一括更新フォームのデザインでは、前処理ステップの更新によって前処理ステップが追加されるのか、それとも置き換えられるのかが十分に明確ではありませんでした。新しいデザインでは、置き換えすべて削除のラジオボタンが追加され、前処理ステップの一括更新の結果として何が期待できるかがユーザーに明確になりました。

マクロ

アイテム名およびアイテムプロトタイプ名でユーザーマクロをサポート

アイテム名およびアイテムプロトタイプ名でユーザーマクロをサポートしました。

Zabbix 6.0 では、アイテム名およびアイテムプロトタイプ名でユーザーマクロがサポートされていませんでした。

今回、これが復元されました。また、以前はサポートされていなかった、マクロを解決したアイテム名の検索もサポートされるようになりました。

マクロが解決されたアイテム名は、アイテムテーブルの拡張である別のデータベーステーブル (item_rtname) に保存されます。アイテムテーブルの各レコードに対して、対応する item_rtname レコードが作成されます (アイテムプロトタイプ、検出ルールアイテム、テンプレートアイテムを除く)。マクロが解決されたアイテム名は 2048 文字に制限されています。

マクロが解決されたアイテム名は、データ収集 セクションを除くすべてのフロントエンドに表示されます。

アイテム名に含まれるユーザーマクロ値の解決と同期を行う新しい configuration syncer worker サーバープロセスが追加されました。

マクロ関数のサポート拡張

マクロ関数が、すべての種類のマクロでサポートされるようになりました。

マクロ関数は、上記のマクロをサポートするすべての場所で使用できます。 これは、マクロのみが必要であると明示的に指定されている場合を除きます(例:ホストマクロまたは低レベル検出ルールフィルターを設定する場合)

定期レポート

定期レポート は、もはや実験的な機能ではありません。

複数ページのレポート

複数ページのダッシュボードの場合、レポートはダッシュボードのすべてのページとともに出力できるようになりました。各PDFページは1つのダッシュボードのページに対応しています。以前は、この機能は最初のダッシュボードのページのみを出力することに限定されていました。

通知

アクティブエージェントでのリモートコマンド

アクティブモードで動作しているバージョン7.0のエージェントで、リモートコマンドを実行できるようになりました。 アクションoperationまたは手動scriptの実行によってリモートコマンドの実行がトリガーされると、 そのコマンドはアクティブチェック設定に追加され、アクティブエージェントが受信すると実行されます。 古いアクティブエージェントでは、アクティブチェック設定に含まれるリモートコマンドは無視される点にご注意ください。 詳細については、パッシブエージェントとアクティブエージェントのチェックをご覧ください。

内部イベントのタグ処理のサポート

Webhook スクリプトによって返されるタグの処理が、内部イベントでもサポートされるようになりました。

また、{EVENT.TAGS.<タグ名>}、{EVENT.TAGS}、{EVENT.TAGSJSON}、{EVENT.RECOVERY.TAGS}、{EVENT.RECOVERY.TAGSJSON} マクロが内部イベント通知でサポートされるようになりました。

これらの変更により、Webhook を使用して、内部イベントリカバリ通知によって外部の問題/サポートチケットを更新またはクローズできるようになります。

データベース

TimescaleDB上のハイパーテーブルに変換された監査ログ

新規インストールではauditlogテーブルは、時間通りの自動パーティショニング (デフォルトでは7日) とパフォーマンスの向上の恩恵を受けるために、TimescaleDB上のハイパーテーブルに変換されました。

既存のインストールを正常にアップグレードするには、TimescaleDBスキーマのアップグレードを参照してください。

参照: TimescaleDBのサポートバージョン

プロキシ用の独立したデータベーステーブル

プロキシレコードは hosts テーブルから移動され、新しい proxy テーブルに保存されるようになりました。

また、プロキシの運用データ(最終アクセス、バージョン、互換性など)は host_rtdata テーブルから移動され、新しい proxy_rtdata テーブルに保存されるようになりました。

プロセス

マルチスレッド

マルチスレッドアーキテクチャへの移行の一環として、いくつかの変更が行われました。

  • 新しい configure パラメータ--with-stacksizeが追加されました。このパラメータを使用すると、システムが使用するデフォルトのスレッドスタックサイズ(キロバイト単位)を上書きできます。
  • ユーザーマクロの解決が、プリプロセスマネージャからプリプロセスワーカーに移動されました。

サーバー環境の強化

Zabbix の一部の機能を制限し、サーバー環境のセキュリティを強化できるようになりました。

  • サーバー設定で EnableGlobalScripts=0 を設定することで、Zabbix サーバー上でのグローバルスクリプト実行を無効化できます。新規インストールの場合、Zabbix サーバー上でのグローバルスクリプト実行はデフォルトで無効化されています。
  • フロントエンド設定ファイル (zabbix.conf.php) で $ALLOW_HTTP_AUTH=false を設定することで、ユーザーの HTTP 認証を無効化できます。
  • SMS 通知用の GSM モデムを、新しい SMSDevices パラメータで指定できるようになりました。これにより、フロントエンドから GSM モデムのパスを誤って設定するリスクが軽減されます。

設定ファイルの検証

Zabbix のメンテナンスコマンド(serverproxyagentagent 2web service)に設定ファイルの検証機能が追加されました。 検証は -T --test-config オプションを使用して実行できます。 検証が成功した場合、終了コードは"0"になります。それ以外の場合、コンポーネントは0以外の終了コードと対応するエラーメッセージで終了します。警告(非推奨パラメータの場合など)は、正常終了コードには影響しません。

実行時に cURL ライブラリ機能を検出

以前は、cURL ライブラリ機能は Zabbix サーバー、プロキシ、またはエージェントのビルド時に検出されていました。cURL 機能がアップグレードされた場合、それらを利用するには、対応する Zabbix コンポーネントを再コンパイルする必要がありました。

アップグレードされた cURL ライブラリ機能は、再起動するだけで Zabbix で利用できるようになります。再コンパイルは不要です。これは、Zabbix サーバー、プロキシ、またはエージェントに当てはまります。

アップグレードに関する注意事項も参照してください。

エージェント 2 の設定

バッファサイズ

Zabbix エージェント 2 の設定パラメータ BufferSize のデフォルト値が 100 から 1000 に増加されました。

空値が許可

Zabbix エージェント 2 のプラグイン関連の設定パラメータで、空値が許可されるようになりました。

Windows エージェントサービスのスタートアップタイプの設定

Zabbix エージェント/エージェント2 Windows サービスのスタートアップタイプを設定するオプション (-S --startup-type) が追加されました。 このオプションを使用すると、エージェント/エージェント2 サービスを Windows 起動時に自動的に起動する (automatic)、自動起動サービスの起動完了後に起動する (delayed)、ユーザーまたはアプリケーションによって手動で起動する (manual)、またはサービスを完全に無効化する (disabled) ように設定できます。

MSIからのWindowsエージェントのインストールを実行する際、Windows Server 2008/Vista以降のバージョンでは、STARTUPTYPE コマンドラインパラメータで特に指定がない限り、デフォルトのスタートアップタイプがdelayedになりました。 これにより、特にシステム再起動時のZabbixエージェント/エージェント2 Windowsサービスの信頼性とパフォーマンスが向上します。

古い数値型のサポートを廃止

拡張範囲の数値が使用されるため、以前非推奨となっていた古い形式の浮動小数点値はサポートされなくなりました。

設定ファイルに Vault プレフィックスパラメータが追加されました

設定ファイル zabbix_server.confzabbix_proxy.conf に、新しいオプションパラメータVault Prefixが追加されました。また、zabbix.conf.php にオプションパラメータ$DB['VAULT_PREFIX']が追加され、setup.php もそれに応じて更新されました。

これにより、CyberArkHashiCorp の Vault パスがハードコードされなくなり、非標準パスでの Vault デプロイメントが可能になりました。

ディスカバリ

ネットワーク検出における同時実行

以前は、各ネットワーク検出ルールは1つの検出プロセスによって処理されていました。そのため、ルール内のすべてのサービスチェックは順次実行することしかできませんでした。

新バージョンでは、ネットワーク検出プロセスが改良され、サービスチェック間の同時実行が可能になりました。

新しい検出マネージャプロセスが追加され、検出ワーカー(またはスレッド)の数も設定可能になりました。

検出マネージャは検出ルールを処理し、各ルールごとにタスク(サービスチェック)を含む検出ジョブを作成します。

サービスチェックは検出ワーカーによって選択され、実行されます。デバイスによっては同一ポートへの同時接続が許可されない場合があるため、同じIPとポートを持つチェックのみが順次スケジュールされます。

新しい内部アイテムzabbix[discovery_queue]を使用すると、キュー内の検出チェックの数を監視できます。

StartDiscoverers パラメータで、ディスカバリに使用可能なディスカバリワーカーの総数を指定できるようになりました。StartDiscoverers のデフォルト数は 1 から 5 に、範囲は 0~250 から 0~1000 に増加しました。 以前の Zabbix バージョンで使用されていたdiscovererプロセスは廃止されました。

さらに、以下の点も変更されました。

  • LDAP チェックを除くすべてのサービスチェックが 非同期 で実行されるようになりました。
  • 各サービスチェックタイプごとの同時非同期チェック数(またはすべての同期サービスチェックで使用可能なワーカー数)が frontend で設定できるようになりました(タイプごとの最大同時チェック数 を参照)。このパラメータはオプションです。
  • HTTP サービスチェックは、以前は TCP チェックと同じでした。 HTTP/HTTPS チェックは libcurl 経由で実行されるようになりました。Zabbix サーバー/プロキシが libcurl なしでコンパイルされている場合、HTTP チェックは以前と同様に(つまり TCP チェックとして)機能しますが、HTTPS チェックは機能しません。
  • ネットワーク検出プロセスにおけるエラーがフロントエンド(データ収集 -> 検出)に表示されるようになりました。例:
  • fping エラー
  • SNMP OID が正しくありません。
  • アイテムタイムアウトのマクロが正しくありません。
  • アドレス範囲エラー

検出/自動登録中のホストタグの追加

検出イベントと自動登録イベントで、以下の操作が利用できるようになりました。

  • ホストタグの追加
  • ホストタグの削除

検出されたホストグループの共有

ローレベルディスカバリルールは、既に検出された既存のホストグループを、同じローレベルディスカバリルールによって作成されたホストにリンクできるようになりました。 これは、指定されたグループプロトタイプに基づいて、他のローレベルディスカバリルールによって以前に検出および作成されたホストグループに影響します。

コネクタ

データストリーミング機能は試験運用版ではなくなりました。

選択的なデータのストリーミングと試行間隔の設定

Zabbix から外部システムへアイテム値をストリーミングする際、情報の種類(数値(符号なし)、数値(浮動小数点)、文字など)に基づいて、コネクタがストリーミングするアイテム値を設定できるようになりました。

さらに、アイテム値やイベントのストリーミング試行の失敗(例えば、HTTP エンドポイントがビジー状態またはレート制限されている場合)を回避するために、試行間隔(データストリーミング試行が失敗した後のコネクタの待機時間)も設定できるようになりました。

コネクタは、HTTP レスポンスコード 201、202、203、204 も成功として受け入れるようになりました(以前は 200 のみ)

Apache Kafka へのデータストリーミング

外部システムへのデータのストリーミングのための新しいツール、Zabbix サーバー用 Kafka コネクタ が利用可能になりました。 Kafka コネクタは Go で記述された軽量サーバーで、Zabbix サーバーから Kafka ブローカーにアイテムの値とイベントを転送するように設計されています。

テンプレート

新しいテンプレートと既存のテンプレートの変更については、テンプレートの変更を参照してください。

Webインターフェース

多要素認証

多要素認証 (MFA) と時間ベースのワンタイムパスワード (TOTP)、または Duo Universal Prompt 認証方式を組み合わせて、Zabbix へのサインインに使用できるようになりました。これにより、ユーザー名とパスワードに加えて、セキュリティをさらに強化できます。

米国時間形式

フロントエンドの言語がデフォルト(en_US)の場合、フロントエンドの時刻と日付の表示が米国標準の時刻/日付表示に準拠するようになりました。

以前 現在

クローン作成の簡素化

以前は、ホストテンプレート マップクローン作成完全クローン作成 が可能でした。

クローン作成 オプションは削除され、完全クローン作成 オプションは クローン作成 に名前が変更されましたが、完全クローン作成 の以前の機能はすべて保持されています。

アイコンがフォントに置き換えられました

フロントエンドのすべてのアイコンがアイコン画像シートからフォントに切り替わりました。

モーダルフォーム

いくつかのフロントエンドフォームがモーダル(ポップアップ)ウィンドウで開かれるようになりました。

折りたたみ可能な詳細設定

詳細設定オプションを表示する詳細設定チェックボックスが、折りたたみ可能なブロックに置き換えられました。 (例: コネクタ設定サービス設定時計ウィジェット設定 など) これにより、これらのブロックを折りたたんで設定を保存しても、設定済みの詳細設定がデフォルト値にリセットされなくなり、ユーザーエクスペリエンスが向上します。

上位トリガーのメニューセクションの改善

上位トリガーを表示するメニューセクションの名称が 上位100トリガー に変更されました。 問題名とタグでトリガーをフィルタリングできるようになりました。 また、各トリガーのステータス変更数ではなく、検出された問題数が表示されるようになりました。

設定フィールドの文字数制限の緩和

URL フィールド

すべての URL フィールドの文字数制限が 2048 文字になりました。 これには、以下のものが含まれます。タイル URL (地理マップ 関連の設定)、フロントエンド URL (フロントエンドパラメータ の設定)、ネットワークマップ](/manual/config/visualization/maps/map#creating-a-map) および ネットワークマップ要素 の URL、 ホストインベントリ](/manual/api/reference/host/object#host-inventory) フィールドの URL A-C、 *ダッシュボードウィジェット](/manual/web_interface/frontend_sections/dashboards/widgets/url#url) の URL。

認証フィールド

認証フィールドUser/User nameパスワードの文字数制限が255文字になりました。 これは、HTTP エージェント アイテム、Web シナリオコネクタ の HTTP 認証設定、および シンプルチェックODBC モニタリングSSH チェックTelnet チェックJMX監視

アイテムと前処理テスト結果の切り捨て

テストアイテムまたはテスト前処理ステップを実行する場合、ホストから取得された値とテスト結果は、フロントエンドに送信する際に最大512KBに切り捨てられるようになりました。 512KBを超えるデータは、Zabbixサーバーによって引き続き完全に処理されます。

ホストダッシュボードのタブ

選択したホストに対して設定されているすべてのホストダッシュボードが、ホストダッシュボードのページヘッダーの下にタブとして表示されるようになりました。従来の右上隅のドロップダウンはタブに置き換えられました。 これにより、さまざまなホストダッシュボード間を簡単に切り替えることができ、監視データのナビゲーションが向上します。

監査ログ

管理監査ログ で、サーバー(システムユーザー)によって実行される低レベル検出、ネットワーク検出、および自動登録アクティビティの監査ログを有効化/無効化できるようになりました。

監査ログレコードがハウスキーパーによって削除されるまでのデフォルトの保存期間が、365日から31日に変更されました。

最新データフィルター

モニタリング最新データ において、フィルターが設定されていない場合、サブフィルターとデータはデフォルトで表示されなくなりました。

以前のバージョンの Zabbix からアップグレードする場合は、7.0.0 へのアップグレードノート も参照してください。

PHPの必須バージョン

PHPの必須バージョンが7.4.0から8.0.0に引き上げられました。

名前変更された要素

  • ラベル Tags を持つ一部の ダッシュボード ウィジェット パラメータの名前が、より分かりやすく変更されました。 Item tags (Data Overview ウィジェット用)、Scenario tags (Web Monitoring ウィジェット用) Problem tags (GraphProblem hostsProblemsProblems by severelyTrigger Overview ウィジェット用)
  • マップ リストから [MonitoringMaps セクションにアクセスしてマップ コンテンツを編集するためのアクション リンクの名前が、Constructor から Edit に変更されました。
  • アイテム および アイテムプロトタイプ 設定フォーム内の、履歴とトレンドの保存期間を設定するフィールドの名前が変更されました。
  • 上位ホスト ウィジェットの 設定 内のフィールド 順序列 および ホスト数 が、それぞれの機能をよりわかりやすくするために 順序付け および ホスト制限 に名前変更されました。
  • グラフウィジェット設定において、凡例フィールドの最小値/最大値/平均値の表示最小値/平均値/最大値の表示に名前変更され、データセットフィールドのホストパターンアイテムパターンホストパターンアイテムパターンに名前変更されました。
  • ユーザープロファイル設定において、メッセージングタブがフロントエンド通知に名前変更され、その中のフロントエンドメッセージングオプションもフロントエンド通知に名前変更されました。

その他

  • メインメニューのアイコンを更新しました。
  • データがない、またはフィルターが設定されていないことを示すメッセージ(ウィジェットまたはポップアップフィルターで表示するデータがない場合)を更新しました。 さらに、表示するデータがない場合、またはフィルタリング(またはグローバル検索)で一致する結果がなかった場合に表示される"0件中0件を表示しています"というフッターを削除しました。
  • ZabbixフロントエンドとZabbixサーバーのバージョン番号システム情報ページで確認できるようになりました。
  • メディアタイプが使用されているすべてのアクションが、メディアタイプリスト(アクションで使用列)に表示されるようになりました。以前は、アクション操作設定の[送信先のみ]オプション(/manual/config/notifications/action/operation#operation-details)が"すべて"に設定されているアクションは、メディアタイプの[アクションで使用]列に含まれていませんでした。
  • 最新データセクションに新しいフィルタリングオプションが追加されました。これにより、アイテムを状態(サポート対象/非サポート対象)でフィルタリングできるようになりました。
  • 問題セクションに新しい確認ステータスフィルタリングオプションが追加されました。これにより、問題を状態(未確認/確認済み/自分が確認済み)でフィルタリングできるようになりました。
  • マップ要素とシェイプの設定と一括更新用のポップアップウィンドウに、標準のウィンドウ閉じるボタンが追加されました。
  • 表示可能な問題をフィルタリングするための ユーザーグループ 権限とタグの設定が改良されました。 複数のホスト/テンプレートグループを一度に選択し、それらに同じ権限を割り当てることができるようになりました。
  • スヌーズ グローバル通知を 1 つのブラウザでスヌーズすると、そのユーザーがログインしているすべてのブラウザ/デバイスで通知がスヌーズされるようになりました。
  • アイテム値 ウィジェットの ホストのオーバーライド パラメータが、使いやすさ向上のため 詳細設定 セクションの前に移動されました。

プラグイン

Ember+

Zabbixエージェント2でEmber+を直接監視するための新しいプラグインが追加されました。

詳細については、以下をご覧ください。

インストール

RHEL派生版向けの個別インストールパッケージ

AlmaLinux、CentOS Stream、Oracle Linux、Rocky Linuxのバージョン8および9には、専用のインストールパッケージが用意されています。以前は、RHELおよびRHELベースのディストリビューションにはそれぞれ個別のインストールパッケージが提供されていました。 バイナリの非互換性による潜在的な問題を回避するため、RHELと上記の各派生版にはそれぞれ個別のパッケージが使用されるようになりました。

ARM64/AArch64をサポート

ARM64/AArch64インストールパッケージが、Debian、RHEL 8、9とその派生製品、およびSLES/OpenSUSE Leap 15で利用できるようになりました。