设为首页 收藏本站
查看: 2576|回复: 0

[经验分享] zabbix3.0微信邮件报警

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-30 09:08:25 | 显示全部楼层 |阅读模式
分2大部分:
                1.Zabbix服务器端配置
                        邮件服务安装配置
                2.Web端服务配置
服务器端的设置:
系统 cenots 6.5   2.6.32-431.el6.x86_64
安装邮件发送服务:
wKiom1g9REeRRSvZAAHvhNr1LrM545.jpg
[iyunv@localhost ~]# mv download\?source\=files mailx-12.4.tar.bz2
[iyunv@localhost ~]# tar xf mailx-12.4.tar.bz2
[iyunv@localhost ~]# cd mailx-12.4
打个补丁才可以用:
wKioL1g9RFPRhUyEAADD3uw67V0574.jpg
[iyunv@localhost mailx-12.4]# patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch
patching file makeconfig
patching file openssl.c
[iyunv@localhost mailx-12.4]# make
[iyunv@localhost mailx-12.4]# make install UCBINSTALL=/usr/bin/install
下面为输出信息:
wKioL1g9RDvTPXZ_AADJ6LK5w9w964.jpg
test -d /usr/local/bin || mkdir -p /usr/local/bin
/usr/bin/install -c mailx /usr/local/bin/mailx
strip /usr/local/bin/mailx
test -d /usr/local/share/man/man1 || mkdir -p /usr/local/share/man/man1
/usr/bin/install -c -m 644 mailx.1 /usr/local/share/man/man1/mailx.1
test -d /etc || mkdir -p /etc
test -f /etc/nail.rc || \
              /usr/bin/install -c -m 644 nail.rc /etc/nail.rc
[iyunv@localhost mailx-12.4]# vim /etc/nail.rc
编辑配置文件最下面加上:修改为你自己的
set from=xxx@163.com smtp=smtp.163.com
set smtp-auth-user=xxx@163.com smtp-auth-password=邮箱密码
set smtp-auth=login

[iyunv@localhost mailx-12.4]# which mailx
/usr/local/bin/mailx
[iyunv@localhost mailx-12.4]# cd /bin
[iyunv@localhost bin]# ln -s /usr/local/bin/mailx mail
[iyunv@localhost bin]# mail -V
12.4 7/29/08
[iyunv@localhost bin]# mail -s "Message"  jinchuang1025@163.com < /tmp/yum_save_tx-2016-11-10-17-274YsBZQ.yumtx
[iyunv@localhost bin]# echo $?
0
wKioL1g9RGWyxolnAABtXZksWyQ238.jpg
=======================邮件发送成功!==============================

Zabbix 报警脚本:
邮件:
[iyunv@zabbix-server alertscripts]# vim sendmail.sh#!/bin/bash
echo "$3" > /tmp/zabbix_mail.txt  #此文件要有zabbix 权限不然乱码
dos2unix -k /tmp/zabbix_mail.txt
/bin/mail -s "$2" $1 < /tmp/zabbix_mail.txt

