千家信息网

Zabbix通过网易邮箱、企业微信、钉钉整合实现实时告警

发表于:2024-12-04 作者:千家信息网编辑
千家信息网最后更新 2024年12月04日,Zabbix可以通过多种方式将告警信息发送到指定人,常用的报警方式有邮件、微信、钉钉等。本次博文主要介绍这三种报警方式。一、配置网易邮箱实现报警本篇博文采用网易邮箱的方式实现报警!操作如下:zabbi
千家信息网最后更新 2024年12月04日Zabbix通过网易邮箱、企业微信、钉钉整合实现实时告警

Zabbix可以通过多种方式将告警信息发送到指定人,常用的报警方式有邮件、微信、钉钉等。本次博文主要介绍这三种报警方式。

一、配置网易邮箱实现报警

本篇博文采用网易邮箱的方式实现报警!操作如下:



zabbix server需进行以下配置:

[root@zabbix ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL //安装所需依赖[root@zabbix ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz//下载sendEmail软件包[root@zabbix ~]# tar zxf sendEmail-v1.56.tar.gz -C /usr/src[root@zabbix ~]# cd /usr/src/sendEmail-v1.56/[root@zabbix sendEmail-v1.56]# cp -a sendEmail /usr/local/bin/[root@zabbix sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail [root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts[root@zabbix alertscripts]# vim sendEmail.sh         //编写测试脚本#!/bin/bashto=$1subject=$2body=$3/usr/local/bin/sendEmail -o tls=no -f zhen18732036806@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu zhen18732036806@163.com -xp abcd1234 -m "$body"

邮件内容各项解释:
-f from@163.com :发件人邮箱
-t to@163.com :收件人邮箱
-s smtp.163.com :发件人邮箱的 smtp 服务器
-u "我是邮件主题" :邮件的标题
-o message-content-type=html:邮件内容的格式为html 格式
-o message-charset=utf8:邮件内容编码
-xu from@163.com:发件人邮箱的用户名
-xp abcd1234:发件人邮箱授权码(就是我刚刚生成的那个授权码)
-m "我是邮件内容" :邮件的具体内容

[root@zabbix alertscripts]# chmod +x sendEmail.sh [root@zabbix alertscripts]# chown zabbix.zabbix sendEmail.sh //赋予脚本权限[root@zabbix alertscripts]# sh sendEmail.sh zhen18732036806@163.com test 123Jan 30 16:40:04 zabbix sendEmail[2584]: Email was sent successfully!//出现此消息表明发送成功

收到的邮件如下:

1)创建报警媒介

选择"管理→报警媒介→创建报警媒介"如下:

图中填写的三个参数:

{ALERT.SENDTO}            //收件人地址{ALERT.SUBJECT}          //主题{ALERT.MESSAGE}         //详细内容

2)将报警媒介关联到用户

选择"管理→用户→Admin→报警媒介"如下:



创建完成后,进行以下操作:

3)创建动作





添加的代码如下:

故障消息
主机:{HOSTNAME}
IP:{IPADDRESS}
监控项:{ITEM.NAME}
触发器:{TRIGGER.NAME}
键值:{ITEM.KEY}:{ITEM.VALUE}
时间:{DATE} {TIME}



4)配置触发器



5)测试邮件告警

[root@agent ~]# systemctl stop zabbix-agent//agent端将agent进程关闭

收到的邮件如下:

[root@agent ~]# systemctl start zabbix-agent//agent端将agent进程启动

收到的邮件如下:

实现邮件报警成功!

二、配置企业微信实现报警

要想实现企业微信报警,需自己注册一个企业微信,由于其过程过于简单,这里就略过了!

1)企业微信web页面设置

注册完成之后,进行以下操作:

可以向企业微信添加用户,这里就不添加了,以一个用户为例,查看用户的详细信息:

创建应用,如图:




到此为止,企业微信的注册和配置的内容已经介绍完毕了!

2)获取微信告警脚本

要想将告警信息发送到微信,就需要使用一个发送脚本,操作如下:

[root@zabbix ~]# wget https://www.ixdba.net/zabbix/weixin_linux_amd64[root@zabbix ~]# mv weixin_linux_amd64 /usr/local/zabbix/share/zabbix/alertscripts/weixin//脚本所在路径非常重要[root@zabbix ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/weixin[root@zabbix ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf//确认以下内容AlertScriptsPath=usr/local/zabbix/share/zabbix/alertscripts[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/[root@zabbix alertscripts]#  ./weixin --corpid=ww35e57441212e7560 --corpsecret=t10UEVBtSuW-00CJMYFnz5xxBhTvf6XCz2vcUY3xS8M --msg="test" --user=LvZhenJiang --agentid=1000007{"errcode":0,"errmsg":"ok","invaliduser":""}//测试微信脚本,出现此信息表示测试成功!

各配置项含义:
--corpid=:企业号里面的企业ID;
--corpsecret=:自建应用中的Secret的ID;
--msg=:发送消息的内容;
--use=:指定用户的名称,查看用户详情时可以查看到;
--agentid=:自建应用中的Agentid;

企业微信收到的消息如下:

3)zabbix web页面的配置

1)创建报警媒介

