博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL监控之pgwatch2
阅读量:6936 次
发布时间:2019-06-27

本文共 3911 字,大约阅读时间需要 13 分钟。

前言:

  • 虽然作者已经推出了docker版本,只需一键(一条命令)即可完成搭建。
  • 但是本着学习的心理还是要自己折腾一遍,一键虽好但不明了啊。
  • 官方已经把安装写的很详细了,但毕竟是英文......
  • pgwatch2官方地址:

系统环境:

CentOS 7.5IP:192.168.1.2grafana-5.1.4PostgreSQL-10、pg_stat_statements模块InfluxDB-1.5.3Python3#关闭selinux以及firewalld。##自行安装以上应用!!!本文不提供安装过程!!!

一、配置PostgreSQL

vi /var/lib/pgsql/10/data/postgresql.confshared_preload_libraries = 'pg_stat_statements'track_io_timing = on#编辑postgresql.conf配置文件,添加如下两行(前提:装好pg_stat_statements模块vi  /var/lib/pgsql/10/data/pg_hba.conflocal   all             all                                     peerhost    all             all             127.0.0.1/32            trusthost    all             all             ::1/128                 trust#修改认证模式,通过127.0.0.1访问的用户不需要密码认证#为了安全请自行配置,pg_hba.conf配置文件详解请自行百度~~

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2

systemctl restart postgresql-10.service#重启数据库mkdir /app && cd /appgit clone https://github.com/cybertec-postgresql/pgwatch2.git#克隆源码仓库,有一些东西需要用到。

PostgreSQL监控之pgwatch2

su - postgrespsql -c "create user pgwatch2_grafana password 'xyz'"psql -c "create database pgwatch2_grafana owner pgwatch2_grafana"psql -c "create user pgwatch2 password 'xyz'"psql -c "create database pgwatch2 owner pgwatch2"psql -f /app/pgwatch2/pgwatch2/sql/datastore_setup/config_store.sql pgwatch2psql -f /app/pgwatch2/pgwatch2/sql/datastore_setup/metric_definitions.sql pgwatch2#切换至postgre用户以便操作数据库。#创建pgwatch2_grafana、pgwatch2用户并设置密码。#创建pgwatch2_grafana、pgwatch2数据库并设置所属主。#导入pgwatch2的数据。

PostgreSQL监控之pgwatch2

二、配置InfluxDB

vi /etc/influxdb/influxdb.conf[http]enabled = truebind-address = "127.0.0.1:8086"#修改配置文件,将http端的bind-address修改成127.0.0.1#因为是做监控用的,所以不做认证,但仅允许本地地址访问。systemctl start influxdb#启动InfluxDB

PostgreSQL监控之pgwatch2

influxCREATE USER "pgwatch2" WITH PASSWORD 'xyz'CREATE DATABASE pgwatch2use pgwatch2GRANT ALL ON pgwatch2 to "pgwatch2"#创建pgwatch2用户以及同名的数据库,并且授权。

PostgreSQL监控之pgwatch2


三、配置Grafana

vi /etc/grafana/grafana.ini[database]type = postgreshost = 127.0.0.1:5432name = pgwatch2_grafanauser = pgwatch2_grafanapassword = xyz#将Grafana的数据存入postgresqlhttp://192.168.1.2:3000#访问Grafana的web页面进行配置#默认用户名与密码:admin

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2

#开始配置仪表盘#源码仓库中:pgwatch2/grafana_dashboards/v5/路径下就是所有的仪表盘内容,每个文件夹为一个仪表盘#每个文件夹内都含有dashboard.json文件,把这个文件导入即可#这里为了展示效果我就只导入一个:db-overview/dashboard.json#github网页上的会比较好复制,复制网页中的所有内容:#https://raw.githubusercontent.com/cybertec-postgresql/pgwatch2/master/grafana_dashboards/v5/db-overview/dashboard.json

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2


四、配置pgwatch2

cd /app/pgwatch2/pip3 install -U -r webpy/requirements.txtcd webpypython3 web.py#进入pgwatch目录,pip安装一些依赖库#执行web.py

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2

