6 MongoDBプラグイン

概要

Zabbix エージェント 2 の設定ファイルは、プラグインを設定するために使用されます。MongoDB プラグインの動作には、次の Zabbix エージェント 2 の設定パラメータがサポートされています。

これらは専用の設定ファイル(例: mongo.conf)に指定し、その後 Include ディレクティブを使用して、このファイルを Zabbix エージェント 2 の設定に追加することを推奨します。

MongoDB プラグインはロード可能なプラグインであり、MongoDB plugin repository にて利用可能で、詳細が記載されています。

注意:

  • デフォルト値は、同梱されている設定ファイルの値ではなく、プロセスのデフォルトを反映しています。
  • 値は environment variables をサポートします。
  • Zabbix がサポートする設定ファイルの文字エンコーディングは UTF-8 のみで、BOM は含められません。
  • "#" で始まるコメントは、行頭でのみサポートされます。

オプション

Parameter Description
-V --version プラグインのバージョンおよびライセンス情報を表示します。
-h --help ヘルプ情報を表示します(短縮形)。
-t, --test <item key> テスト用にプラグインを起動します(プラグイン設定は無視されます)。

パラメータ

MongoDB に接続する際、プラグインは設定を特定の順序で確認し、どの値を使用するかを決定します。
優先順位の高い順から低い順へ、次のとおりです。

  1. 接続 URI で指定されたパラメータ(例: Plugins.MongoDB.Sessions.<session_name>.Uri? の後に定義されたクエリパラメータが最優先)。
  2. Zabbix エージェント 2 のアイテムキー内のパラメータ(例: mongodb.collection.stats)。
  3. 名前付きセッションで定義されたパラメータ(例: Plugins.MongoDB.Sessions.<SessionName>.UserPlugins.MongoDB.Sessions.<SessionName>.Password)。
  4. デフォルト値(例: Plugins.MongoDB.Default.UserPlugins.MongoDB.Default.Password)。

