文章目录

  • ①微信监控报警
  • 企业微信后台【PC】
  • python报警监控脚本上传报警监控脚本或者下载脚本
  • 微信报警脚本
  • 2、zabbix 创建告警媒介
  • ②163邮箱 (脚本)
  • 3、网页配置
  • 邮件不用脚本
  • ③钉钉报警
  • 安装python-pip和requests库
  • 在监控页面创建媒介:

①微信监控报警

zabbix 微信报警【监控端】
5.1下载企业微信【手机】


点击登录默认没有企业会出现创建企业

加了企业的话,点击我的》 点击设置》切换身份》创建企业/团队

企业微信后台【PC】






需要记住这 几个配置 注意截图一下

企业 id   wwe81e87a26a5b9e09
账号      TianMingQing
部门 id    2
AgentId      1000002手机上面查看到的 Secret  

python报警监控脚本上传报警监控脚本或者下载脚本

上传 脚本文件 ,
步骤;cp -rf wechat.py /usr/lib/zabbix/alertscripts/ 拷贝上传的脚本
步骤:cd /usr/lib/zabbix/alertscripts/
步骤;chmod +x wechat.py && chown zabbix:zabbix wechat.py 提权

无论是上传还是下载的脚本都需要,改下面的信息。
需要修改脚本中的四个信息:
self. corpid = ‘wwd2385f23ad80ecef’ //公司的corpid
self. secret = ‘3gsEC6Mv3vQmdG5MOJBF65U0KzTl-1v2GKQhr479uso’ //应用的secret
‘toparty’:1, //部门id
‘agentid’:“1000002”, //应用id

微信报警脚本

修改 15 16 69 71 添加这几个

#!/usr/bin/env python
# -*- coding: utf-8 -*-import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )class WeChat(object):__token_id = ''# init attributedef __init__(self,url):self.__url = url.rstrip('/')self.__corpid = 'wwe81e87a26a5b9e09'self.__secret = 'i1_tJySbbE6LvIYK_irRDSGYZFD37KnlrbZCxd3L6aE'# Get TokenIDdef authID(self):params = {'corpid':self.__corpid, 'corpsecret':self.__secret}data = urllib.urlencode(params)content = self.getToken(data)try:self.__token_id = content['access_token']# print content['access_token']except KeyError:raise KeyError# Establish a connectiondef getToken(self,data,url_prefix='/'):url = self.__url + url_prefix + 'gettoken?'try:response = urllib2.Request(url + data)except KeyError:raise KeyErrorresult = urllib2.urlopen(response)content = json.loads(result.read())return content# Get sendmessage urldef postData(self,data,url_prefix='/'):url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_idrequest = urllib2.Request(url,data)try:result = urllib2.urlopen(request)except urllib2.HTTPError as e:if hasattr(e,'reason'):print 'reason',e.reasonelif hasattr(e,'code'):print 'code',e.codereturn 0else:content = json.loads(result.read())result.close()return content# send messagedef sendMessage(self,touser,message):self.authID()data = json.dumps({'touser':touser,'toparty':2,'msgtype':"text",'agentid':"1000002",'text':{'content':message},'safe':"0"},ensure_ascii=False)response = self.postData(data)print responseif __name__ == '__main__':a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')a.sendMessage(sys.argv[1],sys.argv[3])



监控脚本测试:


