12 PostgreSQLプラグイン

概要

このセクションでは、PostgreSQL Zabbix エージェント 2 プラグインの設定ファイル (postgresql.conf) でサポートされるパラメータを一覧表示します。

PostgreSQL プラグインはロード可能なプラグインであり、PostgreSQL plugin repository で利用でき、詳細が説明されています。

次の点に注意してください。

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

オプション

Parameter Description
-V --version プラグインのバージョンとライセンス情報を表示します。
-h --help ヘルプ情報を表示します(省略形)。

パラメータ

Parameter Mandatory Range Default Description
Plugins.PostgreSQL.Default.CacheMode no prepare PostgreSQL接続のキャッシュモード。
サポートされる値:
prepare (default) - PostgreSQLサーバー上にプリペアドステートメントを作成します;
describe - サーバー上にステートメントを作成せずに、匿名のプリペアドステートメントを使用してステートメントを記述します。
なお、"describe" は主に、PgBouncer のような接続プーラーを使用する場合など、環境がプリペアドステートメントを許可しないときに有用です。
Plugins.PostgreSQL.CallTimeout no 1-30 global timeout リクエストが完了するまでの最大待機時間(秒)。
Plugins.PostgreSQL.CustomQueriesPath no Unixシステムでは /usr/local/share/zabbix/custom-queries/postgreSQL

Windowsシステムでは *:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL。ここで *ProgramFiles 環境変数のドライブ名です
カスタムクエリを含む .sql ファイルが置かれたディレクトリのフルパス名。
Plugins.PostgreSQL.CustomQueriesEnabled no false 設定すると、postgresql.custom.query アイテムキーの実行を有効にします。無効の場合、カスタムクエリディレクトリのパスからクエリは読み込まれません。
Plugins.PostgreSQL.Default.Database no PostgreSQLへの接続に使用するデフォルトデータベース。アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.Default.Password no PostgreSQLへの接続に使用するデフォルトパスワード。アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.Default.TLSCAFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Zabbix エージェント 2 と監視対象データベース間の暗号化通信におけるピア証明書検証用の、最上位 CA 証明書を含むファイルのフルパス名。名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.Default.TLSCertFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Zabbix エージェント 2 と監視対象データベース間の暗号化通信における、PostgreSQL証明書または証明書チェーンを含むファイルのフルパス名。名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.Default.TLSConnect no Zabbix エージェント 2 と監視対象データベース間の通信における暗号化方式。名前付きセッションで値が指定されていない場合に使用されます。
サポートされる値:
required - ID確認を行わずに、TLSを転送モードとして接続します;
verify_ca - TLSで接続し、証明書を検証します;
verify_full - TLSで接続し、証明書を検証し、DBHostで指定されたデータベースID(CN)が証明書と一致することを検証します。
暗号化方式が未定義の場合は、暗号化されていない接続を意味します。
Plugins.PostgreSQL.Default.TLSKeyFile no
(yes, if Plugins.PostgreSQL.Default.TLSConnect is set to verify_ca or verify_full)
Zabbix エージェント 2 と監視対象データベース間の暗号化通信における PostgreSQL 秘密鍵を含むファイルのフルパス名。名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.Default.Uri no PostgreSQLへの接続に使用するデフォルトURI。アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。

埋め込み資格情報は含めないでください(無視されます)。
URI形式に一致している必要があります。
サポートされるスキーム: tcp, unix
例: tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User no PostgreSQLへの接続に使用するデフォルトユーザー名。アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。
Plugins.PostgreSQL.KeepAlive no 60-900 300 未使用のプラグイン接続を閉じるまでの最大待機時間(秒)。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode no prepare PostgreSQL接続のキャッシュモード。
<SessionName> - アイテムキーで使用するセッション名を定義します。
サポートされる値:
prepare (default) - PostgreSQLサーバー上にプリペアドステートメントを作成します;
describe - サーバー上にステートメントを作成せずに、匿名のプリペアドステートメントを使用してステートメントを記述します。
なお、"describe" は主に、PgBouncer のような接続プーラーを使用する場合など、環境がプリペアドステートメントを許可しないときに有用です。
Plugins.PostgreSQL.Sessions.<SessionName>.Database no セッション接続用のデータベース。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.Sessions.<SessionName>.Password no Must match the password format. セッション接続用のパスワード。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile no
(yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect is set to verify_ca or verify_full)
最上位 CA 証明書を含むファイルのフルパス名。ピア証明書の検証に使用します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile is specified PostgreSQL証明書または証明書チェーンを含むファイルのフルパス名。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect no PostgreSQL接続の暗号化方式。
<SessionName> - アイテムキーで使用するセッション名を定義します。

サポートされる値:
required - ID確認を行わずに、TLSを転送モードとして接続します;
verify_ca - TLSで接続し、証明書を検証します;
verify_full - TLSで接続し、証明書を検証し、DBHostで指定されたデータベースID(CN)が証明書と一致することを検証します。
暗号化方式が未定義の場合は、暗号化されていない接続を意味します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile yes, if Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile is specified PostgreSQL秘密鍵を含むファイルのフルパス名。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri no 名前付きセッションの接続文字列。
<SessionName> - アイテムキーで使用するセッション名を定義します。

埋め込み資格情報は含めないでください(無視されます)。
URI形式に一致している必要があります。
サポートされるスキーム: tcp, unix
例: tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User no 名前付きセッションのユーザー名。
<SessionName> - アイテムキーで使用するセッション名を定義します。
Plugins.PostgreSQL.System.Path yes PostgreSQLプラグイン実行ファイルへのパス。
使用例: Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout no 1-30 global timeout リクエスト実行のタイムアウト(リクエストの完了を待機してから停止するまでの秒数)。

参照: