PG监控之pgwatch2工具
Tags: PG监控PostgreSQL数据库监控pgwatch2
简介
pgwatch2,是由CYBERTEC开发的PostgreSQL数据库的指标收集器和可视化解决方案。 这个灵活的,自包含的监控工具将PostgreSQL监控提高到一个新的水平。
尽管有许多PostgreSQL监控解决方案,但其中大多数解决方案因太复杂而难以启动,并且因不灵活而无法自行扩展功能。 PGWatch试图通过提供以前无法提供的灵活性并仅专注于指标收集来改变这种状况,为演示方提供了可用的最好的仪表板工具。PGWatch充当远程度量收集后台程序,以正常用户的身份定期连接到数据库,并读取PostgrSQL统计子系统提供的度量信息。 这样做的好处是,您不需要任何特殊的用户权限,也不必在数据库服务器本身上安装任何扩展,从而可以在受限环境(例如AWS RDS)中使用。
GitHub:https://github.com/cybertec-postgresql/pgwatch2
Demo:https://demo.pgwatch.com/
文档:https://pgwatch2.readthedocs.io/en/latest/
安装
目前pgwatch2 已经集成到了docker中,这使得它的安装非常方便。pgwatch2官方也推荐使用docker安装。
Pgwatch2 获得各项指标度量的方法是在被监控的数据库中运行专门的sql语句,以及在这些数据库中创建一些度量帮助函数并调用它们。数据库所在服务器上需要安装python。
目前,pgwatch2-1.7.0 及以上版本需要被监控的服务器上安装python 3。而pgwatch2-1.7.0以下版本需要python 2
https://hub.docker.com/r/cybertec/pgwatch2/tags
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | docker pull cybertec/pgwatch2:latest docker rm -f pgwatch2 docker run -itd --name pgwatch2 \ -p 3100:3000 -p 8180:8080 -p 51432:5432 \ -e PW2_TESTDB=true \ cybertec/pgwatch2:latest 这里docker容器暴露的端口代表的程序如下: 5432 - Postgres配置(或度量存储)数据库 8080 - 管理Web UI(受监控的主机,指标,指标配置) 8081 - 收集健康检查/收集指标数量(JSON)的统计数据。 8083 – InfluxDB 的运行端口 3000 - Grafana仪表板 8086 - InfluxDB API 8088 - InfluxDB备份端口 -- 被监控库需要配置 shared_preload_libraries = 'pg_stat_statements' |
配置被监控库
打开 http://172.18.0.14:8180/dbs 对要监控的信息进行配置
http://172.18.0.14:3100/dashboard/db/db-overview 相应的监控的ip进行查看各项监控信息
我们需要重点关注下面几个参数:
Unique name
监控条目的名字。选一个好的名字,确定之后不要更改(InfluxDB数据更改起来并不容易)。
DB type