6 MongoDBプラグイン

概要

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

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

MongoDBプラグインはロード可能なプラグインであり、MongoDB plugin repository で利用でき、完全に説明されています。

注意:

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

オプション

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

パラメータ

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

  1. 接続 URI で指定されたパラメータ(例: Plugins.MongoDB.Sessions.<session_name>.Uri? 以降で定義されたクエリパラメータが最も高い優先順位を持ちます)。
  2. Zabbix agent 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 agent 2 のアイテムキーで指定した場合、Plugins.MongoDB.Sessions.<SessionName>.User および Plugins.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:// スキームは非推奨ですが、既存設定との後方互換性のために維持されています。
ポートは省略できます(default=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 agent 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 agent 2 と監視対象データベース間の暗号化通信に使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile is specified エージェント証明書または証明書チェーンを含むファイルのフルパス。Zabbix agent 2 と監視対象データベース間の暗号化通信に使用されます。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile is specified Zabbix agent 2 と監視対象データベース間の暗号化通信に使用される、データベース秘密鍵を含むファイルのフルパス。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.MongoDB.Default.Uri no tcp://127.0.0.1:27017 MongoDB へ接続するためのデフォルト URI。

URI 形式に一致している必要があります。
サポートされるスキーム: mongodb:// および mongodb+srv://
非推奨スキーム: tcp://(既存設定との後方互換性のため、デフォルトとして使用されます)。
ポートは省略できます(default=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 agent 2 と監視対象データベース間の通信に使用するデフォルト暗号化タイプ。

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

関連情報: