■概要
本手順では、PostgreSQL / EDB PostgresをDPAの監視ターゲットとして登録する手順を紹介します。
ただ、PostgreSQL / EDB Postgresは他のDB製品とは異なり、事前に手動でDPAモニタリングユーザーを作成し、
その後、DPAでモニタリング設定を進めていく形となります。
なお、PostgreSQLの監視では、制限付き監視(pg_stat_activityのみ利用)と完全な監視の2パターンがあります。
制限付き監視では、モニタリングユーザーに最低限の権限を付与してSQL待機時間情報を取得します。
ですがSQLテキストやSQL実行統計が不完全となる可能性があります。
データの完全性を高めるため、本手順では完全な監視を行うための手順をご紹介します。
※Linux上でのオペレーションとしてコマンドを記載しています。
Windows環境の場合、適宜読み替えて実行してください。
■前提条件
・DPAリポジトリが作成済であること
・PostgreSQLへリモート接続が許可されていること
■事前準備手順
①監視対象PostgreSQLに接続し、SQL実行統計を収集する機能を持つpg_stat_statmentsモジュールが有効となっているかを確認します。
$ psql
postgres=# select name,default_version,installed_version from pg_available_extensions where name=’pg_stat_statements’;
name | default_version | installed_version
———————————————————–+—————————————————+————————————————————
pg_stat_statements | 1.9 | ★空欄だった場合、無効
pg_stat_statementsが無効だった場合、次のコマンドを実行し有効化します。
postgres=# create extension pg_stat_statements;
name | default_version | installed_version
———————————————————–+—————————————————+————————————————————
pg_stat_statements | 1.9 | 1.9 ★バージョンが入れば有効化
postgres=# \q
②postgresql.confを編集モードで開き、次の設定を追加します。
- shared_preload_libraries = ‘pg_stat_statements‘
- track_activity_query_size = 2048
- pg_stat_statements.track = top *1
*1:オンプレミス環境の場合の値。
AWS RDS / Azureでは ALL を設定します。
③postgresqlサービスを再起動します。
# systemctl restart <postgresqlサービス名>
④DPA用モニタリングユーザーを作成し、権限付与を行います。
$ psql
postgres# create user <モニタリングユーザー名> with encrypted password ‘パスワード’;
postgres# GRANT pg_read_all_stats, pg_read_all_settings, pg_signal_backend TO <モニタリングユーザー名>;
postgres# \q
PostgreSQL環境では以上で事前設定が完了です。
続けて、下記■導入手順に記載の手順を実行してください。
EDB Postgre環境でのみ追加で次の設定が必要となります。
⑤pg_stat_statements利用の追加設定を行います。
$ psql
postgres# CREATE SCHEMA <モニタリング用スキーマ名>;
postgres# CREATE VIEW <モニタリング用スキーマ名>.pg_stat_statements AS SELECT * FROM public.pg_stat_statements;
postgres# GRANT USAGE ON SCHEMA <モニタリングスキーマ名> TO <④で作成したモニタリングユーザー名>;
postgres# \q
以上でEDB Postgre環境での事前設定も完了です。
続けて、下記■導入手順に記載の手順を実行してください。
■導入手順
①ブラウザを起動し、下記URLにアクセスします。
https://<DPAサーバー機能導入ホスト名>:8124/
②DPAコンソールが表示されたら、右上の『OPTIONS』をクリックします。
③Management Options画面が表示されたら、”Monitor Setup”欄の『Register』をクリックします。
④Database instance type画面が表示されたら、”PostgreSQL or EDB Postgres”を選択し、『Next』をクリックします。
⑤監視ターゲットのDB接続情報、事前作成したモニタリングユーザーの情報を入力し、『Next』をクリックします。
○入力情報
- Host name or IP address:監視対象PostgreSQLが稼働するホスト名、またはIPアドレスを入力
- Port:PostgreSQLがリッスンするポート番号を入力
- Database:監視対象データベース名を入力
- SSL mode:PostgreSQL-DPAサーバー間で確立される接続タイプを指定
- Authentication method:DPAモニタリングユーザーがPostgreSQLに接続する際の認証方式を指定
- Monitoring user:事前に作成したモニタリングユーザーを入力
- Password:モニタリングユーザーのパスワードを入力
⑥DPAコンソール表示名を入力し、『Next』をクリックします。
⑦サマリー画面が表示されたら内容を確認し、問題なければ『Register』をクリックします。
⑧完了メッセージが表示されたら、監視ターゲットとしてPostgreSQL / EDB Postgresを追加する手順は完了です。
DPAトップページに戻り、PostgreSQL / EDB Postgresが監視ターゲットとして登録されていることを確認してください。