zabbix专题:第六章 动作Actions告警方式Medias
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix专题:第六章 动作Actions告警方式Medias相关的知识,希望对你有一定的参考价值。
第六章 动作Actions、告警方式Medias
对Linux有兴趣的朋友加入QQ群:476794643 在线交流
本文防盗链:http://zhang789.blog.51cto.com
本节目录大纲
通知条件
实战添加一个动作(告警方式Medias《自定义脚本发媒介》)
zabbix脚本报警介质自定义
zabbix专题:第六章 动作Actions、告警方式Medias
我们前面花了大量时间去讲解item、trigger、event都是为发送报警做准备的,什么是事件通知呢?简单的说故障发生了,zabbix会发邮件或者短信给你,告诉你服务器的一些状况。如果没有通知这块内容,你要盯着zabbix的事件才知道服务器发生什么状况了。这和保安有什么区别?
通知条件
发送通知,需要有如下步骤
定义一个通知介质
这个介质包含email、shell脚本、sms短信网关(用得比较少)。zabbix将需要发送的内容传递给这些介质,然后这些介质把事件放到对应的终端。例如通知内容发给email,email介质将内容发送到报警邮箱中。配置action
Action由conditions(条件)和operations(操作)组成。当满足指定的条件,然后执行操作。这就是一个action。
实战添加一个动作(告警方式Medias《自定义脚本发媒介》)
1、创建动作 action支持如下事件
触发器事件 – 触发器状态在OK和PROBLEM之间变化
发现事件
自动注册时间 – 新的客户端注册进来
内部事件 – item转变为unsupported状态,触发器转变为unknown状态
1、选择触发项,点击创建动作
2、按照表格填写好信息,包括这个动作的名称,邮件方面都是用的内建的宏,如果不满足我们的需求可以自定义脚本,现在网上面很多zabbix微信报警的文档
3、设置条件,就是符合我们要求了,我们就执行动作或者操作
4、创建操作,当我们条件满足了,我们可以选择发送消息或者执行命令
我添加两个操作,第一个是执行动作,当80端口down后,先去客户端主机上面ssh登录执行重启httpd服务 如果还没有恢复,就给管理发送故障消息邮件
4.1、设置远程命令
4.2、设置发送消息
5、我们默认的设置是发布出去邮件的,因为媒介里面没有设置邮件服务器地址,以及发件人的用户名和密码
6、现在我们停止服务,看远程命令能不能帮我们执行成功
[[email protected] ~]# service httpd stop
Stopping httpd: [ OK ]
7、返回我们zabbix的web界面看下时间,因为时间短,只能到时间里面看执行动作(下图,故障就几秒会恢复了)
8、当我们重启服务也没有用时候,需要人工智能介入了,(为了演示效果,我把客户端的httpd监听地址改成了8080,这样服务器监听tcp80端口不成功,重启也无法监听80端口,就会去执行第二步,给管理员发送故障邮件消息)(看下图,已经提示执行了我们第二步操作了)
9、进入服务器查看有没有收到报警的邮件信息(看下图,都是邮件)因为我设置5秒触发一次
邮件内容
zabbix脚本报警介质自定义
zabbix媒介类型包括mail、sms、自定义脚本,我们用的最多的还是脚本媒介,再次我们就不讲另外两个媒介了。当事件通知到脚本,会传递三个参数它,
zabbix调用脚本时会向其传递参数;3.0之前的版本通过
$1:消息接收人;
$2:消息主题;
$3:消息主体;
3.x之后的版本,此三个参数默认不再传递,需自行定义; 可以使用宏来模拟此前的行为:{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
例如发送邮件给[email protected],标题为nginx离线,内容是IP地址:1.1.1.1,nginx离线,请立即处理。
媒介配置
1、添加媒介
2、设置媒介的名称和脚本的路径,已经需要传递的宏
3、添加脚本文件
配置AlertScriptsPath //脚本存放的路径
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
脚本编写
[[email protected] alertscripts]# cat sendmail.sh
#!/bin/bash
#
to=$1
subject=$2
body=$3
echo "$body" | mail -s "$subject" "$to"
4、给用户添加我们新建的媒介
5、选择需要使用的媒介,设置好对方收件人地址
6、在动作的操作里面也添加选择我们新建的媒介
7、我把原来的第二步删了,这里才会显示只有两步的(下图里面有已经执行完两步的,还有正在发送的,因为我设置的频率很快,所以有很多)
8、已经收到了邮件
本文出自 “家住海边喜欢浪” 博客,请务必保留此出处http://zhang789.blog.51cto.com/11045979/1869616
以上是关于zabbix专题:第六章 动作Actions告警方式Medias的主要内容,如果未能解决你的问题,请参考以下文章
Zabbix实战-简易教程--动作(Actions)--自动注册