Zabbix server 配置文件修改
[iyunv@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
添加或修改为下面这句:
AlertScriptsPath=/usr/local/zabbix/alertscripts  #开启zabbix调用脚本存放路径位置

重启zabbix服务生效
[iyunv@zabbix-server ~]# /etc/init.d/zabbix_server restart

微信:
申请微信企业号
建立部门 和添加成员(接收消息的)
wKioL1g9ReGTe1pGAACr9Gvg5lA117.jpg
查看部门id
wKiom1g9Re-CrNu1AAB1J0uX_uY294.jpg
新建应用
wKiom1g9RoaS0B8LAACkcqGMsdw694.jpg
查看应用id 和添加接收消息用户
wKiom1g9RpLyYiYAAAEptiQ9vCc021.jpg
查看corpid
wKioL1g9RqChrWY0AAFN5ik1MDc632.jpg
查看管理组凭证密钥
wKiom1g9RqygUvIVAADdxt246LQ699.jpg

脚本:修改红色的为你自己的企业号对应的。
[iyunv@zabbix-server alertscripts]# vim weixin.py
#!/usr/bin/python
#_*_coding:utf-8 _*_
__author__ = 'lvnian'

import urllib,urllib2
import json
import sys

def gettoken(corpid,corpsecret):
    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
    try:
        token_file = urllib2.urlopen(gettoken_url)
    except urllib2.HTTPError as e:
        print e.code
        print e.read().decode("utf8")
        sys.exit()
    token_data = token_file.read().decode('utf-8')
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json['access_token']
    return token



def senddata(access_token,user,content):

    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
    send_values = {
        "touser":user ,    #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
        "toparty":"1",    #企业号中的部门id
        "msgtype":"text",  #消息类型。
        "agentid":"2",     #企业号中的应用id,
        "text":{
            "content":content
           },
        "safe":"0"
        }
    send_data = json.dumps(send_values, ensure_ascii=False)
    send_request = urllib2.Request(send_url, send_data)
    response = json.loads(urllib2.urlopen(send_request).read())
    print str(response)



if __name__ == '__main__':
    user = str(sys.argv[1])     #zabbix传过来的第一个参数
    subject = str(sys.argv[2])  #zabbix传过来的第二个参数
    content = str(sys.argv[3])  #zabbix传过来的第三个参数
    corpid =  'wxdgfhshs3f1bba2jinc'   #CorpID是企业号的标识
    corpsecret = '3NDb5cKp-ViudjtgsiJ6Yw_R_jRj2cUdsgTmFLsOQGQYGPcc5wNLhPiAyTnpjinc'  #corpsecretSecret是管理组凭证密钥
    accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,user,content)
给予执行权限:
[iyunv@zabbix-server alertscripts]# chown zabbix.zabbix sendmail.sh weixin.py
[iyunv@zabbix-server alertscripts]# chmod +x sendmail.sh weixin.py



Web端配置
1登录你的zabbix     -- 管理 – 报警媒介

wKioL1g9RvWQRU8aAACjuHUnVa0942.jpg


创建媒体类型
wKiom1g9RweTi9HKAAB4-sd7AnY526.jpg


创建邮件的:
wKiom1g9RxejK8AnAAB-zPXzjFg244.jpg


创建微信的
wKioL1g9RyuistM5AACPA_09HB8987.jpg


       2再找到—配置 --- 动作
wKioL1g9RzfTLLaHAACdxcrTOC8344.jpg



创建动作 (email  和 微信 相同)
wKioL1g9R0byCVc4AACIQDXGXtM169.jpg



配置动作 (email  和 微信 基本相同,注意 操作配置 里面的 仅送到选项 要选择不同的)
wKioL1g9R2OALMyzAACf5dFEB5w056.jpg
wKioL1g9R2PTi6oZAABrCeqcn74926.jpg
wKiom1g9R2Tj8F1SAAC13Y_OcDA654.jpg

3 找到 –管理 – 用户
wKioL1g9SCjQAydOAAB4hHDnv7Q704.jpg


选择报警媒介 – 添加 (我这里是添加过的)
wKiom1g9SDWA2j1kAABxPRqQquM391.jpg

创建邮件报警媒介 ,收件人那里要写正确,可以多个用逗号分隔
wKioL1g9SEKzWhLaAABAi7lQx1c514.jpg


创建微信的
wKiom1g9SE3BfqS9AABKpIV-nYk172.jpg
到此就结束了!

下面测试
停止一台服务器上zabbix_agentd服务
[iyunv@localhost ~]# netstat -lntp |grep 10050
tcp        0      0 192.168.11.57:10050         0.0.0.0:*                   LISTEN      20537/zabbix_agentd
[iyunv@localhost ~]# service zabbix_agentd stop
Shutting down zabbix_agentd:                               [  OK  ]
[iyunv@localhost ~]# netstat -lntp |grep 10050
[iyunv@localhost ~]#
wKioL1g9SFWxtxpxAABRva33fzY491.jpg
等待几分钟 zabbix服务端监测不到就会触发报警了
wKiom1g9SF6RPxYKAACeKQmiCqo291.jpg
发送细节状态:
wKioL1g9SGiAqeVqAAA5eQ5cato961.jpg
收取到的邮件:
wKiom1g9SHLRZi2OAABZQcx36uA082.jpg
微信收到的:
wKioL1g9SIWBXjayABSrkncqCVM590.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-307481-1-1.html 上篇帖子: 通过zabbix自动发现Tomcat服务端口 下篇帖子: zabbix监控进程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表