例:

  • MongoDB サーバーへの接続を認証するためのデータベースを *.<SessionName>.Uri パラメータで指定した場合(例: Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://user:[email protected]:27017/?authSource=admin)、*.<SessionName>.AuthSource パラメータに別の値が設定されていても、プラグインは *.<SessionName>.AuthSource パラメータが admin に設定されているものとして扱います。
  • *.<SessionName>.Uri パラメータで URI を指定し(例: Plugins.MongoDB.Sessions.<session_name>.Uri=mongodb://127.0.0.1:27017)、ユーザー名とパスワードを Zabbix エージェント 2 のアイテムキーで指定した場合、Plugins.MongoDB.Sessions.<SessionName>.UserPlugins.MongoDB.Sessions.<SessionName>.Password が設定されていても、プラグインはアイテムキーのユーザー名とパスワードを使用します。

mongodb+srv:// スキームが使用されている場合、URI は DNS TXT レコードからパラメータを取得することがあります。
この TXT レコードから取得したパラメータは、URI パラメータ、Zabbix Agent 2 のアイテムキーパラメータ、セッションパラメータを含む他のすべての設定よりも優先されます。
接続文字列で使用するホスト名に対しては、TXT レコードは 1 つ మాత్రమే存在できます。

Parameter Mandatory Range Default Description
Plugins.MongoDB.System.Path no MongoDB プラグイン実行ファイルへのパス。
使用例: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb
Plugins.MongoDB.Timeout no 1-30 global timeout リクエスト実行のタイムアウト(リクエストが完了するまで待機してから停止するまでの秒数)。
Plugins.MongoDB.KeepAlive no 60-900 300 未使用のプラグイン接続を閉じるまでの最大待機時間(秒)。
Plugins.MongoDB.Sessions.<SessionName>.Uri no tcp://127.0.0.1:27017 名前付きセッションの接続文字列。
<SessionName> - アイテムキーで使用するセッション名を定義します。

URI 形式に一致している必要があります。
サポートされるスキーム: mongodb://mongodb+srv://tcp:// スキームは非推奨であり、既存の設定との後方互換性のために残されています。
ポートは省略できます(既定値=27017)。
例: mongodb://127.0.0.1:27017mongodb+srv://example.comlocalhost
Plugins.MongoDB.Sessions.<SessionName>.User no 名前付きセッションのユーザー名。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.Password no 名前付きセッションのパスワード。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.Direct no false MongoDB レプリカセットノードの自動検出を有効または無効にするかを決定するために使用される接続方法。
<SessionName> - アイテムキーで使用するセッション名を定義します。

サポートされる値:
true - プラグインは指定されたサーバーにのみ接続し、レプリカセットの他のメンバーは無視します。
false - プラグインはレプリカセット内のすべてのノードを自動的に検出します。
tcp://(非推奨)スキームが使用されている場合、このパラメータは既定で true に設定されます。
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism no MongoDB サーバーへの接続に使用する認証メカニズム。
<SessionName> - アイテムキーで使用するセッション名を定義します。

サポートされる値: SCRAM-SHA-1SCRAM-SHA-256MONGODB-X509
Plugins.MongoDB.Sessions.<SessionName>.AuthSource no admin MongoDB サーバーへの接続を認証するためのデータベース。
<SessionName> - アイテムキーで使用するセッション名を定義します。

MONGODB-X509 認証メカニズムが使用されている場合、このパラメータは自動的に $external に設定されます。これを他の値に変更すると、起動時にエラーになります。
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet no MongoDB レプリカセットノードの自動検出に使用されるレプリカセット名。
<SessionName> - アイテムキーで使用するセッション名を定義します。

このパラメータを mongodb+srv:// スキームと併用すると、複数の URL が指定されたものとして動作します。DNS サーバーに、このパラメータ(または他の任意のパラメータ)を上書きできる TXT レコードが存在する場合があります。

Plugins.MongoDB.Sessions.<SessionName>.Direct パラメータが true に設定されている場合は使用できず、エージェントは起動に失敗します。
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference no MongoDB レプリカセットノードへの接続順序、またはフォールバックの順序。
<SessionName> - アイテムキーで使用するセッション名を定義します。

サポートされる値: PrimaryModePrimaryPreferredModeSecondaryModeSecondaryPreferredModeNearestMode
Plugins.MongoDB.Sessions.<SessionName>.Direct パラメータが true に設定されている場合は使用できず、エージェントは起動に失敗します。
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect no Zabbix エージェント 2 と監視対象データベース間の通信に使用する暗号化方式。
<SessionName> - アイテムキーで使用するセッション名を定義します。

サポートされる値:
required - TLS 接続を必須にします。
verify\_ca - 証明書を検証します。
verify\_full - 証明書と IP アドレスを検証します。

プラグインバージョン 1.2.1 以降でサポートされます。
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSConnect is set to one of: verify_ca, verify_full ピア証明書検証に使用する最上位 CA 証明書を含むファイルの完全パス。Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified エージェント証明書または証明書チェーンを含むファイルの完全パス。Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用されるデータベース秘密鍵を含むファイルの完全パス。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 MongoDB への接続に使用するデフォルト URI。

URI 形式に一致している必要があります。
サポートされるスキーム: mongodb://mongodb+srv://
非推奨スキーム: tcp://(既存の設定との後方互換性のために既定値として使用されます)。
ポートは省略できます(既定値=27017)。
例: mongodb://127.0.0.1:27017mongodb+srv://example.comlocalhost
Plugins.MongoDB.Default.User no MongoDB への接続に使用するデフォルトのユーザー名。
Plugins.MongoDB.Default.Password no MongoDB への接続に使用するデフォルトのパスワード。
Plugins.MongoDB.Default.Direct no false MongoDB レプリカセットノードの自動検出を有効または無効にするかを決定するために使用されるデフォルトの接続方法。

サポートされる値:
true - プラグインは指定されたサーバーにのみ接続し、レプリカセットの他のメンバーは無視します。
false - プラグインはレプリカセット内のすべてのノードを自動的に検出します。
tcp://(非推奨)スキームが使用されている場合、このパラメータは既定で true に設定されます。
Plugins.MongoDB.Default.AuthMechanism no MongoDB サーバーへの接続に使用するデフォルトの認証メカニズム。

サポートされる値: SCRAM-SHA-1SCRAM-SHA-256MONGODB-X509
ここ、アイテムキー、名前付きセッション、または URI のいずれにも値が指定されていない場合は、SCRAM ベースのメカニズムが使用されます(ユーザー名が指定されている場合)。それ以外の場合は認証は使用されません。
Plugins.MongoDB.Default.AuthSource no admin MongoDB サーバーへの接続を認証するためのデフォルトのデータベース。

MONGODB-X509 認証メカニズムが使用されている場合、このパラメータは自動的に $external に設定されます。これを他の値に変更すると、起動時にエラーになります。
Plugins.MongoDB.Default.ReplicaSet no デフォルトのレプリカセット名。MongoDB レプリカセットノードの自動検出に使用されます。

このパラメータを mongodb+srv:// スキームと併用すると、複数の URL が指定されたものとして動作します。DNS サーバーに、このパラメータ(または他の任意のパラメータ)を上書きできる TXT レコードが存在する場合があります。

Plugins.MongoDB.Default.Direct パラメータが true に設定されている場合は使用できず、エージェントは起動に失敗します。
Plugins.MongoDB.Default.ReadPreference no MongoDB レプリカセットノードへの接続順序、またはフォールバックのデフォルト。

サポートされる値: PrimaryModePrimaryPreferredModeSecondaryModeSecondaryPreferredModeNearestMode
Plugins.MongoDB.Default.Direct パラメータが true に設定されている場合は使用できず、エージェントは起動に失敗します。
Plugins.MongoDB.Default.TLSConnect no Zabbix エージェント 2 と監視対象データベース間の通信に使用するデフォルトの暗号化方式。

サポートされる値:
required - TLS 接続を必須にします。
verify\_ca - 証明書を検証します。
verify\_full - 証明書と IP アドレスを検証します。
ここ、アイテムキー、名前付きセッション、または URI のいずれにも値が指定されていない場合、TLS 接続は確立されません。
Plugins.MongoDB.Default.TLSCAFile no ピア証明書検証に使用する最上位 CA 証明書を含むファイルのデフォルトの完全パス。Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用されます。
Plugins.MongoDB.Default.TLSCertFile no MongoDB クライアント証明書または証明書チェーンを含むファイルのデフォルトの完全パス。Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用されます。
Plugins.MongoDB.Default.TLSKeyFile no Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用される MongoDB クライアント秘密鍵を含むファイルのデフォルトの完全パス。

関連情報: