添加自定义监控项目|配置邮件告警及测试|不发邮件时问题处理
1、配置自定义监控项目:
zabbix的监控项目是在模板里配置体现的,有时候会有一些个性化的需求,某一个业务的数据,有一些运营想知道网站的注册量,会员活跃度,这些数据是可以通过数据库的表的数字体现出来的,但是zabbix是不提供那么详细的监控项目的,遇到这种情况,就需要通过写脚本把数字展现出来,通过一个监控项目来形成图表,然后来分析每一天的用户量是多少呢:
需求:监控某台web的80端口连接数,并出图:
解决方法:两步:
1)、zabbix监控中心创建监控项目:
2)、针对该监控项目以图形体现:
首先需要在客户端(zabbix客户端)添加一个脚本: #获取80端口的并发连接数:
[root@localhost_01 ~]# vim /usr/local/sbin/estab.sh #!/bin/bash netstat -ant |grep ':80 ' |grep -c ESTABLISHED
更改能让zabbix用户执行的权限:赋予脚本执行权限:
[root@localhost_01 ~]# chmod 755 /usr/local/sbin/estab.sh
编写zabbix客户端的配置: /etc/zabbix/zabbix-agentd.conf 定义脚本功能和脚本的位置:
[root@localhost_01 ~]# vim /etc/zabbix/zabbix_agentd.conf [root@localhost_01 ~]# cat !$ |grep -v ^# |grep -v ^$ UnsafeUserParameters=1 #允许使用自定义脚本:开启脚本功能: UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh #表示自定义监控项的key为my.estab.count(后面需要在web页面设置时key值要用到),后面的[*]里面写脚本的参数,如果没有参数则可以省略,如果有参数写入到 [ ] 里面,用逗号分隔,脚本为/usr/local/sbin/estab.sh
重启zabbix客户端服务: systemctl restart zabbix-agent
[root@localhost_01 ~]# systemctl restart zabbix-agent
1:接下来到zabbix服务端验证:验证是否识别到这个脚本: 注意:脚本需要执行权限和防火墙需要放行的端口:
zabbix_get -s 192.168.149.130 -p 10050 -k 'my.estab.count'
[root@localhost_02 ~]# zabbix_get -s 192.168.149.130 -p 10050 -k 'my.estab.count' 0
注释: -s:指定客户端IP地址: -p:指定端口号(不见p,默认是10050) -k:表示键值:
注释:下面需要在服务端监控中心操作:
然后在zabbix监控中心(web浏览器)配置:
zabbix页面 -----> 配置 ---> 主机 ---> 监控项 ---> 创建监控项:
名称:并发连接数(可自定义):
类型:选择zabbix客户端:
键值:填写my.estab.count(可自定义):
单位:保持默认:
历史数据保留时长(单位天):默认保持90天:
趋势数据存储周期(单位天):图形化界面下那个图:
应用集:可以不选择,因为没有应用集:
2:有了数据下面就可以添加图形了: 配置 -----> 主机 -----> 图形 -----> 创建图形
名称:并发连接数,然后是添加监控项,选择并发连接数:点击添加:
查看新创建的图形:点击并发连接数 -----> 点击预览:
点击预览:可以查看的创建的图形:
注释:网站访问量很大,那么每隔30秒就可以看到一个数字,时间长了,就可查看到网站访问量的趋势:
3:创建触发器: 点击 触发器 -----> 创建触发器 -----> 名称(并发连接数) -----> 当 报警达200以上,做警告级别:
触发器里关联监控项:
注释:服务端上获取数值(通过在客户端编写的脚本实现),给予服务端访问脚本的权限,在zabbix监控中心添加对应的监控项目(输入键值),即可,其余就是创建图形等: