前言
看了很多其他人的博客,写了很多都有的用脚本的方式来实现邮箱报警,我觉得有点繁琐了,今天推荐一种不使用脚本的方式实现邮箱报警。
zabbix安装部署参考: https://www.jb51.net/article/174787.htm
Emai邮箱报警
不使用脚本,利用外部邮箱发送报警信息,需要打开邮箱里的外部邮箱smtp/pop3
功能开启完以后会生成一个唯一授权码
,自己要保存好,外部连接时需要用到。
sendmail:邮件传输代理程序,引导用户构建一个需要的邮件系统,在这个环境里是引导163.com发给qq.com
明白后,开始安装sendmail
yum -y install sendmail
vim /etc/mail.rc
在最后一行添加:
set from="17631369946@163.com" #设置代理发送邮件的用户账号 set smtp="smtp.163.com" #设置smtp服务器 set smtp-auth-user="176313169946@163.com" #设置代理邮件的登录用户 set smtp-auth-password=JUBMSUDZGUVSHKYF #唯一授权码,根据你自己而定 set smtp-auth=login
开启服务:systemctl start sendmail
smtp以及其他服务器位置,所以这里用smtp.163.com:
1.在zabbix_client002里新添加监控项
提前在客户机里设置好键值,即要监测的对象
[root@localhost ~]# grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.10.7 ServerActive=192.168.10.7 Hostname=zabbix_client002 Include=/etc/zabbix/zabbix_agentd.d/*.conf UserParameter=login_users,who|wc -l #默认是空值,自定义键值 "K"为统计登录用户 [root@localhost ~]#
名称就是 监控项的名称
键值就是设定好的 login_users
2.添加触发器
触发器结合监控项一起使用,当监控项的值到达触发器的阈值时,就会采取某种操作——邮件报警或其他报警。
3.编辑报警媒介,选择Email
1>编辑发件人
注:
密码需要写的是外部登入时的授权码
,一般都是唯一的
邮件服务端口写25或465
都可以
2>编辑收件人
编辑好收件人
的邮箱地址
3>启用触发器的动作,默认关闭,手动打开
使用xshell连接192.168.10.1,登入测试,开启多个登录界面
过一会收到报警,然后发给自己 的邮箱
优化报警内容,在动作-----操作-----消息内容添加
添加: 服务器:{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} }
修改完后更新
发送的邮件会变成
微信报警
第一步:
注册企业微信号,注册就不说了,会生成唯一的企业ID
创建应用,自己上传图片
Secret号是随时可变的,Agentid按自己的为准
企业微信准备好以后,上传微信 脚本到 /usr/lib/zabbix/alertscripts
,
zabbix专门存放脚本的地方
[root@localhost ~]# grep -Ev ‘^$|#' /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
添加脚本内容为: #!/bin/bash #set -x #我的企业下面的CorpID CorpID="ww2b0abxxxxxxxxxxxx" #创建的应用那有Secret Secret="l7KvwDzJAMxznMtjhQBGPZBi9VTQWAGRNQWnXJfxKHs" GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken" 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" function body(){ local int agentid=1000002 #注意以自己的为准 local UserID=$1 #发送的用户位于$1的字符串 local PartyID=2 #第一步看的通讯录中的部门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
必须给给脚本执行权限
报警媒介自定义为微信报警,不过脚本类需要添加3个参数,如下,可以参照官网给的文档
定义收件人,后来才知道,自己随便写就好。
定义监控项和触发器和邮件一样,这里就不做了,效果如下,参考上边
动作启用
模拟故障和故障恢复,使用xshell登录192.168.10.1测试
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]