实现邮件报警

网页版邮箱中开启 POP3/SMTP/IMAP

生成授权码并记录

Server端安装配置邮件服务器

  1、Yum安装邮件服务器

yum -y install mailx dos2unix
mailx -V

  2、 编辑邮件配置

vim /etc/mail.rc
set bsdcompat
set from=S13467005509@163.com smtp=smtp.163.com
set smtp-auth-user=S13467005509@163.com smtp-auth-password=上面生成的授权码
set smtp-auth=login

  3、测试是否有效

echo "blingbling" | mail -s "test mail" S13467005509@163.com

  邮箱中查看结果

  4、引用邮件脚本

vim /usr/local/zabbix/etc/zabbix_server.conf
AlerScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #结尾插入
vim /usr/local/zabbix/share/zabbix/alertscripts/mail.sh
#!/bin/bash
#export.UTF-8
bt=$2  #定义发件标题和收件人
sjr=$1
FILE=/tmp/mailtmp.txt  #定义文件路径
echo "$3" >$FILE
/usr/bin/dos2unix -k $FILE  #使用 dos2unix 命令转换字符,避免收到邮件不显示正常邮件内容而出现 ATT00001.bin 的错误;
/bin/mail -s "$bt" "$sjr" <$FILE  #执行邮件发送命令

  5、增加权限并测试

chmod 777 /usr/local/zabbix/share/zabbix/alertscripts/mail.sh
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail.sh
touch /tmp/mailtmp.txt
chmod 777 /tmp/mailtmp.txt
chown zabbix.zabbix /tmp/mailtmp.txt
sh /usr/local/zabbix/share/zabbix/alertscripts/mail.sh S13467005509 "blingbling" "bingbing" #前者标题,后者内容

实现钉钉报警

注册企业版钉钉并进入

钉钉中新建自定义机器人

记录所需webhook

server端 添加钉钉消息发送脚本

  1、下载相关依赖

yum -y install python-pip
pip -V
pip install requests

  2、添加脚本及权限

