Zabbix告警媒介
Zabbix的触发器到了要发送告警通知的情况下,需要一个之间介质来接收和传递它的消息给我们这些可爱的运维们er,以往通常用Nagios(Nginos有着强大完善的告警机制),用脚本发送邮件或者微信来到达报警。这里的脚本其实就算得上一种媒介了。
Zabbix的四种告警媒介
· E-mail 邮件告警(zabbix 3.0后升级了邮件告警客户端,使用起来还是很方便的)
· Jabber Jabber有第三方插件,能让Jabber用户和MSN、YahooMessage、ICQ等IM用户通讯,国内基本没人用
· SMS 需要GMS短信猫等设备
· Custom alterscripts 也就是用的比较多的自定义脚本,给信息传送给脚本
先来看看E-mail,因为有现成的客户端,配置起来就比较简单了
1)选择告警介质E-mail
2)编辑告警介质邮件账号和密码
注意:(这里用来测试的账号是第三方邮箱账号,正式生产环境中配置你们自己的企业邮箱)
3)配置动作(也就是zabbix在触发告警的时候采取什么告警方式)
发送信息内容的格式,默认的信息量有点繁琐,我们可以精简为如下
TS: {TRIGGER.SEVERITY} 告警级别 {ITEM.NAME1} 告警监控项 {HOST.NAME1}:{ITEM.KEY1} 主机和设置的key值 {ITEM.VALUE1} 当前key值大小
4)告警条件(维护中的设备不告警)
5)操作(选择发送给哪些用户组和以什么方式发送)
6)最后,在对应用户中添加设置好的相应告警媒介
7)当你触发一个告警后,就会收到邮件通知了
自定义和SMS告警
1)首先在zabbix服务器下创建好我们要的脚本
[[email protected] ~]# vim /application/zabbix/etc/zabbix_server.conf #自定义脚本位置 AlertScriptsPath=/application/zabbix/alertscripts [[email protected] zabbix]# mkdir alertscripts [[email protected] alertscripts]# vim sms.sh #创建脚本 脚本里面需要定义三个参数 #!/bin/sh ALTER_TO=$1 #发送的用户 ALTER_TITLE=$2 #主题 ALTER_BODY=$3 #具体告警内容 echo $ALTER_TO >> /tmp/sms.log echo $ALTER_TITLE >> /tmp/sms.log echo $ALTER_BODY >> /tmp/sms.log
注意:
如果企业用的是GSM短信猫或者微信、第三方短信平台等,都只要在改脚本中配置相应的接口参数,其实原理都是一样的,zabbix给3个告警信息定义出来了,我们怎么给这3个信息发出去就行了。。
服务器安装串口GMS短信猫要注意:
·串口设备速度要与GSM猫相匹配(Linux下默认为/dev/ttySo),zabbix无法设置串行速率
·zabbix有对串口设备的读写权限,可以使用ls -l /dev/ttySo查看设备权限
·禁用GSM手机卡的PIN码
2)zabbix创建告警媒介
配置相关脚本参数
3)配置告警动作
4)选择用户告警媒介
5)当触发报警时,自定义的发送方式或者短信就可以执行成功了
6)还可以查看日志
[[email protected] ~]# cat /tmp/sms.log 18550119000 PROBLEM: Nginx Active > 1 Original event ID: 480*:*UNKNOWN*): *UNKNOWN*tus[nginx_status,80,active]): 12 18550119000 OK: Nginx Active > 1 Original event ID: 480*:*UNKNOWN*): *UNKNOWN*tus[nginx_status,80,active]): 6