如图:

两个变量内容如下(图中的变量有误):

 --user={ALERT.SENDTO} --msg={ALERT.MESSAGE}
2)将报警媒介关联到用户

如图:



3)创建动作

如图:



图中添加的代码如下:

默认标题:服务器:{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}事件ID:{EVENT.ID}


至此已经配置完成!细心的朋友可能发现并没有创建触发器,因为刚才测试进行邮件测试的时候就已经创建了触发器,它们公用同一个触发器!

4)测试微信告警
[root@agent ~]# systemctl stop zabbix-agent//agent端将agent进程关闭

可以在以下界面查看消息是否发送成功!

企业微信收到的消息如下:

[root@agent ~]# systemctl start zabbix-agent//agent端将agent进程启动

企业微信收到的信息如下:

实现微信报警成功!

三、配置钉钉实现告警

1)关于钉钉机器人告警

钉钉类似于微信,但是偏向于办公方向,可以通过钉钉的群机器人功能,实现将告警信息通过机器人发送到钉钉群中。

群机器人时钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。

zabbix配置钉钉报警,相比微信,要简单很多,几分钟内即可完成配置,下面详细介绍!

2)添加钉钉机器人

关于钉钉的注册非常简单,这里就不过多的介绍了,注册完成登录到钉钉后,先发起一个群聊,加入接受钉钉告警信息的人员,如下:








注意:定义关键字时,必须根据实际情况来,也就是消息中包含的内容。建议使用定义关键字的方式!

机器人配置到此结束!

3)获取钉钉告警脚本

因为脚本中用到了requests,其是python的http客户端库,没有安装的按照以下方式进行安装:

[root@zabbix ~]# yum -y install epel-release python-pip[root@zabbix ~]# pip install --upgrade pip[root@zabbix ~]# pip install requests
[root@zabbix ~]# vim dingding.py        //自定编写脚本#!/usr/bin/python# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osheaders = {'Content-Type': 'application/json;charset=utf-8'}api_url = "https://oapi.dingtalk.com/robot/send?access_token=df27d0f8ed866576f0d213ededcf8bdc6a0a3d24bf1c904fcd58b14b606ec7c6"#更改为自己机器人的网址,也就是刚才复制的内容def msg(text):    json_text= {     "msgtype": "text",        "text": {            "content": text        },    }    print requests.post(api_url,json.dumps(json_text),headers=headers).contentif __name__ == '__main__':    text = sys.argv[1]    msg(text)也可通过以下路径获取[root@zabbix ~]# wget https://www.ixdba.net/zabbix/dingding.zip[root@zabbix ~]# unzip dingding.zip [root@zabbix ~]# mv dingding.py /usr/local/zabbix/share/zabbix/alertscripts///保证脚本所在的路径[root@zabbix ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/[root@zabbix alertscripts]# chmod 755 dingding.py [root@zabbix alertscripts]# chown zabbix.zabbix dingding.py /usr/local/zabbix/share/zabbix/alertscripts/weixin[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf//确认以下内容AlertScriptsPath=usr/local/zabbix/share/zabbix/alertscripts[root@zabbix alertscripts]# ./dingding.py 监控报警 https://oapi.dingtalk.com/robot/send?access_token=df27d0f8ed866576f0d213ededcf8bdc6a0a3d24bf1c904fcd58b14b606ec7c6{"errcode":0,"errmsg":"ok"}

钉钉收到的信息如下:

钉钉报警脚本配置完成!

4)zabbix web上配置钉钉报警

1)添加报警媒介


2)将报警媒介关联到用户

'



3)配置动作

如图:






由于照片中的代码与微信测试中的代码一致,这里就不复制出来了,有需要自行复制!

4)测试钉钉报警

'

[root@agent ~]# systemctl stop zabbix-agent//agent端将agent进程关闭

钉钉收到的信息如下:

[root@agent ~]# systemctl start zabbix-agent//agent端将agent进程开启

钉钉收到的信息如下:

实现钉钉报警完成!

--------本次博文到此为止,感谢阅读----------

报警 配置 信息 内容 邮件 企业 脚本 用户 媒介 消息 测试 机器 机器人 邮箱 方式 进程 监控 成功 代码 触发器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发过程中需要画哪些图 网络安全中数据治理的成效 南京信创服务器生产厂商 规划数据库标准 嘉兴构建智慧社区软件开发 数据库如何更新表 长宁区网络技术服务哪家便宜 腾讯云轻量应用服务器玩游戏 阿里云服务器的远程管理账号 数据库数据对比工具 每服务器 每设备 群体化软件开发 支持软件开发的路由器 逃跑吧少年服务器为什么会维修 苹果软件开发指南 战地1如何进入指定服务器 江苏省通信与网络技术工程 服务器程序自动删除 如何修改ftp服务器的本地地址 软件开发工程师的苦 浙江hp服务器维修调试哪家便宜 网络安全中数据治理的成效 广电网络安全生产先进个人 未来之役哪个服务器最流畅 平台软件开发岗位职责 阿里云服务器是不是和虚拟机一样 数据库怎样交互 多媒体与网络技术就业前景 2021青岛网络安全竞赛 上海领用软件开发统计
0