zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警

一、基础环境:

   zabbix
   python3
   linux

二、源码及其配置
1.zabbix_agent 端配置模拟登录脚本
将脚本放置在/etc/zabbix/

cat mem_login.py

#!/bin/python
import requests,json,time,sys
url_mem={
'公网记忆':'http://memo.mintxxxxx.com/Mintel/servlet/getUserRecord?userId=xxxxxx',
'用户中心':'http://usercenter.xxx.com/user_xxxxxx/',
'C端记忆':'http://c.quizii.com/xxxxx/servlet/getUserRecord?userId=xxxxxxx',
}
def Login(key,url):
	ls = []
	c=0
	if key != '用户中心':
		for i in range(5):
			try:
				r = requests.get(url, timeout=10)
				a=r.text.find('新标准高中必修1(2007)')
			except Exception as e:
				ls.append(0)
				continue
			if a != -1:
				ls.append(1)
			else:
				ls.append(0)
	elif key == '用户中心':
		for i in range(5):
			try:
				r = requests.get(url, timeout=10)
				a=r.text.find('用户中心欢迎你')
			except Exception as e:
				ls.append(0)
				continue
			if a != -1:
				ls.append(1)
			else:
				ls.append(0)
	for v in ls:
		if v == 1:
			return 1
			break
		else:
			c =c+1
	#print (c)
	if c == 5:
		return 0
def main(key):
		url = url_mem[key]
		app = Login(key,url)
		print(app)
main(key=sys.argv[1])

2.自定义zabbix key
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第1张图片
此处的 $1zabbix_server端配置自定义监控项时的key值,必须与脚本中传入的参数相对应,否则取数据将出错

3.重启zabbix-agent服务,

service zabbix-agent restart

如何验证自定义key生效:

(1)安装zabbix_get
不会安装zabbix_get,请点击我

(2)配置agentkey能被本机获取,默认是没有的
vim zabbix_agentd.confzabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第2张图片
重启agent端服务

(3)测试

[root@testMintel zabbix]# zabbix_get -s 127.0.0.1 -p 10050 -k "mem.status[用户中心]"
1

正常登录,获取到我代码里想要的信息。
这里我代码里设置若正常登录则返回1,zabbix就此作为报警判断依据
这里我代码里设置若正常登录则返回1,zabbix也可以将此作为判断依据

三、zabbix_server端配置
我这里将所有的模拟登录监控项新建了一个模板,若你们网站不多的话,不需要新建模板
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第3张图片
配置监控项:
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第4张图片
这里添加完一个监控项之后,其他的可以克隆,但还是需要更改对应的key值,工作量还是很大的
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第5张图片
配置触发器:
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第6张图片
若最后一次获取的值等于0 则就是模拟登录失败,发送报警信息到手机
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第7张图片
进行标记
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第8张图片
将此模板链接到之前存放脚本并配置的agent服务器上
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第9张图片
配置完成之后点击监测-最新数据-找到主机,等待五分钟,我们看到已经获取到数据
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第10张图片

zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第11张图片

接下来就是告警信息的发送了
依次点击 配置–动作
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第12张图片
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第13张图片
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第14张图片

接下来就是报警媒介的设置
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第15张图片
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第16张图片

四、至此,全部大功告成,截几张报警的图给大家瞅瞅
zabbix+python3+微信api实现网站5分钟模拟登录一次,登录失败发送报警_第17张图片

你可能感兴趣的:(Zabbix)