zabbix监控告警邮箱提醒,钉钉提醒

一、注册网易邮箱及其配置邮箱

1、开启POP3/SMTP/IMAP

二、service端配置邮件服务

1.安装 mailx dos2unix

                 yum install -y mailx dos2unix

mailx:邮件服务

mos2unix:用于转换文本文件格式的实用工具

查看mailx版本

2.配置mailx配置文件

        编辑:vim /etc/mail.rc

set from=lsqsq1@163.com smtp=smtp.163.com(自己的邮箱,smtp服务器)
setsmtp-auth-user=lsqsq1@163.com smtp-auth-password=DJDOKFNAAUOZHZCW(授权码)
set smtp-auth=login

echo "test mail from zabbix.server.com" | mail -s"test mail" lsqsq1@163.com

echo “内容”| mail -s “标题” 邮箱

在邮箱查看

3.编辑zabbix_server.conf应用邮件脚本

 vim etc/zabbix/zabbix server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

cd //etc/zabbix//zabbix/

[root@server alertscripts]# vim mail.sh

#!/bin/bash
#export.UT-F8
a=$2
b=$1
FILE=/tmp/mailtmp.txt
echo "$3" > $FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s "$a" "$b" < $FILE

#bt=$2  sjr=$1 :定义发件标题和收件人信息
# FILE=/tmp/mailtmp.txt 定义文件路径
#/use/bin/dos2unix-k $FILE 转换字符

                        chown zabbix.zabbix mail.sh
                         touch /tmp/mailtmp.txt
                        chmod  777 /tmp/mailtmp.txt
                         chown zabbix.zabbix /tmp/mailtmp.txt

        执行脚本 ./mail.sh lsqsq1@163.com "tset mail2" "test mail from zabbix"

4.配置zabbix_web监控项邮件报警

操作思路:

                监控—创建报警媒介类型—更新用户使用的报警媒介类型—创建动作-验证;

1.创建报警媒介类型

名称自定义

脚本名需要与服务器中脚本对应。

报警媒介类型中脚本参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

2.更新用户使用的报警媒介类型

类型为上一步创建的类型

收件人为自己的邮箱地址

3.创建动作

邮件主题:

故障:{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}

4.验证

————————————————————————————

一、钉钉告警,软件配置

二、配置zabbix-server

1、报警脚本配置

取消注释:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

2、配置脚本

cd /usr/lib/zabbix/alertscripts

 vim dingding.py

#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=3a7191b12c8e8f5580b9bedc9e48938421845e7629c8ff0fe2833f1ede9e8b30" (修改为自己的webhook)
user=sys.argv[1]
text=sys.argv[3]
data={
    "msgtype": "text",
    "text": {
        "content": text
    },
    "at": {
        "atMobiles": [
            user
        ],
        "isAtAll": False
    }
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/var/log/zabbix/dingding.log"):
    f=open("/var/log/zabbix/dingding.log","a+")
else:
    f=open("/var/log/zabbix/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
    f.write("\n"+str(datetime.datetime.now())+"    "+str(user)+"    "+"发送成功"+"\n"+str(text))
    f.close()
else:
    f.write("\n"+str(datetime.datetime.now()) + "    " + str(user) + "    " + "发送失败" + "\n" + str(text))
    f.close()

 赋权:

                # chmod +x dingding.py

创建日志文件:

                # touch /var/log/zabbix/dingding.log
                # chown zabbix.zabbix /var/log/zabbix/dingding.log

3、安装 python-requests python

                yum -y install python-requests python

4、手动测试

./dingding.py  1 123 "告警测试 "

三、web端配置

1、创建报警媒介类型

名称自定义

脚本名需要与服务器中脚本对应。

报警媒介类型中脚本参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

2、更新用户使用的报警媒介类型

3、创建动作

主题:故障恢复:{EVENT.NAME}

消息:

恢复主机:{HOSTNAME1}

恢复时间:{EVENT.DATE} {EVENT.TIME}

主机IP:{HOST.IP}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

切记每个相同不然,

4、验证

停掉agent服务端的musql服务


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部