Zabbix告警媒介设置
概述
邮件告警大致思路:先设置发件人邮箱,支持所有smtp邮箱,然后设置用户告警,也就是设置收件人邮箱。然后通过[动作]触发发邮件操作,从而实现媒介告警。
微信、钉钉告警大致思路:创建应用或者机器人,获取到应用、机器人标识,然后通过API去模拟url请求,将zabbix的告警内容当做模拟请求的参数去转化成json,然后发给微信、钉钉服务器,从而实现监控。
发件人邮箱设置
[管理] -> [报警媒介类型] -> 创建媒体类型
163
微信
1、准备工作
注册企业微信,获取api参数
一共需要3个参数,报警应用(新建)的AgentId、Secret、企业ID
python3环境
略
安装openssl、requests模块
yum install -y openssl-devel
pip3 install requests
2、python脚本
将企业微信中获取的api参数放到python脚本中,修改corp_id = ‘xxxxxx’,corp_secret = ‘xxxxxx’,agent_id = xxxxxx
#!usr/local/python3/bin/python3.9
# -*- coding:utf-8 -*-
import requests
import json
import sys
# 企业号及应用相关信息
corp_id = 'xxxxxx'
corp_secret = 'xxxxxx'
agent_id = xxxxxx
# 存放access_token文件路径
file_path = '/tmp/access_token.log'
def get_access_token_from_file():
try:
f = open(file_path,'r+')
this_access_token = f.read()
print('get success %s' % this_access_token)
f.close()
return this_access_token
except Exception as e:
print(e)
# 获取token函数,文本里记录的token失效时调用
def get_access_token():
get_token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (corp_id, corp_secret)
print(get_token_url)
r = requests.get(get_token_url)
request_json = r.json()
this_access_token