首页 >>  正文

if+0

来源:baiyundou.net   日期:2024-08-26

作者:王忘杰

全民制作人大家好,我是学习python两天半的练习生王忘杰,喜欢路由交换、linux、网络安全,开整!这是我的第二篇0基础python文章,请大家支持,谢谢~

开发思路
用于监控指定的URL,在我的场景中,我是从腾讯VPS上监控公司宽带出口,当URL访问超时时,即为宽带故障。
设计思路很简单,访问失败发送告警,访问成功发送恢复通知,同时要使用配置文件进行配置,防止持续重复告警。

绘制开发流程图


使用python语言实现

#!/usr/bin/python3import requests
import time
import json
import os# 监测URL是否正常响应def url_check(url):    # 当前时间    check_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
   try:        # 请求URL, 设置3s超时, 忽略SSL证书        r = requests.get(url, timeout=3, verify=False)
       if r.status_code == 200:
           fo = open(config,"r")
           line = fo.read(1)
           print(line)            #判断配置文件内容            if line == "1":
               print("发送报警")
               fo.close()
               fo = open(config, "w")
               fo.write('0')
               print("配置重置为0")                # 请求响应状态                msg = "监控的URL:%s%sURL恢复状态正常:%s%s监测时间:%s" % (
               url, "nn", r.status_code, "nn", check_time)                # 推送消息                yun_push(msg)
           else:
               print("当前配置为",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("发送报警")
               fo.close()
               fo = open(config, "w")
               fo.write('1')
               print("配置重置为1")                # 请求响应状态                msg = "监控的URL:%s%sURL访问异常:%s%s监测时间:%s" % (
                   url, "nn", r.status_code, "nn", check_time)                # 推送消息                yun_push(msg)
   except:
       fo = open(config, "r")
       line = fo.read(1)
       print(line)
       if line == "1":
           print("退出程序")
       else:
           print("发送报警")
           fo.close()
           fo = open(config, "w")
           fo.write('1')
           print("配置重置为1")            # 请求响应状态            msg = "监控的URL:%s%sURL访问失败,无法连接%s监测时间:%s" % (
               url, "nn", "nn", 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__':    #判断配置文件是否存在,不存在则生成配置文件并退出,配置文件则存在执行    config = './baidu.config'
   if not os.path.exists(config):
       print("配置文件不存在")
       file = open(config,'w')
       file.close()
       print("配置文件已生成")
   else:
       print("配置文件存在,执行URL检测")
       url_check("https://www.baidu.com/")

运行效果


正式使用
在VPS部署python脚本,并设置定时任务即可


查看文章精彩评论,请前往什么值得买进行阅读互动

","gnid":"96c6a833d821e0468","img_data":[{"flag":2,"img":[{"desc":"","height":"274","title":"","url":"https://p0.ssl.img.360kuai.com/t015394727360c3cdc6.jpg","width":"600"},{"desc":"","height":"616","title":"","url":"https://p0.ssl.img.360kuai.com/t016ff92dc7f2116c3c.jpg","width":"359"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1683810195000,"pure":"","rawurl":"http://zm.news.so.com/41b69145e2771cb08cd67bac9f05abc6","redirect":0,"rptid":"4cdf902d8b0d23e5","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:机器人","k":"机器人","u":""}],"title":"0基础上手python编程,实践URL监控+企业微信机器人告警

缪符巧631求大神指导用泰勒公式求Iim(1 - x^2 - e^( - x^2/2))/(x^2(x+In(1 - x)))! -
翁秀诚19385472672 ______ 解法如下:此题应该注明x→0,根据麦克劳林公式:e^x=1+x+(1/2)x^2+(1/6)x^3+o(x^3)将上面x换成-x^2/2:e^(-x^2/2)=1-x^2/2+(1/8)x^4-(1/48)x^6+o(x^7)ln(1-x)=-x-(1/2)x^2-(1/3)x^3+o(x^3)代入原式可得:分子=-(1/2)x^2-(1/8)x^4+(1/48)x^6+o(x^7...

缪符巧631It is no use+doing为什么?It is no good+doing是为什么 -
翁秀诚19385472672 ______ it 是形式主语,doing 为真正主语.is是连系动词,no use和no good是表语.如:It is no use arguing with him. 和他争论无用.It's no good walking too much. 走路太多没有好处.

缪符巧631C语言 int x[][3]={{0},{1},{123}}; 花括号内的写法对么?如果正确,这个数组的具体元素是什么样子的? -
翁秀诚19385472672 ______ int x[][3] ={ {0}, {1}, {123} }; 没有定义行数,根据初始化的参数看出,是一个三行三列的二维数组{0}是第一行...

缪符巧631设f(x)=x4+ax3+2x2+b(x属于R),其中a,b属于R.若函数f(x)仅在x=0处有极值,求a的取值范围? -
翁秀诚19385472672 ______ a≤8/3 因为他说只有一个解 ,你求导之后提出个X 你会发现是个2次函数 要求有且只有一个只需要判别式≤0

缪符巧631已知集合A={X|0<X - a<=5}B={X| - a\2<x<=6},A B能否相等?若能,求出a的值.若不能,说明理由 -
翁秀诚19385472672 ______ A={X|a<X<=5+a},B={X|-a\2<x<=6},若A B相等,则5+a=6,a=-a\2,无解.否定.A B不能相等.

缪符巧631for i = 1 to 3 for j = 1 to 3 a (i,j)=i+j next j a(i,j)= i*j next i for i = 1 to 4 for j = 1 to 4 -
翁秀诚19385472672 ______ 我给你详细的说一下:print ("*") 窗体上会打印一个*号,然后换行不要换行的话要后面用个;好(分号)print("*");祝你好运!

缪符巧631excel中的if函数,=if(a1<>0,1,0)+if(a2<>0,1,0)+if(a3<>0,1,0)+....怎么简写,谢谢 -
翁秀诚19385472672 ______ 直接用countif就好了,不等于0就计数.=COUNTIF(A:A,"<>0")

缪符巧631=IF(A3=0,0,IF(TODAY()>0,IF(A3+15 - TODAY()>0,"剩余"&A3+15 - TODAY()&"天","过期"&TODAY() - (A3+15)&""),)) -
翁秀诚19385472672 ______ IF函数为IF(X,Y,Z),X是判断语句,本题第一示判断A3是否为0 Y是若X成立时的表达式,本题第一个IF函数中为0,表示若A3为0,则显示0 Z是若X不成立时的表达式,本题第一个IF函数中为IF(TODAY()>0,IF(A3+15-TODAY()>0,"剩余"&A3+15-TODAY()&"天","过期"&TODAY()-(A3+15)&""),),表示若A3不为0,则判断这个表达式 以此类推

缪符巧631若a+b=0则a与b的关系是 -
翁秀诚19385472672 ______ 因为 a + b = 0 所以 a 与 b 互为相反数

缪符巧631=IF(L10>5,(L10 - 5)*10+5*5,IF(0<L10<=5,L10*5,IF(L10<=0,0))) 请教:这个函数,针对1 - 5的数,竟然不管用. -
翁秀诚19385472672 ______ =IF(L10>5,(L10-5)*10+5*5,IF(L10>0,L10*5,0)) EXCEL不认识“0<L10<=5”这种表达形式,改为“AND(L10>0,L10<=5)”.不过你这个公式可省一点,按上面的就行.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024