实操:zabbix关联邮箱触发报警提示操作

文章目录

  • 一:首先测试一下服务是否断掉
  • 二:设置邮件报警
    • 2.1 首先先配置自己的邮箱
      • 2.1.1 在邮箱设置中找到IMAP服务,选择开启,生成授权码
      • 2.1.2 测试mailx发送邮件
    • 2.2 配置完成,接下来编写发送邮件脚本,一旦zabbix触发报警,就会自动执行脚本
      • 2.2.1 zabbix可以调用脚本
      • 2.2.2 将脚本移动到zabbix的指定目录下
      • 2.2.3 赋予权限
      • 2.2.4 测试脚本
  • 三:配置zabbix报警触发参数
    • 3.1 管理-报警媒体类型-创建媒体类型
    • 3.2 管理-用户-点击Admin-报警媒介
    • 3.3 配置-动作-创建动作-删除默认标签-修改触发条件
  • 四:测试报警
    • 4.1 停掉sshd服务
    • 4.2 恢复服务

一:首先测试一下服务是否断掉

[root@client ~]# systemctl stop sshd
[root@client ~]# 

实操:zabbix关联邮箱触发报警提示操作_第1张图片

[root@client ~]# systemctl start sshd
[root@client ~]# 

在这里插入图片描述

二:设置邮件报警

在服务端配置

2.1 首先先配置自己的邮箱

这里我是用qq邮箱

邮箱发送协议:smtp,25端口

邮件接受协议,pop3 110端口 IMAP4 143端口

  • pop3与IMAP4的区别

POP3可以理解为单项通讯,比如删除接收到的邮件时,服务端还是存在这个邮件

而IMAP若是删掉本地的邮件,在服务端的也会被删掉

pop3允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等)不会反馈到服务器上

而IMAP提供webmail与电子邮件客户端的双向通道,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应动作

2.1.1 在邮箱设置中找到IMAP服务,选择开启,生成授权码

实操:zabbix关联邮箱触发报警提示操作_第2张图片
实操:zabbix关联邮箱触发报警提示操作_第3张图片

这个授权码用来验证身份

实操:zabbix关联邮箱触发报警提示操作_第4张图片

[root@server ~]# yum install mailx -y
[root@server ~]# vim /etc/mail.rc 
# For Linux and BSD, this should be set.
set bsdcompat
#文件末尾新增
set [email protected]
set smtp=smtp.qq.com
set [email protected]
set smtp-auth-password=qcaspkj***ccbfai		#这里是自己的授权码
set smtp-auth=login		#使用登陆验证

2.1.2 测试mailx发送邮件

[root@server ~]# echo "hello world" | mail -s "testmail" [email protected]
[root@server ~]# echo “内容”    |    mail -s “标题” 邮箱地址

在这里插入图片描述

2.2 配置完成,接下来编写发送邮件脚本,一旦zabbix触发报警,就会自动执行脚本

2.2.1 zabbix可以调用脚本

[root@server ~]# vim mailx.sh
#!/bin/bash
#邮件发送

messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 |tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >> /tmp/mailx.log 2>&1
[root@server ~]# touch /tmp/mailx.log
#对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。
#对于2 ,表示标准错误,stderr。
#2>&1 的意思就是将标准错误重定向到标准输出。

2.2.2 将脚本移动到zabbix的指定目录下

[root@server ~]# cd /usr/lib/zabbix/
alertscripts/    externalscripts/ 
#常用脚本		  #扩展脚本
[root@server ~]# cd /usr/lib/zabbix/alertscripts/
[root@server alertscripts]# cp ~/mailx.sh .
[root@server alertscripts]# ls
mailx.sh

2.2.3 赋予权限

[root@server alertscripts]# chmod +x mailx.sh 
[root@server alertscripts]# chown -R zabbix.zabbix /tmp/mailx.log
[root@server alertscripts]# ll /usr/lib/zabbix/
total 0
drwxr-xr-x 2 zabbix zabbix 22 May 24 11:13 alertscripts
drwxr-xr-x 2 zabbix zabbix  6 Apr 27 18:23 externalscripts
[root@server alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/

2.2.4 测试脚本

[root@server alertscripts]# ./mailx.sh [email protected] "./mail.sh" "cishijiaoben"
[root@server alertscripts]# tail -f /tmp/mailx.log 
^C
#有报错才会写入日志

在这里插入图片描述

脚本编写完成

三:配置zabbix报警触发参数

在web上面配置

3.1 管理-报警媒体类型-创建媒体类型

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

在这里插入图片描述
实操:zabbix关联邮箱触发报警提示操作_第5张图片

3.2 管理-用户-点击Admin-报警媒介

实操:zabbix关联邮箱触发报警提示操作_第6张图片
点击添加

类型选中刚才指定的脚本类型的报警

实操:zabbix关联邮箱触发报警提示操作_第7张图片
然后点击添加,点击更新
在这里插入图片描述

3.3 配置-动作-创建动作-删除默认标签-修改触发条件

默认的是被停用的
实操:zabbix关联邮箱触发报警提示操作_第8张图片
实操:zabbix关联邮箱触发报警提示操作_第9张图片

操作的默认参数
实操:zabbix关联邮箱触发报警提示操作_第10张图片
修改后的参数

默认操作步骤持续时间 60
默认标题 : {TRIGGER.STATUS}:{TRIGGER.NAME}
消息内容:

告警主机:{HOST.NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
实操:zabbix关联邮箱触发报警提示操作_第11张图片

  • 恢复操作

默认标题:{TRIGGER.STATUS}:{TRIGGER.NAME}
消息内容:

恢复主机:{HOST.NAME}
恢复 IP:{HOST.IP}
恢复时间:{EVENT.DATE}-{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{TRIGGER.NAME}:{ITEM.VALUE}
恢复 ID:{EVENT.ID}
实操:zabbix关联邮箱触发报警提示操作_第12张图片

  • 点击添加

在这里插入图片描述

四:测试报警

4.1 停掉sshd服务

[root@client ~]# systemctl stop sshd

在这里插入图片描述
实操:zabbix关联邮箱触发报警提示操作_第13张图片

触发邮件报警

4.2 恢复服务

[root@client ~]# systemctl start sshd

实操:zabbix关联邮箱触发报警提示操作_第14张图片

触发恢复操作邮件

备注:

使用钉钉的话,就需要申请一个机器人

微信的话,需要申请一个企业级账号

你可能感兴趣的:(zabbix)