zabbix自定义邮箱报警和微信报警

 更新时间:2020年04月23日 12:17:04   作者:@李子矜  
这篇文章主要介绍了zabbix自定义邮箱报警和微信报警,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

前言

看了很多其他人的博客,写了很多都有的用脚本的方式来实现邮箱报警,我觉得有点繁琐了,今天推荐一种不使用脚本的方式实现邮箱报警。
zabbix安装部署参考: /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?corpid=$CorpID&corpsecret=$Secret"
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?access_token=$Token"
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测试

在这里插入图片描述
在这里插入图片描述

到此这篇关于zabbix自定义邮箱报警和微信报警的文章就介绍到这了,更多相关zabbix自定义报警内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • zabbix集群搭建分布式监控的操作步骤

    zabbix集群搭建分布式监控的操作步骤

    zabbix通过zabbix?proxies为IT基础设施提供有效的可用的风不是监控代理(proxy)可用于代替zabbix?server本地手机数据,然后将数据报告给服务器,对zabbix分布式监控操作步骤感兴趣的朋友一起看看吧
    2022-11-11
  • 快速通过zabbix获取数据库连接的信息及部分扩展

    快速通过zabbix获取数据库连接的信息及部分扩展

    这篇文章主要介绍了通过zabbix获取数据库连接的信息及部分扩展,包括zabbix配置信息,功能脚本,本文给大家分享详细脚本写法,需要的朋友可以参考下
    2021-06-06
  • 详解如何调用zabbix API获取主机

    详解如何调用zabbix API获取主机

    Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时。很难想象管理数千台服务器而没有自动化是多么的困难。Zabbix API为批量操作、第三方软件集成以及其他作用提供可编程接口。这篇文章主要介绍了如何调用zabbix API获取主机。
    2017-01-01
  • 利用zabbix监控ogg进程(Windows平台)

    利用zabbix监控ogg进程(Windows平台)

    这篇文章主要介绍了利用zabbix监控ogg进程(Windows平台)的步骤,帮助大家监控windows平台下的ogg程序,感兴趣的朋友可以参考下
    2020-12-12
  • zabbix实现邮件告警的方法

    zabbix实现邮件告警的方法

    今天小编就为大家分享一篇关于zabbix实现邮件告警的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Zabbix 动态执行监控采集脚本的实现原理

    Zabbix 动态执行监控采集脚本的实现原理

    这篇文章主要介绍了Zabbix 动态执行监控采集脚本的实现原理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • centos7安装zabbix?5.0的详细过程

    centos7安装zabbix?5.0的详细过程

    这篇文章主要介绍了centos7安装zabbix?5.0,本文中zabbix使用的是zabbix?5?+?postgresql?+?nginx的组合,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Zabbix实现批量监控端口状态的方法

    Zabbix实现批量监控端口状态的方法

    在监控生产环境的服务的时候,通常需要对多个端口进行监控,如果我们手动一个一个的添加,这将是一件很麻烦的事情,为了减少这样的情况,我们采用批量添加监控端口的方法,下面小编给大家带来了zabbix批量监控端口状态的方法,一起看看吧
    2018-01-01
  • Zabbix WEB监测实现过程图解

    Zabbix WEB监测实现过程图解

    这篇文章主要介绍了Zabbix WEB监测实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Zabbix系统端口监控状态

    Zabbix系统端口监控状态

    这篇文章主要介绍了Zabbix系统端口监控状态,可以使用zabbix自带的key进行监控
    2018-03-03

最新评论

?


http://www.vxiaotou.com