はじめに
こちらの記事は、上記の記事を1年目新入社員が手を動かして実践してみた記録になります。
たくさんつまづいて、想像の何倍も時間がかかったので、3つのパートに分けて手順のなかで時間がかかったところを記録します。
- DBmarlinサーバー構築
- PostgreSQL と テストアプリの作成・デプロイ・Instanaエージェントインストール
- DBmarlin データベース接続設定 👈 今回はこれ
1. DBmarlin データベース接続設定
DBmarlinのPostgreSQL接続設定ドキュメントはこちら。
https://docs.dbmarlin.com/docs/Monitored-Technologies/Databases/postgresql
接続ユーザーの作成
まずは DBmarlin接続用のユーザdbmarlinを作ります。統計情報などを取得することもあり、SUPERUSER権限を付与する必要があります。
$ sudo su - postgres
$ psql
postgres=# CREATE USER dbmarlin WITH PASSWORD 'securepassword';
GRANT pg_monitor to dbmarlin;
ALTER USER dbmarlin WITH SUPERUSER;
CREATE ROLE
GRANT ROLE
ALTER ROLE
postgres=# exit
PostgreSQL 設定ファイルの更新
続けて、postgresqlの設定ファイル(postgresql.conf と pg_hba.conf )を編集し、接続元・認証方式を定義する。
postgresql.conf
外部から接続するので、listen_addressesを変更します。
今回は深く考えずどこからでも接続OKにしてしまいました。
# - Connection Settings -
listen_addresses = '*'
#listen_addresses = 'localhost' # what IP address(es) to listen on;
これらの設定ファイルがどこにあるのかわからない。
postgres ユーザーで psql に入って、SQLコマンドを実行する。
config_fileの場所が出てくるので、そちらに移動、lsで、後続の設定ファイルを確認できます。
SHOW config_file;
config_file
-----------------------------------------
/etc/postgresql/16/main/postgresql.conf
(1 row)
pg_hba.conf
今回は、DBmarlinから dbmarlinというユーザーで、postgresデータベースにアクセスするので、一番下の行を追加しました。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host postgres dbmarlin <DBmarlinサーバのIPアドレス>/32 md5
2. 可視化の確認
DBmarlinのDB接続設定
DBmarlinがPostgreSQLに接続するための下準備が整いました。
それではDBmarlinのDB接続設定を行います。
左メニューで SETTINGS > Database Instances をクリックし、画面上側の Create をクリックします。

接続情報の登録画面が表示されるので、下記の通り入力し画面右下の Create をクリックして作成です。

- Name→任意の名前
- Host Address→監視したいpostgreSQLが載っているFlaskサーバーのホストアドレス
- Name→DBのタイプ
- Port→接続先のポート(Flaskサーバーの設定でポート開けておく。)
- Database→databaseの名前
- Username→dbmarlin用のユーザー
私は、初め画面左側の、インスタンス横のアイコンがエラーでした。
DBの名前が、postgres1であるのにpostgre1と書いていてエラーになっていました。
登録が完了したら、数十分待つと情報が徐々に表示され始めます。

以上でDBmarlinの接続設定は完了です!
まとめ
- 接続用のユーザーを作成する。
- PostgreSQLの設定では、接続基や認証方式を書き込む。yamlに入れちゃうと、タイプミスやIPアドレス違ってても気づきにくいのでメモなど取っておく。
- 接続の際に、接続口、矢印を意識する。

