kboss/b/capital/instance_monitor.dspy
2025-07-16 14:27:17 +08:00

37 lines
1.2 KiB
Plaintext

async def instance_monitor(ns={}):
"""
云服务器监控
"""
import aiohttp
ecs_url = 'http://api.capitalonline.net/ecs/v1'
action = "DescribeInstanceMonitor"
method = "POST"
body = {
"EcsId": ns.get("EcsId"),
"StartTime": ns.get("StartTime"),
"EndTime": ns.get("EndTime"),
"Indicators": json.loads(ns.get("Indicators")) if ns.get("Indicators") else [],
}
param = {}
url = get_signature(action, method, ecs_url, param)
async with aiohttp.ClientSession() as session:
async with session.request(method, url, json=body) as response:
resp = await response.text()
result = json.loads(resp)
if 'Message' in result.keys():
key_word = 'Message'
else:
key_word = 'Msg'
if result['Code'] == 'Success':
result['status'] = True
result.pop('Code')
result['data'] = result.pop('Data')
result['msg'] = result.pop(key_word)
else:
result['status'] = False
result['msg'] = result.pop(key_word)
return result
ret = await instance_monitor(params_kw)
return ret