このページで
6 MongoDBプラグイン
概要
Zabbix agent 2の設定ファイルは、プラグインの設定に使用されます。これらのZabbix agent 2の設定パラメータは、MongoDBプラグインの操作に対応しています。
これらのパラメータは独自の設定ファイル(例:mongo.conf)に指定し、このファイルをZabbix agent 2の設定に追加するためにIncludeディレクティブを使用することを推奨します。
MongoDBプラグインはロード可能なプラグインであり、MongoDBプラグインリポジトリで利用可能で、完全に説明されています。
注意点:
- デフォルト値はプロセスのデフォルト値を反映しており、配布されている設定ファイルの値ではありません。
- 値は環境変数をサポートしています。
- ZabbixはBOMなしのUTF-8エンコーディングのみ設定ファイルをサポートします。
- "#"で始まるコメントは、行頭でのみサポートされます。
オプション
| パラメータ | 説明 |
|---|---|
| -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エージェント2のアイテムキーパラメータ、セッションパラメータなど、他のすべての設定よりも優先されます。
接続文字列で使用されるホスト名に対してTXTレコードは1つだけ存在できます。
| パラメータ | 必須 | 範囲 | デフォルト | 説明 |
|---|---|---|---|---|
| Plugins.MongoDB.System.Path | no | MongoDBプラグイン実行ファイルへのパス。 使用例: Plugins.MongoDB.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-mongodb |
||
| Plugins.MongoDB.Timeout | no | 1-30 | グローバルタイムアウト | リクエスト実行のタイムアウト(リクエストが完了するまでに待機する秒数)。 |
| 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 | Plugins.MongoDB.Sessions.<SessionName>.TLSConnectがverify_caまたはverify_fullに設定されている場合は必須 | Zabbixエージェント2と監視対象データベース間の暗号化通信で使用する、ピア証明書検証用の最上位CA証明書を含むファイルのフルパス名。 <SessionName> - アイテムキーで使用するセッション名を定義します。 |
||
| Plugins.MongoDB.Sessions.<SessionName>.TLSCertFile | Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFileが指定されている場合は必須 | Zabbixエージェント2と監視対象データベース間の暗号化通信で使用する、エージェント証明書または証明書チェーンを含むファイルのフルパス名。 <SessionName> - アイテムキーで使用するセッション名を定義します。 |
||
| Plugins.MongoDB.Sessions.<SessionName>.TLSKeyFile | Plugins.MongoDB.Sessions.<SessionName>.TLSCertFileが指定されている場合は必須 | 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)
- プラグインの設定手順