7.4.0へのアップグレードに関する注意事項

これらの注意事項は、Zabbix 7.2.xからZabbix 7.4.0へアップグレードする場合を対象としています。

すべての注意事項は、次のカテゴリに分類されています。

  • 重大な変更 - 既存のインストール環境に影響を与える可能性がある変更、およびアップグレードプロセスに関連するその他の重要な情報
  • その他 - Zabbixの機能変更に関するその他すべての情報

以下も参照してください。

  • Zabbix 7.4.0より前のバージョンからのアップグレードに関するすべての関連情報については、アップグレード手順を参照してください。
  • 高可用性(HA)クラスタ内のサーバーをアップグレードする手順については、HAクラスタのアップグレードを参照してください。

アップグレードプロセス

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を使用してコンパイルされます。

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

デフォルトで、すべてのユーザーが自分のメディアを管理できるようになりました。

ユーザー自身のメディアの詳細を変更する権限は、ユーザーロールに基づいて付与または取り消すことができます(自分のメディアの作成と編集オプションを参照)。

さらに、他のユーザーのメディアの詳細を変更するスーパーユーザーの権限も、ユーザーロールに基づいて付与または取り消すことができます(ユーザーメディアの作成と編集オプションを参照)。

以前のバージョンからアップグレードする場合、新しいアクションへのデフォルトアクセスが有効になっているすべてのロールで、両方のオプションが有効になります。 新しいアクションへのデフォルトアクセスが有効になっていない場合、アップグレード後に管理者およびスーパーユーザーがメディアを編集できなくなる可能性があります。

履歴関数パラメータ内のバックスラッシュのエスケープ

Zabbix 7.0.0以降、履歴関数の文字列パラメータでバックスラッシュが適切にエスケープされるようになりました。

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

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

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

エスケープ関連のアップグレードに関する問題も参照してください。

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

MSSQL by Zabbix エージェント 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;

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

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

その他

有効なOIDがないSNMPウォーク/ディスカバリアイテムはサポート対象外

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

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

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

履歴キャッシュの管理

一部のデータ収集シナリオでは、特定のアイテムがサーバー/プロキシの履歴キャッシュを一時的に占有することがあります。 これにより、履歴データのデータベースへの書き込みが遅れ、システムの処理速度が低下する可能性があります。 履歴キャッシュの管理に役立つよう、以下の改善が導入されました。

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

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

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

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

新しい「通知」セクションには、以前はユーザープロファイルセクションの一部であった メディア と 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バージョンからアップグレードした後は、ホストウィザードで動作するようにテンプレートをアップグレードする必要があります。
手順については、テンプレートのアップグレードを参照してください。

SNMPv1 と SNMPv2 チェックの並行処理

SNMPv1 および SNMPv2 の非同期サービスチェックは、利用可能なディスカバリーワーカーによって並行して処理されるようになりました。