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に接続する際、プラグインは設定内容を特定の順序で確認し、どの値を使用するかを決定します。 優先度の高い順に、以下のようになります。

  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エージェント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: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 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: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クライアント秘密鍵を含むファイルのデフォルトパス名。

関連情報: