国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

0基礎(chǔ)上手python編程,實(shí)踐URL監(jiān)控+企業(yè)微信機(jī)器人告警

2023-05-11 20:36 作者:王忘杰-王土狗  | 我要投稿

全民制作人大家好,我是學(xué)習(xí)python兩天半的練習(xí)生王忘杰,喜歡路由交換、linux、網(wǎng)絡(luò)安全,開(kāi)整!這是我的第二篇0基礎(chǔ)python文章,請(qǐng)大家支持,謝謝~

開(kāi)發(fā)思路
用于監(jiān)控指定的URL,在我的場(chǎng)景中,我是從騰訊VPS上監(jiān)控公司寬帶出口,當(dāng)URL訪問(wèn)超時(shí)時(shí),即為寬帶故障。
設(shè)計(jì)思路很簡(jiǎn)單,訪問(wèn)失敗發(fā)送告警,訪問(wèn)成功發(fā)送恢復(fù)通知,同時(shí)要使用配置文件進(jìn)行配置,防止持續(xù)重復(fù)告警。

繪制開(kāi)發(fā)流程圖

圖片

使用python語(yǔ)言實(shí)現(xiàn)

#!/usr/bin/python3
import requests
import time
import json
import os


# 監(jiān)測(cè)URL是否正常響應(yīng)
def url_check(url):
? ?# 當(dāng)前時(shí)間
? ?check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
? ?try:
? ? ? ?# 請(qǐng)求URL, 設(shè)置3s超時(shí), 忽略SSL證書(shū)
? ? ? ?r = requests.get(url, timeout=3, verify=False)
? ? ? ?if r.status_code == 200:
? ? ? ? ? ?fo = open(config,"r")
? ? ? ? ? ?line = fo.read(1)
? ? ? ? ? ?print(line)
? ? ? ? ? ?#判斷配置文件內(nèi)容
? ? ? ? ? ?if line == "1":
? ? ? ? ? ? ? ?print("發(fā)送報(bào)警")
? ? ? ? ? ? ? ?fo.close()
? ? ? ? ? ? ? ?fo = open(config, "w")
? ? ? ? ? ? ? ?fo.write('0')
? ? ? ? ? ? ? ?print("配置重置為0")
? ? ? ? ? ? ? ?# 請(qǐng)求響應(yīng)狀態(tài)
? ? ? ? ? ? ? ?msg = "監(jiān)控的URL:%s%sURL恢復(fù)狀態(tài)正常:%s%s監(jiān)測(cè)時(shí)間:%s" % (
? ? ? ? ? ? ? ?url, "\n\n", r.status_code, "\n\n", check_time)
? ? ? ? ? ? ? ?# 推送消息
? ? ? ? ? ? ? ?yun_push(msg)
? ? ? ? ? ?else:
? ? ? ? ? ? ? ?print("當(dāng)前配置為",line)
? ? ? ? ? ? ? ?fo = open(config, "w")
? ? ? ? ? ? ? ?fo.write('0')
? ? ? ? ? ? ? ?print("配置重置為0")
? ? ? ?else:
? ? ? ? ? ?fo = open(config, "r")
? ? ? ? ? ?line = fo.read(1)
? ? ? ? ? ?print(line)
? ? ? ? ? ?if line == "1":
? ? ? ? ? ? ? ?print("退出程序")
? ? ? ? ? ?else:
? ? ? ? ? ? ? ?print("發(fā)送報(bào)警")
? ? ? ? ? ? ? ?fo.close()
? ? ? ? ? ? ? ?fo = open(config, "w")
? ? ? ? ? ? ? ?fo.write('1')
? ? ? ? ? ? ? ?print("配置重置為1")
? ? ? ? ? ? ? ?# 請(qǐng)求響應(yīng)狀態(tài)
? ? ? ? ? ? ? ?msg = "監(jiān)控的URL:%s%sURL訪問(wèn)異常:%s%s監(jiān)測(cè)時(shí)間:%s" % (
? ? ? ? ? ? ? ? ? ?url, "\n\n", r.status_code, "\n\n", check_time)
? ? ? ? ? ? ? ?# 推送消息
? ? ? ? ? ? ? ?yun_push(msg)
? ?except:
? ? ? ?fo = open(config, "r")
? ? ? ?line = fo.read(1)
? ? ? ?print(line)
? ? ? ?if line == "1":
? ? ? ? ? ?print("退出程序")
? ? ? ?else:
? ? ? ? ? ?print("發(fā)送報(bào)警")
? ? ? ? ? ?fo.close()
? ? ? ? ? ?fo = open(config, "w")
? ? ? ? ? ?fo.write('1')
? ? ? ? ? ?print("配置重置為1")
? ? ? ? ? ?# 請(qǐng)求響應(yīng)狀態(tài)
? ? ? ? ? ?msg = "監(jiān)控的URL:%s%sURL訪問(wèn)失敗,無(wú)法連接%s監(jiān)測(cè)時(shí)間:%s" % (
? ? ? ? ? ? ? ?url, "\n\n", "\n\n", check_time)
? ? ? ? ? ?# 推送消息
? ? ? ? ? ?yun_push(msg)

def yun_push(content):
? ?url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=用自己的'
? ?s = json.dumps({'msgtype': 'text', 'text': {"content" : content}})
? ?print(requests.post(url, data=s).text)

if __name__ == '__main__':
? ?#判斷配置文件是否存在,不存在則生成配置文件并退出,配置文件則存在執(zhí)行
? ?config = './baidu.config'
? ?if not os.path.exists(config):
? ? ? ?print("配置文件不存在")
? ? ? ?file = open(config,'w')
? ? ? ?file.close()
? ? ? ?print("配置文件已生成")
? ?else:
? ? ? ?print("配置文件存在,執(zhí)行URL檢測(cè)")
? ? ? ?url_check("https://www.baidu.com/")

運(yùn)行效果

圖片

正式使用
在VPS部署python腳本,并設(shè)置定時(shí)任務(wù)即可


0基礎(chǔ)上手python編程,實(shí)踐URL監(jiān)控+企業(yè)微信機(jī)器人告警的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
金湖县| 德清县| 海阳市| 建湖县| 襄城县| 东辽县| 玉林市| 孝义市| 内江市| 蕉岭县| 内丘县| 莱西市| 铜鼓县| 章丘市| 遂川县| 上栗县| 伽师县| 安龙县| 都江堰市| 贵德县| 萨嘎县| 江口县| 北海市| 南乐县| 西乌珠穆沁旗| 建始县| 高青县| 宕昌县| 琼海市| 南丰县| 康定县| 池州市| 康保县| 云南省| 枣庄市| 金平| 罗城| 安阳市| 濉溪县| 浦江县| 绵竹市|