zabbix3.0微信邮件报警

简介:

Zabbix 邮件微信报警

分2大部分:

                1.Zabbix服务器端配置

                        邮件服务安装配置

                2.Web端服务配置

服务器端的设置:

系统 cenots 6.5   2.6.32-431.el6.x86_64

安装邮件发送服务:

[root@localhost ~]# wget http://sourceforge.net/projects/heirloom/files/latest/download?source=files

wKiom1g9REeRRSvZAAHvhNr1LrM545.png

[root@localhost ~]# mv download\?source\=files mailx-12.4.tar.bz2

[root@localhost ~]# tar xf mailx-12.4.tar.bz2

[root@localhost ~]# cd mailx-12.4

打个补丁才可以用:

wKioL1g9RFPRhUyEAADD3uw67V0574.png

[root@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

[root@localhost mailx-12.4]# make

[root@localhost mailx-12.4]# make install UCBINSTALL=/usr/bin/install

下面为输出信息:

wKioL1g9RDvTPXZ_AADJ6LK5w9w964.png

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

[root@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

 

[root@localhost mailx-12.4]# which mailx

/usr/local/bin/mailx

[root@localhost mailx-12.4]# cd /bin

[root@localhost bin]# ln -s /usr/local/bin/mailx mail

[root@localhost bin]# mail -V

12.4 7/29/08

[root@localhost bin]# mail -s "Message"  jinchuang1025@163.com < /tmp/yum_save_tx-2016-11-10-17-274YsBZQ.yumtx

[root@localhost bin]# echo $?

0

wKioL1g9RGWyxolnAABtXZksWyQ238.png

=======================邮件发送成功!==============================

 

Zabbix 报警脚本:

邮件:

[root@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 配置文件修改

[root@zabbix-server ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

添加或修改为下面这句:

AlertScriptsPath=/usr/local/zabbix/alertscripts  #开启zabbix调用脚本存放路径位置

 

重启zabbix服务生效

[root@zabbix-server ~]# /etc/init.d/zabbix_server restart

 

微信:

申请微信企业号

建立部门 和添加成员(接收消息的)

wKioL1g9ReGTe1pGAACr9Gvg5lA117.png

查看部门id

wKiom1g9Re-CrNu1AAB1J0uX_uY294.png

新建应用

wKiom1g9RoaS0B8LAACkcqGMsdw694.png

查看应用id 和添加接收消息用户

wKiom1g9RpLyYiYAAAEptiQ9vCc021.png

查看corpid

wKioL1g9RqChrWY0AAFN5ik1MDc632.png

查看管理组凭证密钥

wKiom1g9RqygUvIVAADdxt246LQ699.png

 

脚本:修改红色的为你自己的企业号对应的。

[root@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)

给予执行权限:

[root@zabbix-server alertscripts]# chown zabbix.zabbix sendmail.sh weixin.py

[root@zabbix-server alertscripts]# chmod +x sendmail.sh weixin.py

 

 

 

Web端配置

1登录你的zabbix     -- 管理 – 报警媒介

 

wKioL1g9RvWQRU8aAACjuHUnVa0942.png

 

 

创建媒体类型

wKiom1g9RweTi9HKAAB4-sd7AnY526.png

 

 

创建邮件的:

wKiom1g9RxejK8AnAAB-zPXzjFg244.png

 

 

创建微信的

wKioL1g9RyuistM5AACPA_09HB8987.png

 

 

       2再找到—配置 --- 动作

wKioL1g9RzfTLLaHAACdxcrTOC8344.png

 

 

 

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

wKioL1g9R0byCVc4AACIQDXGXtM169.png

 

 

 

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

wKioL1g9R2OALMyzAACf5dFEB5w056.png

wKioL1g9R2PTi6oZAABrCeqcn74926.png

wKiom1g9R2Tj8F1SAAC13Y_OcDA654.png

 

找到 –管理 – 用户

wKioL1g9SCjQAydOAAB4hHDnv7Q704.png

 

 

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

wKiom1g9SDWA2j1kAABxPRqQquM391.png

 

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

wKioL1g9SEKzWhLaAABAi7lQx1c514.png

 

 

创建微信的

wKiom1g9SE3BfqS9AABKpIV-nYk172.png

到此就结束了!

 

下面测试

停止一台服务器上zabbix_agentd服务

[root@localhost ~]# netstat -lntp |grep 10050

tcp        0      0 192.168.11.57:10050         0.0.0.0:*                   LISTEN      20537/zabbix_agentd

[root@localhost ~]# service zabbix_agentd stop

Shutting down zabbix_agentd:                               [  OK  ]

[root@localhost ~]# netstat -lntp |grep 10050

[root@localhost ~]#

wKioL1g9SFWxtxpxAABRva33fzY491.png

等待几分钟 zabbix服务端监测不到就会触发报警了

wKiom1g9SF6RPxYKAACeKQmiCqo291.png

发送细节状态:

wKioL1g9SGiAqeVqAAA5eQ5cato961.png

收取到的邮件:

wKiom1g9SHLRZi2OAABZQcx36uA082.png

微信收到的:

wKioL1g9SIWBXjayABSrkncqCVM590.png

 

 




      本文转自无形于有形  51CTO博客,原文链接:http://blog.51cto.com/jinchuang/1877839,如需转载请自行联系原作者







相关文章
|
监控
zabbix设置邮件报警
zabbix设置邮件报警
104 0
|
18天前
|
运维 监控 BI
zabbix强大的报警系统
zabbix强大的报警系统
28 8
|
4月前
|
监控 关系型数据库 MySQL
一文吃透企业级elk技术栈:11. zabbix报警实现
一文吃透企业级elk技术栈:11. zabbix报警实现
|
7月前
|
监控 前端开发
Zabbix使用外部邮箱服务器发送邮件报警
Zabbix使用外部邮箱服务器发送邮件报警
|
7月前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
339 0
|
运维 监控
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(四)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(四)
160 0
|
运维 监控 小程序
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(三)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(三)
100 0
|
运维 监控 测试技术
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(二)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(二)
195 0
|
运维 监控 网络协议
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)(一)
【运维知识进阶篇】zabbix5.0稳定版详解2(自定义监控+报警+图形+模板)
320 0
|
缓存 监控 应用服务中间件
【zabbix】生产环境zabbix只能收到邮件不能看到图形化页面
【zabbix】生产环境zabbix只能收到邮件不能看到图形化页面