在Ubuntu上监控PostgreSQL资源使用情况,可以通过多种方法来实现。以下是一些常用的工具和方法:
pg_stat_activity 视图PostgreSQL自带的 pg_stat_activity 视图可以提供当前数据库活动的详细信息。
SELECT * FROM pg_stat_activity;
pg_toppg_top 是一个类似于 top 的工具,用于实时监控PostgreSQL的性能。
pg_topsudo apt-get update
sudo apt-get install pg_top
pg_topsudo pg_top
pg_stat_statementspg_stat_statements 是一个扩展,可以跟踪SQL语句的执行统计信息。
pg_stat_statementspostgresql.conf 文件:sudo nano /etc/postgresql/<version>/main/postgresql.conf
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
sudo systemctl restart postgresql
SELECT * FROM pg_stat_statements;
pgBadgerpgBadger 是一个强大的日志分析工具,可以详细记录和分析PostgreSQL的日志。
pgBadgersudo apt-get update
sudo apt-get install pgbadger
pgBadger编辑 postgresql.conf 文件,确保日志记录配置正确:
log_statement = 'all'
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d '
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
pgbadger /var/log/postgresql/postgresql-<version>-main.log -o /var/log/pgbadger/report.html
Prometheus 和 Grafana结合 Prometheus 和 Grafana 可以创建一个强大的监控和可视化系统。
PrometheusPrometheus:wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xvfz prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
Prometheus:
编辑 prometheus.yml 文件,添加PostgreSQL的监控配置:scrape_configs:
- job_name: 'postgresql'
static_configs:
- targets: ['localhost:9187']
Prometheus:./prometheus --config.file=prometheus.yml
GrafanaGrafana:wget https://dl.grafana.com/oss/release/grafana-8.2.0.linux-amd64.tar.gz
tar xvfz grafana-8.2.0.linux-amd64.tar.gz
cd grafana-8.2.0
Grafana:sudo systemctl daemon-reload
sudo systemctl start grafana-server
Grafana打开浏览器,访问 http://localhost:3000。
使用默认用户名和密码(admin/admin)登录。
添加 Prometheus 数据源:
Data Sources。Add data source,选择 Prometheus。URL 为 http://localhost:9090,点击 Save & Test。导入PostgreSQL监控仪表盘:
Grafana 中,点击左侧菜单的 + 图标,选择 Import。1234),点击 Import。通过以上方法,你可以在Ubuntu上全面监控PostgreSQL的资源使用情况。