添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理

7月10日任务

19.12 添加自定义监控项目
19.13/19.14 配置邮件告警
19.15 测试告警
19.16 不发邮件的问题处理

 

19.12 添加自定义监控项目

作为运维人员通常情况下都会遇到一些个性化的需求,例如要统计网站每天活跃度数据,zabbix提供的模版不能够满足这样的需求,我们需要自定义编写shell、python脚本来统计,然后把数据交给zabbix收集,再通过zabbix形成图表展现出来。可以通过统计web的80端口连接数实现网站活跃度统计

1、zabbix-agent 客户端机器上需要创建一个脚本文件

[root@jimmylinux-002 ~]# vim /usr/local/sbin/estab.sh

添加以下内容

#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED

2、添加权限

[root@jimmylinux-002 ~]# chmod 755 /usr/local/sbin/estab.sh  需要给zabbix用户执行权限,要不然最终也得不到任何反馈信息。

3、在客户端上编辑配置文件

[root@jimmylinux-002 ~]# vim /etc/zabbix/zabbix_agentd.conf

添加以下2条内容

UnsafeUserParameters=1  表示使用自定义脚本

UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh  定义自定义脚本的路径以及脚本的名字

自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh

4、重启zabbix-agent 服务

[root@jimmylinux-002 ~]# systemctl restart zabbix-agent

5、验证自定义的脚本是否可以识别

在服务端执行zabbix命令,出现结果为数字0表示没有问题。

如果之前设置的权限假设为700,那么重新执行zabbix命令就不会显示0,而是提示权限不够。

[root@jimmylinux-002 ~]# chmod 700 /usr/local/sbin/estab.sh

[root@jimmylinux-001 ~]# zabbix_get -s 192.168.52.129 -p 10050 -k 'my.estab.count'
sh: /usr/local/sbin/estab.sh: 权限不够

6、到服务端监控中心去添加监控项

增加监控项目,配置-->主机-->limingsong-002-->监控项-->创建监控项,名称输入“并发连接数”-->键值填写my.estab.count-->添加

 

再添加一个图形-->创建图形-->名称填写“并发连接数”-->选择并发连接数-->添加

如果访问量很多的话,很快就可以看到有数据产生,也能够看出访问的趋势。

 

还可以添加一个触发器-->创建触发器-->名称并发连接数-->严重性为警告,设置当访问量大于200就告警。

 

 

19.13/19.14 配置邮件告警

使用第三方邮箱进行试验(例如163或者QQ)

1、首先登录自己的163邮箱,点击设置-->开启POP3、IMAP、SMTP服务-->开启并记录授权码

2、到监控中心设置邮件告警“管理”,“报警媒介类型”,“创建媒体类型”

3、创建告警邮件发送的脚本

[root@jimmylinux-001 ~]# cd /usr/lib/zabbix/alertscripts/

[root@jimmylinux-001 alertscripts]# vi mail.py

添加以下内容

添加的内容可以参考PPT中提供的网站里面复制,此处已省略。

4、添加权限

[root@jimmylinux-001 alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.py

可以测试是否有发送邮件到设定的163 邮箱,如果可以正常接收到,说明定义的脚本没有问题。

[root@jimmylinux-001 alertscripts]# python mail.py linuxtesting@163.com "This is a new messages" "Hello jimmy,welcome to china shenzhen"

如果不能够告警,需要到监控中心看看配置是否设置不对。

下面需要在创建一个用户,这个用户是用来接收邮件的,在浏览器监控中心添加。

 

报警媒介里面设置接收邮件的邮箱地址,也就是刚才那个163邮箱地址。

 

用户权限需要设置为读写权限,这个要在用户群组里面进行设置,这个地方如果没有设置对,也是会导致收不到报警邮件的。

用户配置完以后还需要配置动作行为,也就是触发器触发之后的一些行为。

 

以上的所有准备工作已经做好,接下来就需要测试设置的报警是否生效。

 

19.15 测试告警

模拟故障,让监控系统可以自动发送报警邮件。

1、首先新创建触发器,然后把系统默认N值设置为小于2。

2、在监测中-->仪表板-->查看最近20个问题

 

这个时候邮箱里面也已经自动收到了新的邮件

把N值恢复为大于2时,监控系统又会再次发送恢复邮件到设定的接收邮箱。

 

19.16 不发邮件的问题处理

可以根据以下几点进行排查:

1、单独测试邮件脚本,看看邮件功能是否正常,查看脚本的权限等是否755

2、检查zabbix告警媒介设置

3、用户、媒介、用户组权限等是否正常

4、动作是否配置正常

5、触发条件规则是否满足

 

 

posted @ 2018-07-11 17:25  吉米乐享驿站  阅读(887)  评论(0编辑  收藏  举报