在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警。此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置自定义监控项的过程。
添加监控脚本
在要监控的客户端上新建脚本:
/usr/local/zabbix/alertscripts/check_3306_port_num.sh
内容如下:
#!/bin/bash
ss -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来监控一些其他服务也将不再是难事了
以上内容参考了其他网上资料的,也感谢其他网友的分享。