在 分布式监控系统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 (存在则选择)




zabbix无法连接java gateway zabbix连接数据库_客户端


给该模板添加监控项:

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


zabbix无法连接java gateway zabbix连接数据库_连接数_02


添加图形:

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


zabbix无法连接java gateway zabbix连接数据库_运维_03


zabbix无法连接java gateway zabbix连接数据库_数据库_04


 给主机绑定模板后:

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


zabbix无法连接java gateway zabbix连接数据库_连接数_05


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

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


zabbix无法连接java gateway zabbix连接数据库_数据库_06


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