#访问web页面进行下一步配置#配置被监控数据库的信息,注意,这里填的是被监控数据库的信息!!!#也就是你要在对应的数据库创建用户并且授权,然后启用pg_stat_statements模块#我这里仅仅只监控本机上的pgwatch2数据库。

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2

#配置被监控的数据库#这里我就只监控pgwatch2数据库su - postgrespsql -d pgwatch2 -c "CREATE EXTENSION pg_stat_statements;"psql -d pgwatch2 -c "CREATE EXTENSION plpythonu;"psql -f /app/pgwatch2/pgwatch2/sql/metric_fetching_helpers/stat_activity_wrapper.sql pgwatch2psql -f /app/pgwatch2/pgwatch2/sql/metric_fetching_helpers/stat_statements_wrapper.sql pgwatch2psql -f /app/pgwatch2/pgwatch2/sql/metric_fetching_helpers/cpu_load_plpythonu.sql pgwatch2psql -f /app/pgwatch2/pgwatch2/sql/metric_fetching_helpers/table_bloat_approx.sql pgwatch2#官方说明:https://github.com/cybertec-postgresql/pgwatch2#steps-to-configure-your-database-for-monitoring

PostgreSQL监控之pgwatch2

#编译pgwatch2程序yum install go -ycd /app/pgwatch2/pgwatch2./build_gatherer.sh#安装go语言环境,进入pgwatch2目录,执行build_gatherer.sh开始编译#这个过程会比较慢,因为会到github上下载东西,一定要保证电脑可以ping通github#编译完成后会生成一个pgwatch2的可执行文件

PostgreSQL监控之pgwatch2

./pgwatch2#运行pgwatch2程序#因为刚才设置的所有账户密码跟pgwatch2程序默认值是一致的,所有直接运行即可#若不一致,请自行使用./pgwatch2 --help查看帮助#执行不报错,接下来去Grafana看数据就行了!!!

PostgreSQL监控之pgwatch2

PostgreSQL监控之pgwatch2
PostgreSQL监控之pgwatch2

#最后,把pgwatch2配置成可以用systemctl方式启动#把下面的内容粘贴到/etc/systemd/system/pgwatch2.service#然后就可以用systemctl start 启动啦#注意,通过这个方式启动,所有的输出信息都会在/var/log/messages[Unit]Description=pgwatch2After=syslog.targetAfter=network.target[Service]User=rootRestart=on-failurePIDFile=/tmp/pgwatch2.pidKillMode=control-groupExecStart=/app/pgwatch2/pgwatch2/pgwatch2ExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target

PostgreSQL监控之pgwatch2

转载于:https://blog.51cto.com/bigboss/2131399

你可能感兴趣的文章
关于肥胖和美国为什么那么多胖子
查看>>
JavaScript&jQuery.变量作用域
查看>>
[网络流24题]骑士共存问题
查看>>
请给出一个算法,使之对于给定的介于0到k之间的n个整数进行预处理,并能在O(1)时间内,回答出输入的整数中有多少个落在区间[a..b]内,你给出的算法上预处理时间应是O(n+k)。...
查看>>
\r 和 \n
查看>>
python3面向对象(1)
查看>>
自定义ClassLoader实现java应用核心逻辑模块热部署
查看>>
如何挑选适合的前端框架(去哪儿网前端架构师司徒正美)
查看>>
C# 中Excel导出,可以自由设置导出的excel格式
查看>>
搜索引擎技术——全文检索基础原理
查看>>
mac14.5 mojave安装错误
查看>>
opensuse11.4 apache2 403 错误.
查看>>
【计算几何】【凸包】bzoj1670 [Usaco2006 Oct]Building the Moat护城河的挖掘
查看>>
【计算几何】【分类讨论】Gym - 101173C - Convex Contour
查看>>
【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
查看>>
docker
查看>>
ArchLinux下LXDE的安装与设置心得
查看>>
【BZOJ】4873: [Shoi2017]寿司餐厅
查看>>
c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组...
查看>>
Gym100947E || codeforces 559c 组合数取模
查看>>