メインコンテンツまでスキップ

設定方法

1. 対応バージョン​

  • PostgreSQL 9.6以上 のバージョンに対応しています。

Cloud環境のPostgreSQL対応状況​

Cloud環境PostgreSQL対応有無
AWS✅ 対応
Azure✅ 対応
OCI❌ 非対応
NCP✅ 対応
GCP✅ 対応
SCP✅ 対応

2. 必須権限​

2-1. 基本モニタリング権限​

モニタリングアカウント(例: exemone)に次の権限を付与する必要があります。

-- PostgreSQL 10バージョン以上 (superuser権限の付与が難しい場合)
GRANT pg_monitor TO exemone;

-- PostgreSQL 10バージョン未満
ALTER USER exemone WITH SUPERUSER;

2-2. SQLデータ収集権限​

database2、search_path オプションに入力されたDBおよびスキーマに対して、次の権限が必要です。

GRANT USAGE ON SCHEMA {schema名} TO exemone;
GRANT CONNECT ON DATABASE {database名} TO exemone;

2-3. Plan照会権限​

GRANT USAGE ON SCHEMA {schema名} TO exemone;
GRANT SELECT ON {schema名}.{table名} TO exemone;

2-4. Session Kill権限​

-- 一般PostgreSQL
GRANT pg_signal_backend TO exemone;

-- AWS RDS環境
ALTER USER exemone WITH SUPERUSER;
GRANT rds_superuser TO exemone;

3. 事前設定​

パラメータ設定 (DB再起動が必要)​

postgresql.conf に次のパラメータを設定します。

-- ユーザー定義関数(PL/pgSQL)に対する性能情報収集を有効化 (デフォルト: none)
track_functions = 'pl'

-- SQL実行情報を収集するための拡張モジュールをロード (デフォルト: null)
shared_preload_libraries = 'pg_stat_statements'

注意: 上記の設定変更後は必ず PostgreSQLの再起動 が必要です。

SQL実行情報収集設定​

モニタリング対象DBに接続して、次の設定を行います。

-- モニタリング対象databaseへ接続
-- 該当database名はexemONE Setting > Database > Custom Configuration > database2オプションへの入力が必要
-- publicではないschemaを使用する場合、search_pathオプションへの入力も必要
\c [モニタリング対象dbname]

-- pg_stat_statements拡張機能の作成
CREATE EXTENSION pg_stat_statements;

-- (任意) SQL text長さ制限オプション - PostgreSQL再起動が必要
-- デフォルト値: 1024 / 推奨値: 1048576
-- ただし、pg_stat_statements.max(デフォルト: 1000) × track_activity_query_sizeバイト分の共有メモリ使用量が増加 → 変更時は注意
track_activity_query_size = 1048576

exemONEモニタリングオプション設定​

PostgreSQLインスタンスは Setting > Database のInstance登録/編集画面で Custom Configuration に以下のキー値を設定し、指標収集方式を細かく調整できます。

パス: Setting > Database > Custom Configuration

オプション名説明
postgresql.database2モニタリング設定DBと pg_stat_statements がインストールされたDBが異なる場合、SQLデータ収集のためにそのDB名を入力します。
postgresql.set_search_pathdb-agent v3.0.508.51以降 はモニタリング対象DBのsearch_pathに、v3.0.508.51より前 は postgresql.database2 のsearch_pathに適用されます。
postgresql.set_search_path2(db-agent v3.0.508.51 / api v3.0.508.109以上で追加) postgresql.database2 のsearch_pathに適用され、SqlMessage・Plan照会時に使用されます。
postgresql.sslmodeSSLモードの有無を設定します。disable(既存の固定値、デフォルト)、require、verify-ca、verify-fullに対応しています。