このページで
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 に接続する際、プラグインは設定を特定の順序で確認し、どの値を使用するかを決定します。
優先順位の高い順から低い順へ、次のとおりです。
- 接続 URI で指定されたパラメータ(例:
Plugins.MongoDB.Sessions.<session_name>.Uriの?の後に定義されたクエリパラメータが最優先)。 - Zabbix エージェント 2 のアイテムキー内のパラメータ(例: mongodb.collection.stats)。
- 名前付きセッションで定義されたパラメータ(例:
Plugins.MongoDB.Sessions.<SessionName>.User、Plugins.MongoDB.Sessions.<SessionName>.Password)。 - デフォルト値(例:
Plugins.MongoDB.Default.User、Plugins.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>.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:// スキームは非推奨であり、既存の設定との後方互換性のために残されています。ポートは省略できます(既定値=27017)。 例: mongodb://127.0.0.1:27017、mongodb+srv://example.com、localhost。 |
|
| 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-1、SCRAM-SHA-256、MONGODB-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> - アイテムキーで使用するセッション名を定義します。 サポートされる値: PrimaryMode、PrimaryPreferredMode、SecondaryMode、SecondaryPreferredMode、NearestMode。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:27017、mongodb+srv://example.com、localhost。 |
|
| 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-1、SCRAM-SHA-256、MONGODB-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 レプリカセットノードへの接続順序、またはフォールバックのデフォルト。 サポートされる値: PrimaryMode、PrimaryPreferredMode、SecondaryMode、SecondaryPreferredMode、NearestMode。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 クライアント秘密鍵を含むファイルのデフォルトの完全パス。 |
関連情報:
- 一般的な Zabbix エージェント 2 の設定パラメータの説明: Zabbix agent 2 (UNIX) / Zabbix agent 2 (Windows)
- プラグイン の設定手順