Linux——Zabbix邮件报警设置

邮件脚本报警

官方zabbix脚本文档

https://www.zabbix.com/documentation/4.0/zh/manual/

案例背景

企业使用centos6,zabbix2.* ,zabbix没有email报警媒介模块

1.关闭zabbix-server上的邮件服务,安装mailx

[root@zabbix-server ~]# systemctl stop postfix.service 
[root@zabbix-server ~]# systemctl disable postfix.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.
[root@zabbix-server ~]# yum -y install mailx 

2.编辑mailx的配置,指定收件邮箱和用户密码

[root@zabbix-server ~]# vim /etc/mail.rc 
......
set [email protected]
set smtp=smtps://smtp.qq.com:465
set [email protected]
set smtp-auth-password=ljzxbtttimmbdgdh
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/

3.测试邮件

[root@zabbix-server ~]# echo 欢迎使用! | mail -s 请柬  [email protected]
[root@zabbix-server ~]# Error in certificate: Peer's certificate issuer has been marked as not trusted by the.


4.登录qq邮箱查看

在这里插入图片描述

5.zabbix-server编写邮件报警脚本

[root@zabbix-server ~]# yum -y install  dos2unix   //安装工具
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim email_notice.sh
#!/bin/bash
#export UTF-8
FILE=/tmp/mail.txt
echo "$3" > $FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
[root@zabbix-server alertscripts]# chmod +x email_notice.sh  //赋予执行权限

6.zabbix web控制台添加邮件报警脚本

(1)管理 – 报警媒介类型 – 关闭已有的email报警 – 右上角“创建媒体类型” – “名称,类型(脚本)–脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}” – 更新

(2)右上角 – 小人(用户) – 报警媒介 – 添加 – “类型(邮件脚本,收件人:真实邮箱地址)” – 停用已有的 – 更新

7.登录qq邮箱查看

邮件脚本报警设置成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIVfsvZs-1594728558628)(C:\Users\Administrator\Desktop\照片\zabbix\邮件报警设置\2.png)]

微信报警(企业微信)

1.申请企业微信(步骤略)

2.创建应用(报警机器人)

应用管理 – 创建应用 – 上传logo – 创建应用名称(报警机器人) – 应用介绍(报警提示) – 设置课件范围 – 创建应用

3.复制应用数据

点击报警机器人复制

AgentId 1000002

Secret EKD_UTFTQSElUbTv36gPsArEkgAPQUAkgakQckPSz0E

4…编写python微信报警脚本,并修改企业id和用户密码

更改 企业ID、报警机器人密码、报警机器人ID

[root@zabbix-server alertscripts]# [root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim weixin.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import requests
import sys
import os
import json
import logging
 
 
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
  
corpid='ww367a17810d625bee'      //企业微信的ID号
appsecret='EKD_UTFTQSElUbTv36gPsArEkgAPQUAkgakQckPSz0E'	    // 报警机器人的密码(上面复制的数据)
agentid=1000002    //报警机器人的ID号(上面复制的数据)
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
 
#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
 
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]
 
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
 
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message) 
[root@zabbix-server alertscripts]# chmod 777 weixin.py     //赋予执行权
[root@zabbix-server alertscripts]# dos2unix -k winxin.py    //格式转换
[root@zabbix-server alertscripts]# ./weixin.py  //执行完 不管出现什么提示或者报错都不用管 直接往下做
[root@zabbix-server alertscripts]# chown zabbix:zabbix /tmp/weixin.log   ///赋权weixin.log

5.测试发送微信

[root@zabbix-server alertscripts]# ./weixin.py WangFuPing 报错  HTTP...

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxtvHhBE-1594728558630)(C:\Users\Administrator\Desktop\照片\zabbix\邮件报警设置\3.png)]

6.zabbix web添加微信报警

(1)管理 – 报警媒介类型 – 右上角“创建媒体类型” – “名称(企业微信),类型(脚本),脚本名称(必须写对),参数添加3个:{ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}” – 更新

(2)右上角 – 小人(用户) – 报警媒介 – “类型(企业微信,收件人:微信账号)” – 添加 – 停用已有的账户 – 更新

(微信报警设置成功)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CkmhGjlc-1594728558633)(C:\Users\Administrator\Desktop\照片\zabbix\邮件报警设置\4.png)]

拓展(修改邮件通知内容)

1.配置–动作–Report problems to Zabbix administrators

对应内容解释

操作:修改默认标题,修改消息内容
主题:Problem:

  • {EVENT.NAME}故障
  • {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}

ENT.DATE} {EVENT.TIME}

  • 告警等级:{TRIGGER.SEVERITY}
  • 告警信息: {TRIGGER.NAME}
  • 告警项目:{TRIGGER.KEY1}
  • 问题详情:{ITEM.NAME}:{ITEM.VALUE}
  • 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
  • 事件ID:{EVENT.ID}

2.修改后,更新

猜你喜欢

转载自blog.csdn.net/weixin_45191791/article/details/107346422
今日推荐