数据库作为IT系统最重要的一部分,也是最难的一部分,因为需要有足够多的自定义监控项,所以今天就写一篇从0到1的文章,如果简单的监控PG,后续再来慢慢从1到1.1,高手请勿喷哦。
正文
我的环境
- zabbix版本:5.2
- 系统版本:CentOS 8
- PG版本:13
- Agent版本:5.2
创建监控角色账号
PG10正式推出了监控的角色,所以利用了PG这一特性,用pg_monitor角色进行监控,如果是10以前版本,需要创建SUPERUSER。
sudo - postgrespsqlCREATE USER kasar WITH PASSWORD 'xiaoyu123' INHERIT;GRANT pg_monitor TO kasar;
如果您的版本为10以下,就执行下面的命令(截图略)
sudo - postgrespsqlCREATE USER kasar WITH PASSWORD 'xiaoyu123';GRANT SELECT ON pg_stat_database TO kasar;ALTER USER kasar WITH SUPERUSER;
修改PG权限控制文件,这里需要注意的是,PG的权限控制是自上而下匹配,如果第一条匹配上了,就不会继续匹配,所以需要注意将下面三条放入最前面
vi /var/lib/pgsql/13/data/pg_hba.confhost all kasar 127.0.0.1/32 trusthost all kasar 0.0.0.0/0 md5host all kasar ::0/0 md5
出现这样的错误就是权限问题,将上面命令放置最前
重启服务或不重启服务刷新权限配置
systemctl start postgresql-13##或者是不重启刷新配置su - postgrespsql select pg_reload_conf();
重新加载配置文件
创建zabbix agent家目录(如果有请忽略),同时将相关脚本模板分别复制到zabbix agent根目录和配置文件目录(脚本文件私聊我或者自行寻找)
mkdir /var/lib/zabbixcp -r /kasar/postgresql /var/lib/zabbix/cp -r /kasar/template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/
相关脚本文件
修改zabbix agent 配置文件,加载用户自定义脚本,同时启动zabbix agent
vi /etc/zabbix/zabbix_agentd.confsystemctl start zabbix-agent && systemctl enable zabbix-agent
无则加上
前端配置
创建主机,填入相关信息
加入PG模板
宏只需要改PG_USER
数据就OK了
出图正常
唯一不足的这里的值一直为0,有高手可以私信我啥原因,谢谢
写在最后
该文档仅仅是从0到1的文章,难度在于初始接入对该软件的不熟悉,另外一个是对数据库本身也不太熟悉,所以实现起来难度比较大,在zabbix4.0版本之前,通过其他脚本实现,无疑加大了监控的入门门槛,4.0之后官方提供了许多好用且入门简单的模板,使得更多的人可以跨入监控的领域,有兴趣的同学可以试试,有问题可以留言或者私信我,模板和脚本直接私信我就好了。