0
点赞
收藏
分享

微信扫一扫

​​Prometheus监控之postgresql

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:postgres_exporter_passwod@192.168.137.110: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 查看指标

​​Prometheus监控之postgresql_linux

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

​​Prometheus监控之postgresql_github_02

部分图形无法匹配

​​Prometheus监控之postgresql_postgresql_03

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

​​Prometheus监控之postgresql_postgresql_04

pg_stat_bgwriter_checkpoint_write_time_total
pg_stat_bgwriter_checkpoint_sync_time_total

举报

相关推荐

0 条评论