我们有大概几万个域名,一直没有思路来怎么监控网站的健康情况,今天大佬提了一下,所有域名解析在同一个负载均衡器上,如果是服务器或者负载均衡器引发的业务故障,那就说明所有的域名都会受到影响,那么我只需要监控其中的一个或者固定几个域名的健康即可,简单用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 + "异常")