注:Youngfit为上图的企业微信名 test为标题 yufei为内容,标题和内容均可自定义[root@youngfit ~]# /usr/lib/zabbix/alertscripts/wechat.py Youngfit test yufei
{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

2、zabbix 创建告警媒介

注:(以哪种方式发送报警信息,短信,脚本等等)

{ALERT.SENDTO} 警告发送
{ALERT.SUBJECT} 主题
{ALERT.MESSAGE} 信息



3、zabbix 添加告警用户

创建用户组:web-group,包含yangge、alice...等用户
创建用户:yangge、alice...等用户,并关联到微信告警
希望的结果是:发微信到组web-group,组中的用户yangge、alice都能收到

5.8 Zabbix 添加报警动作
上面 媒介创建好了 接着操作动作

如果希望中文显示:
告警主机: {HOST.NAME}
告警地址: {HOST.IP}
监控项目: {ITEM.NAME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警时间: {EVENT.DATE} {EVENT.TIME}


5.9 测试微信报警
被监控端操作

systemctl stop nginx

②163邮箱 (脚本)

邮件系统简要介绍:
电子邮件系统包括两个组件:

MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理 postfix);

MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA是运行在底层,能够处理邮件的收发工作的程序;

mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。

1.注册163邮箱
2.登陆网页邮箱设置客户端授权密码



server服务器端:

安装MUA软件:mailx

阿里云的yum源可以下载
[root@zabbix-server ~]# yum install mailx -y
[root@zabbix-server ~]# mailx -V
12.5 7/5/10
注:使用新的方式--利用公网邮件服务器发送报警,需要关闭postfix服务
[root@zabbix-server ~]# systemctl stop postfix

配置公网邮箱信息:
vim /etc/mail.rc —在最后添加如下:

set from=12345678@163.com(邮箱地址)
set smtp=smtp.163.com(smtp服务器)
set smtp-auth-user=12345678@163.com(用户名)
set smtp-auth-password=qf123456(这里是邮箱的授权密码)
set smtp-auth=login

使用mailx发邮件的方式:
方式1:echo “正文内容” | mailx -s “邮件标题” 收件箱Email
方式2:mailx -s “邮件标题” 收件箱Email,回车按CTRL+D发送
参数:
-v :显示发送的详细信息

手动发送邮件测试:

[root@zabbix-server ~]# mailx -v -s 'hello' 'zhangsan@163.com'

手写邮件内容 (回车,然后ctrl+d正常结束)

手动使用mailx发送邮件测试结果:
|
zabbix添加邮件报警功能:

配置 zabbix 的邮件报警功能需要以下三个角色的参与。

1、 示警媒体(Media)
2、 触发器(Triggers)
3、 动作(Action)
示警媒体:指的是 zabbix 采用何种方式进行报警,目前 Zabbix 支持的示警媒体包括邮件、脚本、Jabber、短信。jabber是linux下一种即时通讯工具。触发器:指的是当监控对象达到某个条件或条件集合的时候,触发 Zabbix 产生事件。动作:指的是 Zabbix 产生对应事件后,它通过示警媒体发送报警。接下来,我们配置一个邮件报警功能的范例。效果是当redis端口挂掉则触发报警,管理员将会收到一封 Zabbix 发出的报警邮件。

编写 脚本

cd /usr/lib/zabbix/alertscripts
vim mailx.sh
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

创建日志文件并修改权限并测试
这个 可以直接 给个权限 就可以

touch /tmp/mailx.log
chown -R zabbix.zabbix  /tmp/mailx.log
chmod +x mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
sh mailx.sh 邮箱 zabbix "this is test"

3、网页配置

(1)添加报警媒介

名称自定义,后面会用到 类型选择脚本 脚本名称是之前编辑的脚本名称 脚本的三个参数:
{ALERT.SENDTO}
{ ALERT.SUBJECT}
{ALERT.MESSAGE}

(2)添加用户
管理 > 用户 > 点击Admin > 报警媒介 > 添加

类型选择之前自定义的名称
收件人填自己邮箱
点击添加
点击更新


(3)创建动作
配置 > 动作 >创建动作 > 删除默认 > 创建动作

操作

想要发送中文 可以设置这个消息内容

默认标题   {TRIGGER.STATUS}:{TRIGGER.NAME}
消息内容   告警主机:{HOST.NAME}告警IP:{HOST.IP}告警时间:{EVENT.DATE}-{EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息:{TRIGGER.NAME}-{ITEM.VALUE}事件ID:{EVENT.ID}

添加恢复操作

除了消息内容的模板,其他和上一步基本一致
回复操作内容 中文版

默认标题   {TRIGGER.STATUS}:{TRIGGER.NAME}消息内容   恢复主机:{HOST.NAME}恢复IP:{HOST.IP}恢复时间:{EVENT.DATE}-{EVENT.TIME}恢复等级:{TRIGGER.SEVERITY}恢复信息:{TRIGGER.NAME}-{ITEM.VALUE}事件ID:{EVENT.ID}


最后再确认一下操作是不是都添加完成了,如果没完成是不会发送邮件的!!

4)测试
被监控端停止sshd服务

systemctl stop mysqld

可以看到邮件已经发送过来了,并且仪表板的问题界面开始闪烁
重新开启服务后同样会有邮件发来

邮件不用脚本

就是不用脚本 就电子邮件

③钉钉报警

这里讲一下 先有个群,随便建个群就可以






公网 ip 不会去 百度搜 ip 就出来拉

把webhook的地址记录下来 重要 重要 重要

创建脚本,赋予执行权限
cd /usr/lib/zabbix/alertscripts

脚本里面只需要改你的机器人 地址

vim dingding.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: sxdswc999
import requests
import json
import sys
import osheaders = {'Content-Type': 'application/json;charset=utf-8'}
api_url = ""  #机器人的Webhook地址def msg(text):json_text= {"msgtype": "text","text": {"content": text},"at": {"atMobiles": [""    #手机号],"isAtAll": False}}print requests.post(api_url,json.dumps(json_text),headers=headers).contentif __name__ == '__main__':text = sys.argv[1]msg(text)

提权

[root@zabbix-server alertscripts]# chmod +x dingding.py

安装python-pip和requests库

[root@zabbix-server alertscripts]# yum -y install epel-release
[root@zabbix-server alertscripts]# yum -y install python-pip
[root@zabbix-server alertscripts]# pip install requests

第三个指令是去国外下载 容易下载不上 就使用下面的

pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com


测试脚本是否可行

 ./dingding.py 监控报警  {"errcode":0,"errmsg":"ok"}


pc端接收成功:

移动端App接收成功:

在监控页面创建媒介:



将Admin用户关联到此媒介:



用户报警 媒介,提示这里写 机器人的 或者写账号的都可以id 收件人

动作

测试

⑦企业级zabbix监控 微信报警、邮箱报警、钉钉报警、全网最细相关推荐

  1. zabbix监控配置及邮箱告警

    zabbix监控配置及邮箱告警 zabbix监控指标 zabbix监控配置流程 zabbix监控配置流程详解 客户端配置 服务端配置 1.添加主机 2.添加监控项 使用模板添加 自定义模板 添加监控项 ...

  2. 企业级 zabbix 监控项目实战

    此次部署 参考https://www.cnblogs.com/keerya/p/7953695.html#_label0_6_5 目录 一.zabbix 的监控搭建 环境准备 配置 server 端 ...

  3. zabbix监控配置QQ邮箱服务

    一.邮件服务需求 在实际生产环境中,我们的服务器难免会发生故障,这时候就需要有邮件通知运维人员,及时查出问题,解决问题.所以邮件服务在生产中有着不可或缺的作用! 二.操作环境 操作系统:CentOS ...

  4. [个人笔记] Zabbix配置钉钉群聊告警机制

    系统工程 - 运维篇 第二章 Zabbix配置钉钉群聊告警机制 系统工程 - 运维篇 系列文章回顾 下章内容 前言 实施步骤 Zabbix配置钉钉群聊告警机制 新增监控主机,添加监控项,触发器 导入自 ...

  5. zabbix配置步骤、操作及使用个人邮箱、企业微信、钉钉报警的配置

    一.监控端配置 步骤: 1.去官网下载包,从而有zabbix.repo,更新yum源 2.yum安装zabbix-server-mysql zabbix-web-mysql zabbix-agent ...

  6. 【zabbix】自定义监控、邮件报警、企业微信报警、钉钉报警(详细)

    环境说明 centos 7 版本 zabbix 6.0 版本 主机名 IP地址 备注 zabbix 192.168.10.150 服务端,同时自我监控 zabbix-2 192.168.10.151 ...

  7. zabbix监控系统进阶专题篇(企业微信报警,邮箱报警,电话报警,监控数据库,监控磁盘性能)

    一:zabbix配置文件详解 1. zabbix-server配置文件 Zabbix 日志 默认用文件记录,也可以发送给我们的 rsyslog 日志记录系统,如果我们 选择默认,则日志存放在LogFi ...

  8. Linux Zabbix——企业监控基于钉钉、企业微信实现自动化报警

    zabbix基于企业微信.钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,需要时刻关注应用服务的运行情况,这就少不了实时报警,而使用即时通讯软件报警相对就很方便. 监控环境准备 ...

  9. Zabbix 邮件报警、钉钉报警、微信报警

    文章目录 一.部署server端和agent端 1.实验准备 2.部署zabbix-server[监控端] (1)安装zabbix-server (2)启动mariadb (3)准备数据库及授权 (4 ...

  10. zabbix===》监控基础架构、邮箱报警、第三方平台电话报警

    zabbix模板地址: https://github.com/zhangyao8/zabbix-community-repos zabbix监控基础架构 一.监控第一台主机 1.初始化web页面 使用 ...

最新文章

  1. python基础教程:懒惰属性(延迟初始化)
  2. C语言——数组、函数、指针
  3. ElasticSearch wildcard查询(英文检索)
  4. SharePoint Framework 企业向导(三)
  5. 双赛道20支战队解题思路大公开,线上Poster Session等你来
  6. Android 高效调试神器 JRebel
  7. ElasticJob分布式调度,监听器的使用附源码(四)
  8. Python格式化输出总结
  9. 怎么更改wifi频段_我告诉你wifi频段怎么设置
  10. Xmanager学习1_Xbrowser无法连接到Linux的解决办法
  11. 【操作系统概念-作业9】Virtual Memory
  12. 微服务 —— ThoughtWorks首席科学家的早期文章
  13. 2020大疆校招B卷第三题
  14. 计算机的cut代表什么意思,cut是什么意思_cut在线翻译_英语_读音_用法_例句_海词词典...
  15. winows10和centos 双系统 安装记录
  16. Microsoft ODBC Driver 17 for SQL Server: 以前的某个安装需要重新引导计算机以便使更改生效。若要继续,请重新启动计算机,然后再次运行安装程序
  17. 股票实时行情接口编程难度大吗?
  18. 电脑开不了机怎么办?如何解决?
  19. 力扣 656.金币路径
  20. python中geometry_tkinter窗口geometry函数的使用

热门文章

  1. 美团2017校园招聘编程题
  2. STC89C51系列 EEPROM测试程序 证明扇区512个字节的擦除
  3. linux查看主机配置命令,如何查看Linux 硬件配置信息
  4. CSS基础教程——纯CSS开发的气泡式提示框
  5. css 响应式布局(媒体查询),兼容pc,ipad,移动端的布局单位
  6. python爬虫之爬取微信公众号文章中的图片
  7. 大O记法-BigO notation
  8. 国外游戏开发公司10强
  9. 张耳陈馀列传第二十九
  10. java实现发送匿名邮件,帮帮忙!现在要实现邮件发送(还必须要匿名发送)!该怎么解决...