1 postgres_exporter
postgres_exporter是一个开源的监控工具,专门设计用于收集和导出PostgreSQL数据库的性能指标,以便进行监控和分析。它是Prometheus监控框架的一部分,可以将收集到的数据格式化为Prometheus可以识别的格式。
1.1 安装配置postgres_exporter
1.1.1 下载postgres_exporter
https://github.com/prometheus-community/postgres_exporter
#加速下载
wget https://mirror.ghproxy.com/https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
1.1.2 解压postgres_exporter
tar -xf postgres_exporter-0.15.0.linux-amd64.tar.gz -C /app/module/
ln -s /app/module/postgres_exporter-0.15.0.linux-amd64/ /app/module/postgres_exporter
1.1.3 配置postgresql授权用户
登录
psql -U postgres -h 127.0.0.1 -p 15432
创建用户
CREATE USER postgres_exporter;
-- 修改用户exporter的密码,并设置其搜索路径
ALTER USER postgres_exporter WITH PASSWORD 'postgres_exporter_passwod';
ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;
-- 如果作为非超级用户部署(例如在AWS RDS中),请取消注释下面的GRANT行,
-- 并用您的根用户替换<MASTER_USER>。
-- 授予用户exporter连接到postgres数据库的权限
GRANT CONNECT ON DATABASE postgres TO postgres_exporter;
-- 如果使用 PostgreSQL 版本大于或等于10,请运行以下命令,
-- 授予用户postgres_exporter监控数据库的权限
GRANT pg_monitor to postgres_exporter;
1.1.4 配置postgres_exporter启动文件
vim /usr/lib/systemd/system/postgres_exporter.service
[Unit]
Description=https://github.com/prometheus-community/postgres_exporter
After=network-online.target
[Service]
Type=simple
User=root
Group=root
Environment=DATA_SOURCE_NAME=postgresql://postgres_exporter:[email protected]:15432/postgres?sslmode=disable
ExecStart=/app/module/postgres_exporter/postgres_exporter \
--config.file=/app/module/postgres_exporter/postgres_exporter.yml \
--collector.postmaster
ExecReload=/bin/kill -HUP
KillMode=process
TimeoutStopSec=20s
Restart=always
[Install]
WantedBy=default.target
1.1.5 启动postgres_exporter
systemctl daemon-reload
systemctl start postgres_exporter.service
1.1.6 查看指标
1.2 配置Prometheus
1、编辑Prometheus配置⽂件
- job_name: "postgres_exporter"
metrics_path: "/metrics"
static_configs:
- targets: ["192.168.137.131:9187"]
2、重新加载Prometheus配置⽂件
curl -X POST http://192.168.137.131:9090/-/reload
1.3 postgresql告警规则文件
告警规则⽂件
参考地址https://samber.github.io/awesome-prometheus-alerts/rules#postgresql
1.4 导入postgresql图形
导⼊ID 9628
部分图形无法匹配
pg_stat_bgwriter_buffers_backend_total
pg_stat_bgwriter_buffers_alloc_total
pg_stat_bgwriter_buffers_backend_fsync_total
pg_stat_bgwriter_buffers_checkpoint_total
pg_stat_bgwriter_buffers_clean_total
pg_stat_bgwriter_checkpoint_write_time_total
pg_stat_bgwriter_checkpoint_sync_time_total
标签:stat,exporter,postgresql,postgres,--,bgwriter,Prometheus,pg,监控
From: https://blog.51cto.com/u_13236892/12037206