PostgreSQL监控之pgwatch2
发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,前言:虽然作者已经推出了docker版本,只需一键(一条命令)即可完成搭建。但是本着学习的心理还是要自己折腾一遍,一键虽好但不明了啊。官方已经把安装写的很详细了,但毕竟是英文......pgwatch
千家信息网最后更新 2024年10月31日PostgreSQL监控之pgwatch2
前言:
- 虽然作者已经推出了docker版本,只需一键(一条命令)即可完成搭建。
- 但是本着学习的心理还是要自己折腾一遍,一键虽好但不明了啊。
- 官方已经把安装写的很详细了,但毕竟是英文......
- pgwatch3官方地址:https://github.com/cybertec-postgresql/pgwatch3
系统环境:
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配置文件详解请自行百度~~
systemctl restart postgresql-10.service#重启数据库mkdir /app && cd /appgit clone https://github.com/cybertec-postgresql/pgwatch3.git#克隆源码仓库,有一些东西需要用到。
su - postgrespsql -c "create user pgwatch3_grafana password 'xyz'"psql -c "create database pgwatch3_grafana owner pgwatch3_grafana"psql -c "create user pgwatch3 password 'xyz'"psql -c "create database pgwatch3 owner pgwatch3"psql -f /app/pgwatch3/pgwatch3/sql/datastore_setup/config_store.sql pgwatch3psql -f /app/pgwatch3/pgwatch3/sql/datastore_setup/metric_definitions.sql pgwatch3#切换至postgre用户以便操作数据库。#创建pgwatch3_grafana、pgwatch3用户并设置密码。#创建pgwatch3_grafana、pgwatch3数据库并设置所属主。#导入pgwatch3的数据。
二、配置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
influxCREATE USER "pgwatch3" WITH PASSWORD 'xyz'CREATE DATABASE pgwatch3use pgwatch3GRANT ALL ON pgwatch3 to "pgwatch3"#创建pgwatch3用户以及同名的数据库,并且授权。
三、配置Grafana
vi /etc/grafana/grafana.ini[database]type = postgreshost = 127.0.0.1:5432name = pgwatch3_grafanauser = pgwatch3_grafanapassword = xyz#将Grafana的数据存入postgresqlhttp://192.168.1.2:3000#访问Grafana的web页面进行配置#默认用户名与密码:admin
#开始配置仪表盘#源码仓库中:pgwatch3/grafana_dashboards/v5/路径下就是所有的仪表盘内容,每个文件夹为一个仪表盘#每个文件夹内都含有dashboard.json文件,把这个文件导入即可#这里为了展示效果我就只导入一个:db-overview/dashboard.json#github网页上的会比较好复制,复制网页中的所有内容:#https://raw.githubusercontent.com/cybertec-postgresql/pgwatch3/master/grafana_dashboards/v5/db-overview/dashboard.json
四、配置pgwatch3
cd /app/pgwatch3/pip3 install -U -r webpy/requirements.txtcd webpypython3 web.py#进入pgwatch目录,pip安装一些依赖库#执行web.py
#访问web页面进行下一步配置#配置被监控数据库的信息,注意,这里填的是被监控数据库的信息!!!#也就是你要在对应的数据库创建用户并且授权,然后启用pg_stat_statements模块#我这里仅仅只监控本机上的pgwatch3数据库。
#配置被监控的数据库#这里我就只监控pgwatch3数据库su - postgrespsql -d pgwatch3 -c "CREATE EXTENSION pg_stat_statements;"psql -d pgwatch3 -c "CREATE EXTENSION plpythonu;"psql -f /app/pgwatch3/pgwatch3/sql/metric_fetching_helpers/stat_activity_wrapper.sql pgwatch3psql -f /app/pgwatch3/pgwatch3/sql/metric_fetching_helpers/stat_statements_wrapper.sql pgwatch3psql -f /app/pgwatch3/pgwatch3/sql/metric_fetching_helpers/cpu_load_plpythonu.sql pgwatch3psql -f /app/pgwatch3/pgwatch3/sql/metric_fetching_helpers/table_bloat_approx.sql pgwatch3#官方说明:https://github.com/cybertec-postgresql/pgwatch3#steps-to-configure-your-database-for-monitoring
#编译pgwatch3程序yum install go -ycd /app/pgwatch3/pgwatch3./build_gatherer.sh#安装go语言环境,进入pgwatch3目录,执行build_gatherer.sh开始编译#这个过程会比较慢,因为会到github上下载东西,一定要保证电脑可以ping通github#编译完成后会生成一个pgwatch3的可执行文件
./pgwatch3#运行pgwatch3程序#因为刚才设置的所有账户密码跟pgwatch3程序默认值是一致的,所有直接运行即可#若不一致,请自行使用./pgwatch3 --help查看帮助#执行不报错,接下来去Grafana看数据就行了!!!
#最后,把pgwatch3配置成可以用systemctl方式启动#把下面的内容粘贴到/etc/systemd/system/pgwatch3.service#然后就可以用systemctl start 启动啦#注意,通过这个方式启动,所有的输出信息都会在/var/log/messages[Unit]Description=pgwatch3After=syslog.targetAfter=network.target[Service]User=rootRestart=on-failurePIDFile=/tmp/pgwatch3.pidKillMode=control-groupExecStart=/app/pgwatch3/pgwatch3/pgwatch3ExecStop=/bin/kill -SIGTERM $MAINPIDRestartSec=10sTimeoutSec=0[Install]WantedBy=multi-user.target
配置
数据
数据库
文件
监控
用户
密码
仪表
仪表盘
信息
内容
官方
模块
程序
编译
认证
一致
东西
仓库
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京网络技术转让常见问题
网络路由器软件开发
软件开发未来区势咋样
2016华为网络技术
软件开发规范php
网站需要2台服务器吗
网络安全的等级划分是怎么划分的
我的世界服务器史诗级混战
网络安全专业转行
软件开发应聘
威海软件开发外包公司
软件开发考研考什么条件
上海潮流软件开发服务价格优惠
网站PC和移动端统一数据库
在线软件开发教学
内江拥从网络技术有限公司
对峙2服务器加载错误
四川专业的网络安全机构十大品牌
网络安全黑板报的边框
关于网络安全的每日一案例
西电一流网络安全
跑跑卡丁车世界赛服务器
aria2服务器
山西中医药数据库中心
网络安全网络文明教育内容
身份证数据库软件下载
学校对公安网络安全的意见
濂溪区华鑫宇辰软件开发工作室
qq邮箱服务器信息
ip地址是网络技术的应用吗