10 7.4.0へアップグレード時の注意点

Zabbix 7.2.xからZabbix 7.4.0へのアップグレードに関する注意点です。

すべての注意点は以下のように分類されています。

  • 重大な変更 - 既存の環境を壊す可能性のある変更、およびアップグレードプロセスに関連する重要な情報
  • その他 - Zabbixの機能の変更に関する残りのすべての情報

参照 :

アップグレードプロセス

MySQL/MariaDBでZabbixサーバーのアップグレードを正常に完了するには、バイナリロギングが有効で、スーパーユーザー権限がなく、MySQL構成ファイルにlog_bin_trust_function_creators = 1が設定されていない場合、MySQLでGLOBAL log_bin_trust_function_creators = 1を設定する必要がある場合があります。

MySQLコンソールを使用して変数を設定するには、次を実行します。

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

アップグレードが正常に完了したら、このオプションを無効にすることができます。

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

重大な変更

PCREライブラリの廃止

PCRE(またはPCRE1)ライブラリは廃止されました。Zabbix は現在、PCRE2 でコンパイルされています。

自身のユーザーメディアの管理

現在、すべてのユーザーはデフォルトで自身のメディアを管理できます。

ユーザー自身のメディア詳細を変更する権限は、ユーザーロールに基づいて付与(または取り消し)できます(Create and edit own media オプションを参照)。

さらに、他のユーザーのメディア詳細を変更するSuper adminユーザーの権限についても、ユーザーロールに基づいて付与/取り消しできます(Create and edit user media オプションを参照)。

古いバージョンからアップグレードする場合、Default access to new actions が有効になっているすべてのロールで、両方のオプションが有効になります。Default access to new actions が有効でない場合、アップグレード後に管理者およびスーパー管理者がメディアを編集する権限を失う可能性があることに注意してください。

履歴関数パラメータにおけるバックスラッシュのエスケープ

Zabbix 7.0.0 以降、履歴関数の文字列パラメータにおいて、バックスラッシュの適切なエスケープが追加されました。

7.0 より前の Zabbix バージョンからのアップグレード時には追加のバックスラッシュが挿入されるため、パラメータが長くなり、パラメータ長が最大データサイズである 255 文字を超えると、トリガー関数が壊れる可能性があります。

この問題を回避するため、アップグレード前に長いパラメータを手動でユーザーマクロへ移動することを推奨します。

7.0 より前の Zabbix バージョンからのアップグレードでは、変換後のパラメータ長に対する追加チェックも導入されています。変換後の長さが最大サイズを超える場合、そのようなパラメータはアップグレードされず、ログに警告が出力され、一覧にあるパラメータを手動で修正するようユーザーに求めます。

あわせて エスケープ関連のアップグレード時の問題 も参照してください。

MSSQL Zabbix エージェント 2 プラグインの更新

テンプレート MSSQL by Zabbix agent 2 は、検出されたクォーラムメンバーを名前で含めるまたは除外するためのフィルター、および空のクラスターを除外するためにクラスター名でフィルタリングできるサービスフィルターを追加して更新されました。テンプレートをエラーなく動作させるには、MSSQL Zabbix エージェント 2 プラグイン を 7.4.0 以上のバージョンに更新する必要があります。

必要なlibssh2の最小バージョン

必要なlibssh2の最小バージョンが、1.0.0 から 1.8.0 に引き上げられました。

検出されたホスト上のホストプロトタイプ

現在の設定に、他のホストプロトタイプを含むテンプレートを使用するホストプロトタイプが含まれている場合、Zabbix 7.4 へのアップグレードにより、検出されたすべてのホストに、それらのテンプレートで定義されたホストプロトタイプが設定されます。
この動作が意図したものでない場合は、アップグレード前に、該当するテンプレートからホストプロトタイプを手動で削除してください。

アップグレード中にホストプロトタイプが追加される検出済みホストを特定するには、Zabbixデータベースで次のSQLクエリを実行できます。

SELECT h.hostid,ht.templateid
FROM hosts_templates ht
JOIN hosts h ON ht.hostid=h.hostid
WHERE h.flags=4
  AND EXISTS (
    SELECT NULL
    FROM items i,host_discovery hd
    WHERE i.hostid=ht.templateid
    AND hd.parent_itemid=i.itemid
    )
ORDER BY hostid;

データベース接続パラメータ

DBPortDBSocket は、現在では相互排他的です。データベース接続パラメータを指定する場合は、DBPort または DBSocket のいずれか一方を定義するか、デフォルト値を使用するために両方とも未定義のままにすることができます。

その他

有効なOIDがない未サポートのSNMP walk/ディスカバリアイテム

SNMP walk アイテムでは、OIDまたはOIDインスタンスが1つも存在しない場合、エラーを返し、アイテムは未サポートになります。存在しないOID/インスタンスの詳細は、DebugLevel=5 でログに記録されます。以前は、このような場合は空文字列を返していました。

同様に、SNMP discovery アイテムでも、OIDまたはOIDインスタンスが1つも存在しない場合、エラーを返し、アイテムは未サポートになります。以前は、このような場合は空の配列を返していました。

空文字列/配列が返されるのは、OID/インスタンスが存在していても、それに対応するデータがない場合のみになったことに注意してください。

履歴キャッシュの管理

一部のデータ収集シナリオでは、特定のアイテムが一時的にサーバー/プロキシの履歴キャッシュをブロックすることがあります。 これにより、履歴データのデータベースへの書き込みが遅延し、システムの動作が遅くなる可能性があります。 履歴キャッシュの管理を支援するため、以下の改善が導入されました。

  • 手動でのキャッシュクリア: 新しい history_cache_clear=target ランタイムコマンドにより、Zabbix server/proxy で、特定のアイテムの履歴キャッシュをIDで指定して手動でクリアできるようになりました。
  • 自動キャッシュクリア: アイテムを無効化すると、そのアイテムは直ちに履歴キャッシュから削除されます(ただし、ログ用に最後の値は保持されます)。同様に、ホストを無効化すると、そのホストのすべてのアイテムが履歴キャッシュから削除されます(ただし、それぞれの最後の値は保持されます)。
  • キャッシュ診断ログ: 履歴キャッシュがいっぱいになると、Zabbix サーバー/プロキシは DebugLevel=3 から履歴キャッシュの診断情報をログに記録するようになりました(以前は DebugLevel=4)。このログには、履歴キャッシュ内で最も多くの値を保持しているアイテムが含まれます。

システムの長期的な安定性を確保するため、データ収集が利用可能なリソース(データベース性能、キャッシュサイズ、収集間隔、ログアイテムのパラメータなど)と適切にバランスしていることを確認してください。 Zabbix の履歴キャッシュは、内部アイテム zabbix[wcache] を使用して監視できます。 また、Zabbix server/proxy の履歴キャッシュサイズを増やすことも検討してください。

ユーザー通知用の独立したメニューセクション

ユーザーメディアの視認性を向上させるため、ユーザー通知は ユーザー設定 の下にある独自のメニューセクションを持つようになりました。

新しい「通知」セクションには、以前はユーザープロファイルセクションの一部であった メディアWebインターフェース通知 の2つのタブが含まれています。

マップ内のネストされたホストグループの情報を修正

マップ内で、ネストされたホストグループの情報が正しく表示されるようになりました。例えば、以下のとおりです。

  • ホストグループラベルに、ネストされたホストグループ内のすべてのホストの障害サマリーが表示されるようになりました。
  • 「ホストグループ要素」表示では、ネストされたホストグループ内の各ホストごとに個別のマップ要素が表示されるようになりました。
  • マップラベルに、ネストされたホストグループに含まれるすべての障害のサマリーが表示されるようになりました。

変換された設定用データベーステーブル

settings テーブルは、グローバル設定パラメータの保存において、config テーブルに代わって使用されるようになりました。
新しいテーブルでは、各パラメータごとに列を持つ単一行に保存するのではなく、キーと値の形式が使用されます。
これがデータ交換にどのように影響するかの例については、サーバー-プロキシ間データ交換プロトコル"settings" オブジェクト)を参照してください。

サーバーおよびプロキシの最大キャッシュサイズを拡大

一時的な問題(例:設定、データベース、またはネットワークの問題)が発生した際のキャッシュ枯渇を遅らせ、動作を維持できるようにするため、最大キャッシュサイズが 2 GB から 16 GB に引き上げられました。

デフォルトのユーザーセッション保存期間の短縮

ユーザーセッションデータのデフォルトの保存期間が、365日から31日に短縮されました。この変更はhk_sessionsパラメータに影響し、デフォルト値は365dではなく31dになりました。

サポートされるGoの最小バージョン

サポートされるGoの最小バージョンが、1.21から1.23に引き上げられました。

以前に、1.23より古いGoバージョンを使用して、ソースからZabbix エージェント 2、エージェント 2のロード可能プラグイン、またはWebサービスをビルドしていた場合は、最新のセキュリティ更新とバグ修正を受け取るために、サポートされるGoバージョンを使用してこれらのコンポーネントを再ビルドすることを推奨します。 古いGoバージョンでビルドされたコンポーネントも引き続き動作しますが、それらをアップグレードするには、より新しいGo環境が必要になります。

ホストウィザード向けテンプレートのアップグレード

新しいホストウィザードでは、Zabbixで監視対象(デバイス、アプリケーション、サービスなど)を設定するための、ガイド付きの段階的なインターフェースが導入されています。
これにより、テンプレートの選択、Zabbixエージェントのインストール、ホストインターフェースの追加などの主要な手順をユーザーに案内し、新規または既存のホストの設定を簡素化します。

以前のZabbixバージョンからアップグレードした後は、ホストウィザードで動作するようにテンプレートをアップグレードする必要があります。
手順については、テンプレートのアップグレードを参照してください。