(五)zabbix----邮件通知,微信报警,短信报警,第三方报警(公众号,钉钉)

一. 邮件报警

主机—监控项—触发器—动作—媒介

1.qq的授权码

在这里插入图片描述
在这里插入图片描述
保存授权码

1.创建监控项

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

2. 触发器

在这里插入图片描述

3. 动作

在这里插入图片描述

报警信息

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

在这里插入图片描述

4.创建报警媒介

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

5. 关联至用户

在这里插入图片描述

6.测试

关掉httpd然后
在这里插入图片描述

zabbix监控端:测试授权码

yum -y install mailx

vim /etc/mail.rc
'//末尾添加'
set from=邮箱
#如果时163 就是smtp.163.com
set smtp=smtp.qq.com
set smtp-auth-user=邮箱
set smtp-auth-password=邮箱授权码
set smtp-auth=login

测试

echo "hello tomorrow" | mail -s "test" 邮箱

写脚本

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"

方法二

用户—添加报警邮箱—在报警媒介中,添加
配置—动作

报警媒介类型

在这里插入图片描述
类型:脚本方式—调用第三方接口
在这里插入图片描述
添加用户
在这里插入图片描述

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

创建动作
在这里插入图片描述
在这里插入图片描述

如果是多个条件:触发条件–计算方式–选或 or
在这里插入图片描述
动作
在这里插入图片描述

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

如果有多个操作细节。就涉及 分层报警
在这里插入图片描述
恢复操作,也得同上添加一个恢复操作
在这里插入图片描述
在这里插入图片描述

测试

systemctl stop sshd

在qq邮箱中
在这里插入图片描述

在这里插入图片描述

systemctl start sshd

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

二. 微信报警

1. 基础环境

注册一个企业微信
https://www.tanmarket.cn/production/business-wechat.html?tid=E67BBF294596AF35
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建账号
用于发送微信报警信息
在这里插入图片描述
在这里插入图片描述
企业信息
企业 ID, 在发送微信报警信息的时候会调用
在这里插入图片描述
测试发送信息
在这里插入图片描述
在这里插入图片描述
点击发送
在手机端就会收到

脚本

参考
https://work.weixin.qq.com/api/doc#90000/90003/90487

先获取 token, token 是通过 corpid(企业 ID)和 corpsecret(应用 Secret)获取到发消息 api 见发送应用消息,可以看到其实就是一个 post 请求

在Server端:脚本

vim /usr/local/zabbix/share/zabbix/alertscropts/weixin.py

#!/usr/bin/env python
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='企业ID'
appsecret="秘钥"
agentid="AgentID"
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]
message=sys.argv[2] + "\n\n" +sys.argv[3]

params={
"touser": touser,
"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)

替换’企业ID’,“秘钥”,“AgentID”

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

安装requests模块

apt install python-pip
pip install requests

测试

chmod +x weixin.py
				 谁	主题		内容
python weixin.py qcq "这是主题" "这是内容"

在这里插入图片描述

zabbix 配置

  1. zabbix 添加报警媒介类型

在这里插入图片描述

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
  1. 联系添加报警媒介
    在这里插入图片描述

  2. 配置动作

在这里插入图片描述
4. 测试,手动触发报警
出错—>脚本未放到指定位置

Cannot exectue command “/usr/local/zabbix/share/zabbix/alertscripts/weixin.py”: [2] No such file or directory

放到位置

/usr/local/zabbix/share/zabbix/alertscripts/weixin.py

在这里插入图片描述

三. 短信报警(收费的)

https://www.yunpian.com/
变量信息:
短信报警参数

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

脚本

vim linux.sh 
#!/bin/bash
source   /etc/profile
PHONE=$1
SUBJECT=$2
MESSAGE=$3
/usr/bin/curl -X "POST" "https://sms.yunpian.com/v2/sms/single_send.json" \
       	-H "content-type: application/x-www-form-urlencoded"  \
       	-d "apikey=APIKEY" \
	-d "mobile=${PHONE}"  \
	-d "text=${MESSAGE}"

echo $? >> /tmp/linux_zabbix_sms.txt
echo $1  $3 >> /tmp/linux_zabbix_sms.txt

测试

bash linux.sh 手机号 名称  信息

四. 第三方短信报警服务商(微信公众号、钉钉)

创建钉钉机器人、微信应用
钉钉报警:参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值