vim /usr/local/zabbix/share/zabbix/alertscripts/Email.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=4b974339e84a3dfba612a4dae75461797f036566df6c558e47c35ce6bbc28ded"
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("/tmp/zabbix_dingding.log"):
f=open("/tmp/zabbix_dingding.log","a+")
else:
f=open("/tmp/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 /usr/local/zabbix/share/zabbix/alertscripts/Email.dingding.py

  3、测试

python /usr/local/zabbix/share/zabbix/alertscripts/Email.dingding.py 13467005509 test zabbix”blingbling“  #前者脚本类型,zabbix 机器人关键字 后者内容

 

实现微信报警

注册企业版微信并登陆网页后台

  1、我的企业中记录企业ID

添加告警应用

记录Agenttid及Secret

添加部门

  1、添加子部门

  2、移入用户

  3、记录部门ID

server端 添加告警脚本

  1、编写脚本并加权限

vim /usr/local/zabbix/share/zabbix/alertscripts/Email.weixin.sh
#!/bin/bash
CorpID='ww9820802e5b147bd3' #我的企业下面的CorpID
Secret='yxPTWR0c7ymKcmxIy0IqjkwQ-h7PnrGme_IF4nknYs4' #创建的应用那有Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": '{print $4}' |awk -F\" '{print $2}')
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token" function body(){
local int agentid=1000003 #改为AgentId 在创建的应用那里看
local UserID="SunLongFei" #发送的用户位于$1的字符串
local PartyID=4 #第一步看的通讯录中的部门ID
local Msg=$(echo "$@" | cut -d" " -f3-)
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"msgtype": "text",\n'
printf '\t"agentid": "'"$agentid"\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$Msg"\""\n"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/Email.weixin.sh

   2、测试

sh /usr/local/zabbix/share/zabbix/alertscripts/Email.weixin.sh  blingbling

web端添加邮件,钉钉,微信相关告警信息

  1、管理 > 报警媒介类型 > 创建

  2、添加相关告警

      邮件

  输入创建的报警媒介类型的名称,指定类型为脚本的方式,并且输入 zabbix_server 端/usr/local/zabbix/share/zabbix/alertscripts 目录下的脚本名称,确保脚本的归属是 zabbix,并且脚本的权限是 777,下边设置脚本参数,也就是发送邮件,微信,钉钉的语法:脚本   收件人 标题 内容,必须严格按照此标准填写;
 
$1 {ALERT.SENDTO}
$2 {ALERT.SUBJECT}
$3 {ALERT.MESSAGE}

      微信

      钉钉

  3、管理 > 用户 > 点击Admin

  4、报警媒介 > 添加类型及收件人

      Email

      微信

      钉钉

  5、成功后点击更新

  6、配置 > 动作 > 创建动作

  7、动作名称建议英文

  8、三者添加的操作及发送到的用户如出一辙,如有需要,另自行修改

警告模版
服务器:{HOST.NAME}发生: {TRIGGER.NAME}故障!
{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件 ID:{EVENT.ID}
}

恢复操作模版
服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
{
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢 复 时 间 :{EVENT.RECOVERY.DATE}
{EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
事件 ID:{EVENT.ID}
}

  添加用户后点击下方添加如上下图所示

确认操作模版
服务器:{HOST.NAME}: 报警确认
{
确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:
"{ACK.MESSAGE}"
问题服务器 IP:{HOSTNAME1}
问题 ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}
}

完成效果图

测试三者报警可用性

cd /boot/
dd if=/dev/zero of=test bs=1M count=1800

 

恢复后继续查看

rm -rf test

至此搭建测试完成

zabbix的搭建及操作(4)实现邮件,钉钉,微信报警的更多相关文章

  1. zabbix的搭建及操作(1)server-client架构

    实验环境 Server端     Centos7:192.168.10.10  server.zabbix.com    可连外网 Agent 端     Centos7:192.168.10.20  ...

  2. zabbix的搭建及操作(2)监控windows10及网络设备

    实验环境 配置完成的Server端 Web --详情点击 windows10 192.168.10.1 (与虚拟机同一Vmnet的IP地址)必须关闭防火墙 网络设备GNS 192.168.10.50 ...

  3. zabbix的搭建及操作(3)监控 MySQL 及 HTTP 状态监控

    书接上回 -- 详情点击 Server端以配置好 mariadb(MySQL) 及 http 服务 Zabbix实现监控 mysql 数据库 server服务器端配置 vim /usr/local/z ...

  4. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

  5. 项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作

    无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...

  6. zabbix实现电话、短信、邮件报警

    该报警方式提前说明:(1)该方式可以实现zabbix免费电话报警以及微信.短信.邮件报警,但有数量限制.详见如下:如数量不能满足需要以及人员需要,可以考虑购买收费版.(2)毕竟是免费版,电话通知要省着 ...

  7. zabbix环境搭建部署(一)

     Linux高端架构师课程 Linux实战运维国内NO.1全套视频课程 QQ咨询:397824870  > 监控报警 > zabbix环境搭建部署(一) zabbix环境搭建部署(一) 监 ...

  8. Zabbix监控搭建

    目录 Zabbix概述        zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 ( 基于 GPL V2 )zabbix由 2 部分构成,zabbix ...

  9. zabbix 邮件报警和微信报警

    # 邮件报警 一.定义邮件发件人 #密码来源 完成操作会看到 二.定义邮件收件人 三.启动动作 #先开启 2.触发操作 3.恢复操作 4.开启发送消息 1.2. 微信报警 一. 首先要注册一个企业微信 ...

随机推荐

  1. 动态规划专题一:线性dp

    第一篇博客随笔,被迫写的bushi 上课讲的动态规划入门,还是得总结一下吧 背包 01背包 背包有容量限制,每一件物品只能够取一件(这就是为什么j从V至v[i]循环的原因) 思路:f数组表示当前状态的 ...

  2. jumpserver部署使用

    一.简介 前面我们聊到了openvpn的部署和使用,它能够实现从互联网通过openvpn连接到公司内网服务器,从而进行远程管理:但openvpn有一个缺点它不能记录哪些用户在内网服务器上操作了什么,拥 ...

  3. 单片机串口通信电平不匹配的解决电路,5V 3.3V串口通讯

    很早的时候调试串口通讯遇到单片机和模块电压不匹配,信号无法传输,所以整理后来遇到的转换电路.1.最简单的用转换电平IC,可以去淘宝上搜索,有四路的有两路的,比如这个双向电平转换模块 2.根据接触的开发 ...

  4. Zeal(文档)安装使用

    Zeal是一个为软件开发者提供的离线文档浏览器. 一.下载安装 下载地址:https://zealdocs.org/ 二.安装后下载自己需要的文档 1.通过Zeal原生源直接下载文档 Tools -& ...

  5. c库中sprintf

    用法:sprintf指的是字符串格式化命令,主要功能是把某个数据写入某个字符串中: 我的理解就是,将某个其它类型的数据按着某一格式写入char *a,因此叫格式化命令: 语法: #include< ...

  6. Windows2008R2+ IIS7.5+php+mysql 搭建教程

    Windows2008R2+ IIS7.5+php+mysql 搭建教程 1. IIS7.5安装安装角色时候因为 Fastcgi 的需要, aspnet 和 asp 都要选装. 我为了方便,所有的除 ...

  7. Django项目之打分系统

    打分系统 关注公众号"轻松学编程"了解更多. 项目GitHub地址:https://github.com/liangdongchang/VoteSys.git 1.开发需求 a. ...

  8. [LuoguP2147] [SDOI2008]洞穴勘测 (LCT维护连通性)

    题面 传送门:https://www.luogu.org/problemnew/show/P2147 Solution 这题...... 我们可以发现题目要求我们维护一个动态森林,而且只查询连通性.. ...

  9. Docker(4)- Docker 命令大全

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 容器生命周期管理 run sta ...

  10. Activit的心路历程:获取当前节点的上一节点【可能存在多个】的nodeId

    在我的开发任务中,突然给我提出了一个待办任务需要获取当前任务节点上以任务节点的表单信息,刚开始搞得我有点措手不及,后来仔细是靠后,灵感一下,直接操作流程的bpmn信息就可以获取到节点信息嘛,顺着这个思 ...