在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警。此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置自定义监控项的过程。

添加监控脚本

在要监控的客户端上新建脚本:

/usr/local/zabbix/alertscripts/check_3306_port_num.sh

内容如下:

#!/bin/bashss -an|grep 3306|grep ESTAB|wc -l

 这个脚本很简单,就是获取3306端口已经建立的连接,并用“wc -l”来统计一共多少行,总之最后返回的是一个整数

注:alertscripts目录若不存在需要自己新建
给脚本添加执行权限:
#chmod a+x check_3306_port_num.sh

配置客户端文件

修改zabbix_agentd配置文件,添加一个“UserParameter”:
#vi /usr/local/zabbix/etc/zabbix_agentd.conf
添加如下内容:

更改 UnsafeUserParameters=1添加 UserParameter=3306connectNum,/usr/local/zabbix/alertscripts/check_3306_port_num.sh

注:这里的“3306connectNum”就是item key,不能跟已有的重复,并且后面需要使用

重启zabbix_agentd

#systemctl restart zabbix-agent


zabbix服务端测试获取数据

#zabbix_get -s 192.168.80.30 -k 3306connectNum
输出如下:
587
注:上面的192.168.80.30就是指的客户端的IP,3306connectNum就是我们要测试的key,返回的587就是3306数据库端口的连接数

zabbix的web界面中新建模板、监控项以及图形

新建模板:
配置 –> 模板 –> 创建模板:
模版名称 :Template App MySQL (存在则选择)

给该模板添加监控项:

打开该模板 –> 监控项 –> 创建监控项:
名称:MySQL 3306端口连接数
键值:3306connectNum
选中信息类型为数字

添加图形:

打开该模板 –> 图形 –> 创建图形:
名称:Mysql 3306端口连接数
监控项:添加上刚才创建的监控项

 

 给主机绑定模板后:

主机》找到监控的主机》图形》

这里要注意的是要针对此主机需要添加Template App MySQL模板的引用

数分钟后查看连接数的变化:

到此,我们使用zabbix自定义监控一个端口的连接数的配置就完成了。当然,根据我上面提到的原理,使用zabbix来监控一些其他服务也将不再是难事了

 以上内容参考了其他网上资料的,也感谢其他网友的分享。