LoginSignup
0
2

More than 3 years have passed since last update.

Metricbeat(Elastic Stack)でPostgreSQLのメトリクスを収集する

Last updated at Posted at 2020-08-01

はじめに

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を選択すると以下の画面が表示されます。

image.png

表示されているグラフになります。

  • 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

なお、システムメトリクスは以下のダッシュボードで表示することができます。

image.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2