このページで

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パラメータ)を設定する必要があります。

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

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

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

ProxyMemoryBufferSizeやProxyMemoryBufferAgeなどの追加パラメータでは、それぞれメモリバッファーのサイズと、バッファー内のデータの最大経過時間を定義します。

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

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

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

現在、Zabbixではプロビジョニングされたユーザーに対して、より柔軟な設定が可能です。

  • プロビジョニングされたuser mediaを無効化または有効化できます。
  • When active、Use if severity、Enabledなどのプロビジョニングされたユーザーのuser media fieldsを手動で編集できます。
  • プロビジョニングされたユーザーに、追加のユーザーメディア(追加のメールアドレスなど)を手動で追加できます。
  • 手動で追加したユーザーメディアを削除できます(プロビジョニングされたユーザーメディアは削除できません)。

さらに、プロビジョニング用のユーザーメディアマッピングを設定する際に、When active、Use if severity、Enabledなどのフィールドを使用できるようになりました。 ユーザーメディアタイプのマッピングフォームへの変更は、プロビジョニング時に新しく作成されるメディアにのみ適用される点に注意してください。

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

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

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

Oracle DBが非推奨に

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

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

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

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

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

  • auto - JSONプロトコルを使用して接続し、失敗した場合はプレーンテキストプロトコルにフォールバックして再試行します(デフォルト)。
  • json - JSONプロトコルキーを使用して接続します。
  • plaintext - プレーンテキストプロトコルを使用して接続し、アイテムキーのみを送信します。

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

統合されたエージェント/agent2プロトコル

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

関連項目: パッシブおよびアクティブなエージェントチェック。

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

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

検出されなくなったリソースの自動無効化

ローレベルディスカバリで検出されなくなったリソースを、自動的に無効化できるようになりました。 無効化は、直ちに、指定した期間の経過後、または無効化しないように設定できます(ディスカバリールールの設定にある新しい失われたリソースを無効化パラメータを参照してください)。

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

同じ開発において、失われたリソースの保持期間パラメータは、失われたリソースを削除に名前が変更されました。削除は、直ちに、指定した期間の経過後、または削除しないように設定できます。

Zabbix APIを介したZabbixサーバーへのデータ送信

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

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

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

スクリプト

アクティブエージェントでのスクリプト実行

アクティブモードで動作するエージェント上で、スクリプトを実行できるようになりました。 アクションの実行内容または手動スクリプト実行によってスクリプトの実行がトリガーされると、コマンドがアクティブチェックの設定に含められ、アクティブエージェントが受信した時点で1回実行されます。

手動スクリプトは、スクリプト実行用のサーバー/プロキシのタイムアウトとともにアクティブエージェントへ送信されます。 スクリプト実行用のデフォルトのサーバー/プロキシのタイムアウトを増やしてください。 タイムアウトはアクティブチェックの更新頻度より長くする必要があります。そうしないと、アクティブエージェントがスクリプトを受信して結果を返す前にタイムアウトを超過します。

古いアクティブエージェントは、アクティブチェックの設定に含まれるリモートコマンドを無視することに注意してください。 詳細については、パッシブチェックとアクティブチェックを参照してください。

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

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

たとえば、スクリプトの実行時に異なる整数やURLアドレスを指定できます。

手動ユーザー入力を有効にするには、次の手順を実行します。

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

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

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

パフォーマンス

ホストのメンテナンス期間更新への迅速な対応

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

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

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

権限チェックの高速化

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

これらのテーブルには、それぞれのユーザーおよびホストについて、ユーザーグループのセットとホストグループのセットのハッシュ(SHA-256)が保存されます。 さらに、ハッシュIDで指定された、ユーザーとホストのアクセス可能な組み合わせのみを保存する権限テーブルがあります。

この改善により、権限チェックの負荷が高いWebインターフェースのページ(ホスト、障害など)の読み込みが大幅に高速化されます。 なお、Super-adminユーザーについては、ハッシュと権限は計算されません。

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

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

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

ウィジェット

新しいバージョンでは、複数の新しいウィジェットが追加され、既存のウィジェットでも利用できる機能が強化されています。 さらに、ダッシュボードウィジェット同士が接続して通信できるようになり、ウィジェットとダッシュボードをより動的に利用できるようになりました。

ゲージ

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

円グラフ

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

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

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

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

Honeycomb

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

上位トリガー

ダッシュボードウィジェットに、障害の発生数が最も多いトリガーを表示できる 上位トリガー ウィジェットが追加されました。

詳細については、上位トリガーを参照してください。

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

新しい アイテム履歴 ダッシュボードウィジェット により、プレーンテキスト ウィジェットが置き換えられ、いくつかの改善が行われました。

最新のアイテムデータをプレーンテキストで表示するだけだった プレーンテキスト ウィジェットとは異なり、アイテム履歴 ウィジェットでは、複数のアイテムタイプ(数値、文字、ログ、テキスト、バイナリ)に対してさまざまな表示オプションを利用できます。 たとえば、プログレスバーやインジケーター、バイナリデータタイプの画像(ブラウザアイテム に便利)を表示したり、テキスト値を強調表示したりできます(ログファイル監視 に便利です)。

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

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

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

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

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

この機能により、次の変更が導入されます。

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

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

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

アイテム値ウィジェットと上位ホストウィジェットでの集計期間

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

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

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

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

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

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

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

Top hostsウィジェットでの拡張された並べ替え

Item value による並べ替えに加えて、Top hosts ウィジェットの並べ替え列として Host name または Text 列を設定できるようになりました。

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

ホストの可用性ウィジェットで、Zabbix エージェント(アクティブチェック)インターフェースを持つホストを表示できるようになりました。
さらに、混在という可用性ステータスが追加されました。これは、少なくとも1つのインターフェースが使用不可で、少なくとも1つが使用可能または不明である状況に対応します。
また、インターフェース別の内訳を表示せず、ホストの合計数のみを表示できるようになりました。

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

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

関数

新しい関数

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

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

参照: 文字列関数

更新された関数

複数の関数が更新されました。

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

アイテム

デフォルトのヒストリ保存期間の統一

アイテムのヒストリを保持するデフォルト期間が、Webインターフェースとデータベースで31日に統一されました。 この変更は、アイテム、テンプレートアイテム、アイテムのプロトタイプの設定フォーム、およびローレベルディスカバリのヒストリ保存期間の上書きに影響します。

整数アイテムで小数値を切り捨て

符号なし整数アイテムで小数値を受信した場合、小数部分を切り捨て、整数として保存するようになりました。 以前は、小数値を受信すると整数アイテムはサポートされない状態になっていました。

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

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

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

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

内部アイテム

内部チェックは、新しい internal poller Zabbix サーバー/プロキシ プロセスによって処理されるようになりました。

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

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

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

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

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

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

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

返されるデータの JSON 形式が更新されました。

キーのパラメータに tablespace、type、または conname のいずれも指定されていない場合、返されるデータにはコンテナ名を含む追加の JSON レベルが含まれ、コンテナを区別できるようになります。

シンプルチェック

vmware.eventlog アイテムの3番目のパラメータで、重大度によるオプションのフィルタリングがサポートされるようになりました。

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

vmware.vm.net.if.discovery アイテムで、ネットワークインターフェースアドレスの配列も返されるようになりました。

次のアイテムに新しい options パラメータが追加されました。

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

重複する SNMPv3 Engine ID のログ記録

SNMPv3 の Engine ID は、デバイスの一意な識別子として使用されます。 設定ミスや工場出荷時の設定により、複数のデバイスで Engine ID が同じになる場合があります。 SNMP 標準では Engine ID を一意にする必要があるため、同じ Engine ID を共有するアイテムは Zabbix でサポートされない状態となり、これらのデバイスで可用性の問題が発生します。

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

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

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

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

保存前処理

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

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

現在は、エラーメッセージを正規表現と照合できるようになりました。 エラーが一致する場合(または一致しない場合)に、エラーケースをどのように処理するかを指定できます。 例えば、特定のエラーメッセージを、後続の前処理ステップで照合および処理する、より一般的なケースに「マッピング」できます。また、一時的な問題(ネットワーク接続など)を、アイテムの値を取得できない明確な障害とは異なる方法で処理することもできます。

複数のサポートされていない値のチェック前処理ステップを追加できるようになりました。 アイテムがサポートされていない状態かどうかを確認するパイプラインの最後には、「任意のエラー」に一致するステップを1つだけ追加できます。 このステップが存在する場合、特定のチェックのいずれも対応するパターンに一致(または不一致)しなかった場合、または(変更された)エラーメッセージが引き継がれた場合に有効になります。つまり、「値を破棄」または「値を次に設定」の上書きが適用されなかった場合です。

