MongoDBプラグイン

概要

設定パラメータを使用すると、MongoDBプラグインの動作をカスタマイズできます。

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

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

特に明記されていない限り、すべてのパラメータは任意です。

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 Description
Plugins.MongoDB.Default.AuthMechanism MongoDB サーバーへの接続に使用するデフォルトの認証メカニズムを指定します。
Plugins.MongoDB.Default.AuthSource MongoDB サーバーへの接続を認証するためのデフォルトのデータベースを指定します。
Plugins.MongoDB.Default.Direct MongoDB レプリカセットノードの自動検出を無効にします。
Plugins.MongoDB.Default.Password デフォルトのパスワードを指定します。
Plugins.MongoDB.Default.ReplicaSet MongoDB レプリカセットノードの自動検出に使用するデフォルトのレプリカセット名を指定します。
Plugins.MongoDB.Default.ReadPreference MongoDB レプリカセットノードへの接続またはフォールバック時のデフォルトの順序を指定します。
Plugins.MongoDB.Default.TLSConnect Zabbix エージェント 2 と監視対象データベース間の通信に必要な暗号化レベルを指定します。
Plugins.MongoDB.Default.TLSCAFile ピア証明書検証用の最上位 CA 証明書を含むファイルの完全パス名を指定します。
Plugins.MongoDB.Default.TLSCertFile エージェント証明書または証明書チェーンを含むファイルの完全パス名を指定します。
Plugins.MongoDB.Default.TLSKeyFile データベースの秘密鍵を含むファイルの完全パス名を指定します。
Plugins.MongoDB.Default.Uri デフォルトの URI を指定します。
Plugins.MongoDB.Default.User デフォルトのユーザー名を指定します。
Plugins.MongoDB.KeepAlive 未使用のプラグイン接続が閉じられるまでの最大待機時間を設定します。
Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism MongoDB サーバーへの接続に使用する名前付きセッションの認証メカニズムを指定します。
Plugins.MongoDB.Sessions.<SessionName>.AuthSource MongoDB サーバーへの接続を認証するための名前付きセッションのデータベースを指定します。
Plugins.MongoDB.Sessions.<SessionName>.Direct 名前付きセッションに対する MongoDB レプリカセットノードの自動検出を無効にします。
Plugins.MongoDB.Sessions.<SessionName>.Password 名前付きセッションのパスワードを指定します。
Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet MongoDB レプリカセットノードの自動検出に使用する名前付きセッションのレプリカセット名を指定します。
Plugins.MongoDB.Sessions.<SessionName>.ReadPreference MongoDB レプリカセットノードへの接続またはフォールバック時の名前付きセッションの順序を指定します。
Plugins.MongoDB.Sessions.<SessionName>.TLSConnect 名前付きセッションに対して、Zabbix エージェント 2 と監視対象データベース間の通信に必要な暗号化レベルを指定します。
Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile 名前付きセッションのピア証明書検証用の最上位 CA 証明書を含むファイルの完全パス名を指定します。
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile 名前付きセッションのエージェント証明書または証明書チェーンを含むファイルの完全パス名を指定します。
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile 名前付きセッションのデータベース秘密鍵を含むファイルの完全パス名を指定します。
Plugins.MongoDB.Sessions.<SessionName>.Uri 名前付きセッションの URI を指定します。
Plugins.MongoDB.Sessions.<SessionName>.User 名前付きセッションのユーザー名を指定します。
Plugins.MongoDB.System.Path プラグイン実行ファイルへのパスを指定します。
Plugins.MongoDB.Timeout リクエスト実行のタイムアウトを設定します。

注意事項:

  • デフォルト値は、配布される設定ファイル内の値ではなく、プロセスのデフォルト値を反映しています。
  • 値には環境変数を使用できます。
  • Zabbix がサポートする設定ファイルのエンコーディングは、BOM なしの UTF-8 のみです。
  • \# で始まるコメントは、行頭でのみサポートされます。

パラメーターの詳細

Plugins.MongoDB.Default.AuthMechanism

MongoDBサーバーへの接続に使用するデフォルトの認証メカニズムを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

範囲: SCRAM-SHA-1, SCRAM-SHA-256, または MONGODB-X509

Plugins.MongoDB.Default.AuthSource

MongoDBサーバーへの接続を認証するためのデフォルトデータベースを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

デフォルト: admin

MONGODB-X509 認証メカニズムが使用されている場合、このパラメーターは自動的に $external に設定されます。これを他の値に変更すると、起動時にエラーが発生します。

Plugins.MongoDB.Default.Direct

MongoDB レプリカセットノードの自動検出を無効にします。
<SessionName> - アイテムキーで使用するセッション名を定義します。

デフォルト: false
範囲: true - 指定したサーバーのみに接続し、レプリカセットの他のメンバーは無視します。false - レプリカセット内のすべてのノードを自動的に検出します。

tcp:// (非推奨) スキームを使用する場合、このパラメーターはデフォルトで true に設定されます。

Plugins.MongoDB.Default.Password

デフォルトのパスワードを指定します。
<SessionName> - アイテムキーで使用するセッションの名前を定義します。

Plugins.MongoDB.Default.ReplicaSet

MongoDB レプリカセットノードの自動検出に使用される、デフォルトのレプリカセット名を指定します。
<SessionName> - アイテムキーで使用するセッションの名前を定義します。
このパラメーターを mongodb+srv:// スキームとともに使用すると、複数の URL が指定されている場合と同様に動作します。DNS サーバーに、このパラメーター(または他の任意のパラメーター)を上書きできる TXT レコードが存在する場合があります。
Plugins.MongoDB.Sessions.<SessionName>.Direct パラメーターが true に設定されている場合は使用できません。エージェントの起動に失敗します。

Plugins.MongoDB.Default.ReadPreference

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

範囲: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode, または NearestMode

Plugins.MongoDB.Default.TLSConnect

Zabbix エージェント 2 と監視対象データベース間の通信に必要な暗号化レベルを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
プラグインバージョン 1.2.1 以降でサポートされています。

範囲: required - TLS 接続を必須にする、verify_ca - 証明書を検証する、verify_full - 証明書と IP アドレスを検証する

Plugins.MongoDB.Default.TLSCAFile

ピア証明書の検証に使用する、最上位CA証明書を含むファイルの完全なパス名を指定します。これは、Zabbix エージェント 2 と監視対象データベース間の暗号化通信で使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSConnectverify_ca または verify_full に設定されている場合

Plugins.MongoDB.Default.TLSCertFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用される、エージェント証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSKeyFile が指定されている場合

Plugins.MongoDB.Default.TLSKeyFile

Zabbix エージェント 2 と監視対象のデータベース間の暗号化通信に使用される、データベースの秘密鍵を含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSCertFile が指定されている場合

Plugins.MongoDB.Default.Uri

デフォルトの URI を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
URI 形式に一致している必要があります。
サポートされるスキーム: mongodb:// および mongodb+srv://; tcp:// スキームは非推奨であり、既存の設定との後方互換性のために残されています。
ポートは省略できます(default=27017)。
例: ``

Default: tcp://127.0.0.1:27017

Examples:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Default.User

デフォルトのユーザー名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

Plugins.MongoDB.KeepAlive

未使用のプラグイン接続が閉じられるまでの最大待機時間を秒単位で設定します。

デフォルト: 300
範囲: 60-900

Plugins.MongoDB.Sessions.<SessionName>.AuthMechanism

MongoDBサーバーへの接続に使用する、名前付きセッションの認証メカニズムを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

範囲: SCRAM-SHA-1SCRAM-SHA-256、または MONGODB-X509

Plugins.MongoDB.Sessions.<SessionName>.AuthSource

MongoDBサーバーへの接続を認証するための、指定したセッションのデータベースを指定します。
<SessionName> - アイテムキーで使用するセッションの名前を定義します。

デフォルト: admin

MONGODB-X509 認証メカニズムが使用されている場合、このパラメータは自動的に $external に設定されます。これを他の値に変更すると、起動時にエラーが発生します。

Plugins.MongoDB.Sessions.<SessionName>.Direct

名前付きセッションに対して、MongoDB レプリカセットノードの自動検出を無効にします。
<SessionName> - アイテムキーで使用するセッション名を定義します。

デフォルト: false
範囲: true - 指定したサーバーのみに接続し、レプリカセットの他のメンバーは無視します。false - レプリカセット内のすべてのノードを自動的に検出します。

tcp:// (非推奨) スキームが使用されている場合、このパラメーターはデフォルトで true に設定されます。

Plugins.MongoDB.Sessions.<SessionName>.Password

指定したセッションのパスワードを設定します。
<SessionName> - アイテムキーで使用するセッションの名前を定義します。

Plugins.MongoDB.Sessions.<SessionName>.ReplicaSet

MongoDB レプリカセットノードの自動検出に使用される、名前付きセッションのレプリカセット名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
このパラメーターを mongodb+srv:// スキームと併用すると、複数の URL が指定された場合と同様に動作します。DNS サーバーに TXT レコードがあり、このパラメーター(または他の任意のパラメーター)を上書きできる場合があります。
Plugins.MongoDB.Sessions.<SessionName>.Direct パラメーターが true に設定されている場合は使用できず、エージェントの起動に失敗します。

Plugins.MongoDB.Sessions.<SessionName>.ReadPreference

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

範囲: PrimaryMode, PrimaryPreferredMode, SecondaryMode, SecondaryPreferredMode, または NearestMode

Plugins.MongoDB.Sessions.<SessionName>.TLSConnect

Zabbix エージェント 2 と監視対象データベース間の通信に必要な暗号化レベルを、指定したセッションに対して設定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
プラグインバージョン 1.2.1 以降でサポートされています。

範囲: required - TLS 接続を必須にする、verify_ca - 証明書を検証する、verify_full - 証明書と IP アドレスを検証する

Plugins.MongoDB.Sessions.<SessionName>.TLSCAFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信で使用される、ピア証明書検証用の最上位 CA 証明書を含むファイルのフルパスを指定します。これは、指定したセッションに対して使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSConnectverify_ca または verify_full に設定されている場合

Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用する、指定したセッション用のエージェント証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSKeyFile が指定されている場合

Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用される、データベースの秘密鍵を含むファイルの完全なパス名を指定します。これは、指定したセッションに対して使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.MongoDB.Sessions.<SessionName>.TLSCertFile が指定されている場合

Plugins.MongoDB.Sessions.<SessionName>.Uri

指定したセッションの URI を設定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
URI 形式に一致している必要があります。
サポートされるスキーム: mongodb://mongodb+srv://; tcp:// スキームは非推奨で、既存の設定との後方互換性のために残されています。
ポートは省略できます(default=27017)。
Examples: ``

Default: tcp://127.0.0.1:27017

Examples:

mongodb://127.0.0.1:27017
mongodb+srv://example.com
localhost
Plugins.MongoDB.Sessions.<SessionName>.User

指定したセッションのユーザー名を設定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

Plugins.MongoDB.System.Path

MongoDBプラグインの実行ファイルへのパスを指定します。

使用例: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb

Plugins.MongoDB.Timeout

リクエスト実行のタイムアウトを設定します(リクエストが完了するまで待機し、完了しない場合は終了するまでの秒数)。

デフォルト: global timeout
範囲: 1-30

オプション

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

参照