Metricbeat(Elastic Stack)でPostgreSQLのメトリクスを収集する
はじめに
Metricbeat(Elastic Stack)を用いてPostgreSQLのメトリクスを収集し、Kibanaのダッシュボードで確認します。
環境
以下の環境で試しています。
- CentOS 7.5
- Elasticsearch 7.8
- Kibana 7.8
- Metricbeat 7.8
ElasticsearchとKibanaは以下の投稿で構築した環境を利用しています。
Metricbeatのインストール
Metricbeatのインストールは以下の公式ドキュメントを参考に実施します。
まずはRPMをダウンロードし、インストールします。
# curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.8.1-x86_64.rpm
# rpm -vi metricbeat-7.8.1-x86_64.rpm
PostgreSQLからメトリクスを収集するモジュールを有効にします。デフォルトで、この他にシステムメトリクスが収集されます。
# metricbeat modules enable postgresql
Enabled postgresql
PostgreSQLのモジュールを登録した後は、設定を見直します。
今回は以下のように設定しました。
# vi /etc/metricbeat/modules.d/postgresql.yml
- module: postgresql
metricsets:
- database
- bgwriter
- activity
- statement
period: 10s
hosts: ["postgres://localhost:5432?sslmode=disable"]
username: postgres
password: postgres
statementメトリクスを利用するためには、pg_stat_statements拡張をPostgreSQLにインストールしておく必要があります。
以下のコマンドでインストールし、postgresql.confでモジュールを読み込むように設定します。
# CREATE EXTENSION pg_stat_statements;
#postgresql.conf
shared_preload_libraries = 'pg_stat_statements'
次にElasticsearchとKibanaのエンドポイントを設定します。
Kibanaのエンドポイントを設定すると、サンプルKibanaダッシュボードを使用することができます。
Elasticsearchへのインデックステンプレートの登録は自動で実行されます。
# vi /etc/metricbeat/metricbeat.yml
setup.kibana:
host: "localhost:5601"
output.elasticsearch:
hosts: ["localhost:9200"]
Metricbeatには、サンプルのKibanaダッシュボードがパッケージされており、以下のコマンドで作成することができます。
metricbeat setup --dashboards
最後にMetricbeatを自動起動に設定し、起動します。
# systemctl enable metricbeat
# systemctl start metricbeat
Metricbeatのログは以下に出力されます。
/var/log/metricbeat/metricbeat
Kibanaのダッシュボードでメトリクスを確認
自動でダッシュボードが登録されており、[Metricbeat PostgreSQL] Database Overviewを選択すると以下の画面が表示されます。
表示されているグラフになります。
- Rows Fetched/Returned
- Database Transactrions
- Query Latency
- Top Queries
- Fileblock IO
- Rows Inserted/Deleted/Updated
- Conflict/Deadlock Rates
- Local block cache stats
- Shared block cache stats
なお、システムメトリクスは以下のダッシュボードで表示することができます。
Author And Source
この問題について(Metricbeat(Elastic Stack)でPostgreSQLのメトリクスを収集する), 我々は、より多くの情報をここで見つけました https://qiita.com/mkyz08/items/5901fab9737441a69397著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .