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
在這裏插入圖片描述
此處的 $1zabbix_server端配置自定義監控項時的key值,必須與腳本中傳入的參數相對應,否則取數據將出錯

3.重啓zabbix-agent服務,

service zabbix-agent restart

如何驗證自定義key生效:

(1)安裝zabbix_get
不會安裝zabbix_get,請點擊我

(2)配置agentkey能被本機獲取,默認是沒有的
vim zabbix_agentd.conf在這裏插入圖片描述
重啓agent端服務

(3)測試

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

正常登錄,獲取到我代碼裏想要的信息。
這裏我代碼裏設置若正常登錄則返回1,zabbix就此作爲報警判斷依據
這裏我代碼裏設置若正常登錄則返回1,zabbix也可以將此作爲判斷依據

三、zabbix_server端配置
我這裏將所有的模擬登錄監控項新建了一個模板,若你們網站不多的話,不需要新建模板
在這裏插入圖片描述
配置監控項:
在這裏插入圖片描述
這裏添加完一個監控項之後,其他的可以克隆,但還是需要更改對應的key值,工作量還是很大的
在這裏插入圖片描述
配置觸發器:
在這裏插入圖片描述
若最後一次獲取的值等於0 則就是模擬登錄失敗,發送報警信息到手機
在這裏插入圖片描述
進行標記
在這裏插入圖片描述
將此模板鏈接到之前存放腳本並配置的agent服務器上
在這裏插入圖片描述
配置完成之後點擊監測-最新數據-找到主機,等待五分鐘,我們看到已經獲取到數據
在這裏插入圖片描述

在這裏插入圖片描述

接下來就是告警信息的發送了
依次點擊 配置–動作
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

接下來就是報警媒介的設置
在這裏插入圖片描述
在這裏插入圖片描述

四、至此,全部大功告成,截幾張報警的圖給大家瞅瞅
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章