监控网站是否可访问并钉钉告警
我们有大概几万个域名,一直没有思路来怎么监控网站的健康情况,今天大佬提了一下,所有域名解析在同一个负载均衡器上,如果是服务器或者负载均衡器引发的业务故障,那就说明所有的域名都会受到影响,那么我只需要监控其中的一个或者固定几个域名的健康即可,简单用python3 撸了个脚本
#!/usr/bin/python3
# author@wugf
import os
import sys
import subprocess
import configparser
# 钉钉消息通知
def dingtalk(request_url, message):
    import requests
    import json
    #  请求地址
    shell = True
    post_url = request_url
    #  消息头部
    shell = True
    headers = {'Content-Type': 'application/json'}
    # 消息主体
    shell = True
    data =  {
    "msgtype": "text",
     "text": {
         "content": message
     }
    }
    # 使用post请求推送消息
    shell = True
    requests.post(post_url, data=json.dumps(data), headers=headers)
request_url = '填写钉钉机器人的地址'
domain_list = ["www.testbbbai334du.com", "yallho.com"]
for domain in domain_list:
    res = subprocess.call("ping " + domain, shell=True)
    if res != 0: 
        dingtalk(request_url ,domain + "异常")