zabbix自动发现cisco设备并实现微信报警

自动发现Cisco设备

1、创建自动发现规则

2、创建发现后的动作

3、修改Cisco模板参数

4、为主机链接模板

微信报警的实现

1、首先安装python

2、脚本如下

#!/usr/bin/env python #-*- coding: utf-8 -*- #comment: zabbix接入微信报警脚本 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('/usr/lib/zabbix/alertscripts','weixin.log'), filemode = 'a') corpid='企业微信后台可查看' appsecret='企业微信后台可查看' agentid=1 #获取accesstoken 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] #toparty='3|4|5|6' message=sys.argv[3] params={ "touser": touser, # "toparty": toparty, "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)

3、zabbix中配置报警媒介和动作

zabbix接收snmp trap

有些比较老的监控系统,其告警无法支持微信,如果其能够支持发送snmp trap,那就可以通过zabbix进行微信告警。

我们以一个比较老的solarwinds为例,这个还是2011年的版本,那时候压根儿还没有微信。

1、找到send snmp trap功能

2、定义snmp trap 目标,这里就是zabbix的IP了

3、zabbix上的配置

首先在zabbix的源码包里找到zabbix_trap_receiver.pl

# cp zabbix-3.4.14/misc/snmptrap/zabbix_trap_receiver.pl # chmod +x zabbix_trap_receiver.pl # vi /etc/snmp/snmptrapd.conf authCommunity execute SolarWinds perl do "/usr/bin/zabbix_trap_receiver.pl"; # vi /etc/zabbix/zabbix_server.conf SNMPTrapperFile=/home/zabbix_traps.tmp StartSNMPTrapper=1