diff --git a/flask-consul/units/cloud/huaweicloud.py b/flask-consul/units/cloud/huaweicloud.py index cf0f622..7236927 100644 --- a/flask-consul/units/cloud/huaweicloud.py +++ b/flask-consul/units/cloud/huaweicloud.py @@ -155,6 +155,17 @@ def ecs(account,region,isextip=False): 'mem':f"{str(round(int(i['flavor']['ram'])/1024,1)).rstrip('.0')}GB", 'exp': '-' } for i in info} + + if isextip: + for i in info: + try: + pubip_list = [x.addr for x in i['addresses'][i['metadata']['vpc_id']] if 'floating' in str(x)] + if pubip_list: + ecs_dict[i['id']]['ip'] = pubip_list[0] + else: + pass + except: + pass count = len(ecs_dict) off,on = sync_ecs.w2consul('huaweicloud',account,region,ecs_dict) data = {'count':count,'update':now,'status':20000,'on':on,'off':off,'msg':f'ECS同步成功!总数:{count},开机:{on},关机:{off}'} diff --git a/flask-consul/units/cloud/tencent_cloud.py b/flask-consul/units/cloud/tencent_cloud.py index db89f50..3d5b2ac 100644 --- a/flask-consul/units/cloud/tencent_cloud.py +++ b/flask-consul/units/cloud/tencent_cloud.py @@ -131,11 +131,13 @@ def ecs(account,region,isextip=False): offset = 0 total = 0 ecs_dict = {} + ecs_list_temp = [] while offset <= total: params = {"Offset": offset, "Limit": 100} req.from_json_string(json.dumps(params)) resp = client.DescribeInstances(req) ecs_list = resp.InstanceSet + ecs_list_temp.extend(ecs_list) total = resp.TotalCount ecs_dict_temp = {i.InstanceId:{'name':i.InstanceName,'group':group_dict.get(str(i.Placement.ProjectId),'无'), 'ostype': 'windows' if 'win' in i.OsName.lower() else 'linux', @@ -146,6 +148,16 @@ def ecs(account,region,isextip=False): offset = offset + 100 ecs_dict.update(ecs_dict_temp) + if isextip: + for i in ecs_list_temp: + try: + if i.PublicIpAddresses: + ecs_dict[i.InstanceId]['ip'] = i.PublicIpAddresses[0] + else: + pass + except: + pass + count = len(ecs_dict) off,on = sync_ecs.w2consul('tencent_cloud',account,region,ecs_dict) data = {'count':count,'update':now,'status':20000,'on':on,'off':off,'msg':f'ECS同步成功!总数:{count},开机:{on},关机:{off}'} diff --git a/vue-consul/src/views/node-exporter/jobs.vue b/vue-consul/src/views/node-exporter/jobs.vue index 8643b8b..37387b0 100644 --- a/vue-consul/src/views/node-exporter/jobs.vue +++ b/vue-consul/src/views/node-exporter/jobs.vue @@ -127,8 +127,8 @@ REDIS - - (仅支持阿里云ECS) + + (仅支持ECS) @@ -202,8 +202,8 @@ REDIS - - (仅支持阿里云ECS) + + (仅支持ECS)