関連項目: サポートされていない値のチェック

前処理ステップの一括更新の使いやすさを向上

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

マクロ

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

ユーザーマクロが、アイテム名およびアイテムのプロトタイプ名でサポートされるようになりました。

Zabbix 6.0では、アイテム名およびアイテムのプロトタイプ名でのユーザーマクロのサポートが削除されていた点に注意してください。 今回、再びサポートされるようになりました。 また、以前はサポートされていなかった、マクロを解決したアイテム名での検索もサポートされるようになりました。

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

マクロを解決したアイテム名は、データ収集セクションを除くWebインターフェースのすべての場所に表示されます。

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

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

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

マクロ関数は、一覧にあるマクロをサポートするすべての場所で使用できます。 ただし、マクロのみが想定されることが明示されている場合(たとえば、ホストマクロやローレベルディスカバリルールのフィルターを設定する場合)は除きます。

定期レポート

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

複数ページのレポート

複数ページのダッシュボードでは、ダッシュボードのすべてのページを含むレポートが返されるようになり、PDFの各ページが1つのダッシュボードページに対応します。 以前は、最初のダッシュボードページのみを返す機能に制限されていました。

通知

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

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

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

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

データベース

TimescaleDB上でauditlogをhypertableに変換

auditlog テーブルは、新規インストール時にTimescaleDB上でhypertableに変換され、時間による自動パーティショニング(デフォルトでは7日)と、より高いパフォーマンスの恩恵を受けられるようになっています。

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

関連情報: サポートされるTimescaleDBのバージョン

プロキシ用の個別データベーステーブル

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

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

プロセス

マルチスレッド化

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

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

サーバー環境のセキュリティ強化

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

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

設定ファイルの検証

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

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

これまでは、Zabbix サーバー、プロキシ、またはエージェントのビルド時に cURL ライブラリの機能が検出されていました。 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.conf と zabbix_proxy.conf に、新しいオプションパラメータVault Prefixが追加されました。また、zabbix.conf.php にオプションパラメータ$DB['VAULT_PREFIX']が追加され、setup.php もそれに応じて更新されました。

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

ディスカバリ

ネットワークディスカバリーの並行処理

以前は、各ネットワークディスカバリールールが 1 つのディスカバラープロセスによって処理されていました。 そのため、ルール内のすべてのサービスチェックは順番に実行する必要がありました。

新しいバージョンでは、サービスチェック間の並行処理を可能にするため、ネットワークディスカバリープロセスが再設計されました。 新たにディスカバリーマネージャープロセスが追加され、設定可能な数のディスカバリーワーカー(またはスレッド)を使用できるようになりました。

ディスカバリーマネージャーはディスカバリールールを処理し、タスク(サービスチェック)を含むルールごとのディスカバリージョブを作成します。 サービスチェックはディスカバリーワーカーによって取得され、実行されます。 同じ IP アドレスとポートを使用するチェックのみ、順番にスケジュールされます。一部のデバイスでは、同じポートへの同時接続が許可されない場合があるためです。

新しい zabbix[discovery_queue] 内部アイテムを使用して、キュー内のディスカバリーチェック数を監視できます。

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

その他の変更点:

  • LDAP チェックを除き、すべてのサービスチェックが非同期で実行されるようになりました。
  • サービスチェックタイプごとの同時非同期チェック数(または、すべての同期サービスチェックで使用できるワーカー数)を、Webインターフェースで設定できるようになりました(タイプごとの最大同時チェック数を参照)。 このパラメータは任意です。
  • 以前、HTTP サービスチェックは TCP チェックと同じものでした。 現在、HTTP/HTTPS チェックは libcurl を介して実行されます。 Zabbix サーバー/プロキシが libcurl なしでコンパイルされている場合、HTTP チェックは以前と同様に(つまり TCP チェックとして)動作しますが、HTTPS チェックは動作しません。
  • ネットワークディスカバリープロセスのエラーが、[Webインターフェース]の データ収集 > ディスカバリー に表示されるようになりました。例:
    • 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)の場合、フロントエンドの時刻と日付の表示が米国標準の時刻/日付表示に準拠するようになりました。

