PostgreSQLプラグイン

概要

設定パラメータを使用すると、PostgreSQLプラグインの動作をカスタマイズできます。

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

PostgreSQLプラグインはロード可能なプラグインであり、PostgreSQL plugin repository にて利用可能で、詳細が完全に記載されています。

すべてのパラメータは、パラメータが必須であると明記されていない限り、任意です。

このページの構成は次のとおりです。

  • パラメータ概要(パラメータの詳細を表示するには、その名前をクリックしてください)
  • パラメータ詳細
Parameter Description
Plugins.PostgreSQL.CallTimeout 要求の完了を待機する最大時間を秒単位で設定します。
Plugins.PostgreSQL.CustomQueriesPath カスタムクエリを含む .sql ファイルが格納されたディレクトリの完全なパス名を指定します。
Plugins.PostgreSQL.CustomQueriesEnabled postgresql.custom.query アイテムキーの実行を有効にします。
Plugins.PostgreSQL.Default.CacheMode PostgreSQL接続のデフォルトのキャッシュモードを指定します。
Plugins.PostgreSQL.Default.Database デフォルトのデータベース名を指定します。
Plugins.PostgreSQL.Default.Password デフォルトのパスワードを指定します。
Plugins.PostgreSQL.Default.TLSCAFile ピア証明書検証用の最上位CA証明書を含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Default.TLSCertFile PostgreSQL証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Default.TLSConnect Zabbix エージェント 2 と監視対象データベース間の通信に使用するデフォルトの暗号化レベルを指定します。
Plugins.PostgreSQL.Default.TLSKeyFile PostgreSQL秘密鍵を含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Default.Uri デフォルトのURIを指定します。
Plugins.PostgreSQL.Default.User デフォルトのユーザー名を指定します。
Plugins.PostgreSQL.KeepAlive 未使用のプラグイン接続が閉じられるまでの最大待機時間を秒単位で設定します。
Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode PostgreSQL接続の名前付きセッションのキャッシュモードを指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.Database 名前付きセッションのデータベース名を指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.Password 名前付きセッションのパスワードを指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile ピア証明書検証用の最上位CA証明書を含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile PostgreSQL証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect Zabbix エージェント 2 と監視対象データベース間の通信に使用する、名前付きセッションの暗号化レベルを指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile PostgreSQL秘密鍵を含むファイルの完全なパス名を指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.Uri 名前付きセッションのURIを指定します。
Plugins.PostgreSQL.Sessions.<SessionName>.User 名前付きセッションのユーザー名を指定します。

|Plugins.PostgreSQL.System.Path|PostgreSQLプラグインの実行ファイルへのパスを指定します。| |Plugins.PostgreSQL.Timeout|要求の実行タイムアウトを設定します。|

注意事項:

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

パラメーターの詳細

Plugins.PostgreSQL.CallTimeout

リクエストが完了するまでの最大待機時間を秒単位で設定します。

デフォルト: global timeout
範囲: 1-30

Plugins.PostgreSQL.CustomQueriesPath

カスタムクエリを含む .sql ファイルが格納されたディレクトリの完全なパス名を指定します。

デフォルト:
/usr/local/share/zabbix/custom-queries/postgreSQL - Unix システムの場合、
*:\Program Files\Zabbix Agent 2\Custom Queries\PostgreSQL - Windows システムの場合(*ProgramFiles 環境変数のドライブ名)

例:

/etc/zabbix/oracle/sql
Plugins.PostgreSQL.CustomQueriesEnabled

postgresql.custom.query アイテムキーの実行を有効にします。
無効にすると、カスタムクエリディレクトリのパスからクエリは読み込まれません。

デフォルト: false
範囲: true/false

Plugins.PostgreSQL.Default.CacheMode

PostgreSQL 接続のデフォルトのキャッシュモードを指定します。

デフォルト: prepare
範囲:
prepare - PostgreSQL サーバー上にプリペアドステートメントを作成します;
describe - サーバー上にステートメントを作成せずに、匿名のプリペアドステートメントを使用してステートメントを記述します。

describe は、PgBouncer のような接続プーラーを使用している場合など、環境がプリペアドステートメントを許可しないときに主に有用です。

Plugins.PostgreSQL.Default.Database

PostgreSQL に接続するためのデフォルトデータベースを指定します。
アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。

Plugins.PostgreSQL.Default.Password

PostgreSQL に接続するためのデフォルトパスワードを指定します。
アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。

Plugins.PostgreSQL.Default.TLSCAFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信におけるピア証明書検証のため、最上位 CA 証明書を含むファイルのフルパスを指定します。
名前付きセッションで値が指定されていない場合に使用されます。

必須: yesPlugins.PostgreSQL.Default.TLSConnectverify_ca または verify_full に設定されている場合

Plugins.PostgreSQL.Default.TLSCertFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用する、PostgreSQL の証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
名前付きセッションで値が指定されていない場合に使用されます。

必須: yesPlugins.PostgreSQL.Default.TLSKeyFile が指定されている場合

Plugins.PostgreSQL.Default.TLSConnect

Zabbix エージェント 2 と監視対象データベース間の通信に使用するデフォルトの暗号化レベルを指定します。
名前付きセッションで値が指定されていない場合に使用されます。

範囲:
required - TLS を転送モードとして使用し、ID チェックを行わずに接続します。
verify_ca - TLS を使用して接続し、証明書を検証します。
verify_full - TLS を使用して接続し、証明書を検証し、DBHost で指定されたデータベース ID (CN) がその証明書と一致することを検証します。

暗号化タイプが未定義の場合は、暗号化されていない接続を意味します。

Plugins.PostgreSQL.Default.TLSKeyFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用する PostgreSQL の秘密鍵を含むファイルの完全なパス名を指定します。
名前付きセッションで値が指定されていない場合に使用されます。

必須: yesPlugins.PostgreSQL.Default.TLSCertFile が指定されている場合

Plugins.PostgreSQL.Default.Uri

PostgreSQL に接続するためのデフォルト URI を指定します。
アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。
埋め込み認証情報は無視されます。
URI 形式に一致している必要があります。
サポートされるスキーム: tcp, unix

例:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Default.User

PostgreSQL に接続するためのデフォルトのユーザー名を指定します。
アイテムキーまたは名前付きセッションで値が指定されていない場合に使用されます。

Plugins.PostgreSQL.KeepAlive

未使用のプラグイン接続が閉じられるまでの最大待機時間(秒)を設定します。

Plugins.PostgreSQL.Sessions.<SessionName>.CacheMode

PostgreSQL接続の名前付きセッションキャッシュモードを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

デフォルト: prepare
範囲:
prepare - PostgreSQLサーバー上でプリペアドステートメントを作成します;
describe - サーバー上にステートメントを作成せずに、匿名のプリペアドステートメントを使用してステートメントを記述します。

describe は、PgBouncer のような接続プーラーを使用している場合など、環境がプリペアドステートメントを許可しないときに主に有用であることに注意してください。

Plugins.PostgreSQL.Sessions.<SessionName>.Database

PostgreSQL に接続するための、名前付きセッションのデータベースを指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

Plugins.PostgreSQL.Sessions.<SessionName>.Password

PostgreSQL に接続するための、指定したセッションのパスワードを設定します。
<SessionName> - アイテムキーで使用するセッションの名前を定義します。
パスワードの形式と一致している必要があります。

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCAFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信におけるピア証明書検証のため、最上位 CA 証明書を含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.PostgreSQL.Sessions.<SessionName>.TLSConnectverify_ca または verify_full に設定されている場合

Plugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用する、PostgreSQL の証明書または証明書チェーンを含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile が指定されている場合

Plugins.PostgreSQL.Sessions.<SessionName>.TLSConnect

Zabbix エージェント 2 と監視対象のデータベース間の通信に対して、指定したセッションレベルの暗号化方式を設定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

範囲:
required - TLS を転送モードとして使用して接続しますが、ID の確認は行いません;
verify_ca - TLS を使用して接続し、証明書を検証します;
verify_full - TLS を使用して接続し、証明書を検証し、DBHost で指定されたデータベースの識別情報 (CN) がその証明書と一致することを検証します。

暗号化タイプが未定義の場合は、暗号化されていない接続を意味します。

Plugins.PostgreSQL.Sessions.<SessionName>.TLSKeyFile

Zabbix エージェント 2 と監視対象データベース間の暗号化通信に使用する PostgreSQL の秘密鍵を含むファイルの完全なパス名を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

必須: yesPlugins.PostgreSQL.Sessions.<SessionName>.TLSCertFile が指定されている場合。

Plugins.PostgreSQL.Sessions.<SessionName>.Uri

PostgreSQL に接続するための、名前付きセッション URI を指定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。
埋め込み資格情報は無視されます。
URI 形式に一致している必要があります。
サポートされるスキーム: tcp, unix

例:

tcp://127.0.0.1:5432
tcp://localhost
unix:/var/run/postgresql/.s.PGSQL.5432
Plugins.PostgreSQL.Sessions.<SessionName>.User

PostgreSQL に接続するための、指定したセッションのユーザー名を設定します。
<SessionName> - アイテムキーで使用するセッション名を定義します。

Plugins.PostgreSQL.System.Path

PostgreSQLプラグインの実行ファイルへのパスを指定します。

必須: yes

例:

Plugins.PostgreSQL.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-postgresql
Plugins.PostgreSQL.Timeout

リクエストの実行タイムアウトを設定します(リクエストが完了するまで待機してから終了するまでの秒数)。

デフォルト: global timeout
範囲: 1-30

オプション

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

関連項目