Zabbix 报警机制

一、ZABBIX 之QQ邮箱报警
我们以腾讯的邮件服务器作为今天的邮件服务器,首先了解一下两点:
1、我们采用的邮件发送协议是smtp 协议。腾讯的smtp协议当中的IMAP服务器和端口分别是服务器:smtp.qq.com 端口:465 或者用POP3的25号端口
2、如何开启smtp 服务器
3、邮箱->设置->账户
在这里插入图片描述
滚动下滑,选择开启IMAP
在这里插入图片描述
开启需要的条件,
1、绑定手机
2、QQ号登陆满七天
在这里插入图片描述
在这里插入图片描述
授权码(密码):yhkdlakszfkpbdci

在zabbix-server 服务器上设置报警的脚本目录
首先在服务器切换到报警脚本要存放的目录(这个目录是让zabbix寻找脚本)
在这里插入图片描述
然后修改server 服务端配置文件
在这里插入图片描述
修改配置
455行 AlertScriptsPath=/usr/lib/zabbix/alertscripts
在这里插入图片描述
编写报警脚本
注意:zabbix默认调用的是你Linux中的python 2版本。我们需要用python 2 来执行脚本并成功运行(!!!!非常重要)
[root@localhost alertscripts]# vim SendEmail.py
#!/usr/bin/python
#coding:utf-8
import sys
import smtplib
from email.mime.text import MIMEText

mail_host = “smtp.qq.com” # smtp 地址
mail_user = “xxx@qq.com” # qq邮箱地址
mail_password = ‘yhkdlakszfkpbdci’ # qq 邮箱 smtp服务 授权码

def send_mail(to,subject,content):
message = MIMEText(content,“plain”,“utf-8”)
message[“Subject”] = subject
message[“From”] = mail_user
message[“to”] = to
try:
smtp = smtplib.SMTP(mail_host,25)
smtp.login(mail_user,mail_password)
smtp.sendmail(mail_user,[to],message.as_string())
smtp.close()
except Exception as e:
with open(“mail.log”,“a”) as f:
f.write(str(e)+"\n")
if name == “main”:
send_mail(
sys.argv[1],
sys.argv[2],
sys.argv[3], #$1
)
注意:在这里我们使用的 是25号端口

运行脚本命令测试效果如下
测试命令:
[root@localhost alertscripts]# python SendEmail.py “xxx@qq.com” “nice work” “hello word”

二、钉钉报警机制
Python 钉钉报警
#!/usr/bin/python
#coding:utf-8
import sys
import json
import requests
def WriteLogByDing(content):
headers = {
“Content-Type”: “application/json”,
“Chartset”: “utf-8”
}

request_data = {
    "msgtype": "text",
    "text": {
       "content": content
    },
    "at": {
        "atMobiles": [],
        "isAtAll": True
    }
}

sendData = json.dumps(request_data)
response = requests.post(url = url,headers = headers,data = sendData)
content = response.content.decode()
#print(content)

if name == “main”:
content = sys.argv[1]
WriteLogByDing(content)

运行脚本测试效果如下
测试命令:python sendDing.py “你好”
在这里插入图片描述
3、授权脚本(重要)
[root@localhost alertscripts]# chown zabbix.zabbix sendEmail.py
[root@localhiost alertscripts]# chown zabbix.zabbix sendDing.py
[root@localhost alertscripts]# chmod +x sendDing.py
[root@localhost alertscripts]# chmod +x sendEmail.py
4、设置报警媒介、用户、触发器
设置报警媒介
发送邮件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发送钉钉,步骤大同小异
在这里插入图片描述
在这里插入图片描述
效果如下
在这里插入图片描述
设置报警用户
在这里插入图片描述
添加报警媒介
在这里插入图片描述
添加报警媒介
邮件
在这里插入图片描述
钉钉
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置动作
在这里插入图片描述
邮件
在这里插入图片描述
添加options信息
在这里插入图片描述
在这里插入图片描述
钉钉
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}
恢复操作
默认接收人:已恢复!{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

测试报警
关闭zabbix-agent查看是否报警
在这里插入图片描述

过一会 就会收到 qq邮箱报警 或者 钉钉报警信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值