以前 現在

クローン作成の簡素化

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

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

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

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

モーダルフォーム

複数のWebインターフェースフォームが、モーダル(ポップアップ)ウィンドウで開かれるようになりました。

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

詳細設定オプションの表示を制御していた 詳細設定 チェックボックスは、折りたたみ可能なブロックに置き換えられました(例: コネクターの設定、サービスの設定、Clock ウィジェットの設定 など)。

これにより、ユーザーエクスペリエンスが向上します。これらのブロックを折りたたんで設定を保存しても、設定済みの詳細オプションがデフォルト値にリセットされなくなります。

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

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

設定フィールドの文字数制限を拡大

URLフィールド

すべてのURLフィールドの文字数制限が、2048文字になりました。 これには、地理的なマップに関連する設定のタイルURL、 その他のWebインターフェースパラメータを設定するためのWebインターフェースURL、 ネットワークマップおよびネットワークマップ要素のURL、 ホストインベントリフィールドのURL A-C、 URLダッシュボードウィジェットのURLが含まれます。

認証フィールド

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

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

アイテムのテストまたは前処理ステップのテストを実行する際、ホストから取得した値とテスト結果は、Webインターフェースに送信されるときに最大512KBまで切り捨てられるようになりました。 512KBを超えるデータも、Zabbixサーバーによって完全に処理される点に注意してください。

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

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

監査ログ

管理 > 監査ログ で、サーバー(Systemユーザー)が実行するローレベルディスカバリ、ネットワークディスカバリ、自動登録のアクティビティに関する監査ログを有効化または無効化できるようになりました。

ハウスキーパーによって削除されるまで監査ログレコードを保存するデフォルト期間が、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 (Graph、Problem hosts、Problems、Problems by severely、Trigger Overview ウィジェット用)
  • マップ リストから [Monitoring → Maps セクションにアクセスしてマップ コンテンツを編集するためのアクション リンクの名前が、Constructor から Edit に変更されました。
  • アイテム および アイテムプロトタイプ 設定フォーム内の、履歴とトレンドの保存期間を設定するフィールドの名前が変更されました。
  • 上位ホスト ウィジェットの 設定 内のフィールド 順序列 および ホスト数 が、それぞれの機能をよりわかりやすくするために 順序付け および ホスト制限 に名前変更されました。
  • グラフウィジェット設定において、凡例フィールドの最小値/最大値/平均値の表示が最小値/平均値/最大値の表示に名前変更され、データセットフィールドのホストパターンとアイテムパターンがホストパターンとアイテムパターンに名前変更されました。
  • ユーザープロファイル設定において、メッセージングタブがフロントエンド通知に名前変更され、その中のフロントエンドメッセージングオプションもフロントエンド通知に名前変更されました。

その他

  • メインメニューのアイコンが更新されました。
  • データがない場合やフィルターが未設定の場合(ウィジェットまたは表示するデータがないポップアップフィルター)のメッセージが更新されました。 さらに、表示するデータがない場合や、フィルタリング(またはグローバル検索の使用)の結果、一致する項目がない場合に、「0件中0件を表示しています」というフッターが表示されなくなりました。
  • Zabbix WebインターフェースとZabbix サーバーのバージョン番号を、システム情報ページで確認できるようになりました。
  • メディアタイプが使用されているすべてのアクションが、メディアタイプの一覧(アクションで使用列)に表示されるようになりました。 以前は、アクションの実行内容の設定で送信先 オプションが「すべて」に設定されているアクションは、メディアタイプのアクションで使用列に含まれていませんでした。
  • 最新データセクションに新しいフィルタリングオプションが追加されました。これにより、アイテムを状態(サポート済み/未サポート)でフィルタリングできます。
  • 障害セクションに新しい承認ステータスフィルタリングオプションが追加されました。これにより、障害を状態(未承認/承認済み/自分が承認済み)でフィルタリングできます。
  • マップ要素および図形の設定や一括更新を行うポップアップウィンドウに、標準のウィンドウ閉じるボタンが追加されました。
  • 表示する障害のフィルタリングに使用するユーザーグループの権限およびタグの設定が改善されました。 同じ権限を割り当てるホストグループまたはテンプレートグループを、複数同時に選択できるようになりました。
  • 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で利用できるようになりました。