diff --git a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/CloudLbService.java b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/CloudLbService.java index 223b554..ffcc2df 100644 --- a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/CloudLbService.java +++ b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/CloudLbService.java @@ -1,9 +1,6 @@ package com.monitor.cloudtools.service; -import com.monitor.cloudtools.model.CommElbInfoResponse; -import com.monitor.cloudtools.model.CommLbInstances; import com.monitor.model.domain.ElbInfo; -import com.monitor.model.response.BaseResponse; import java.util.List; @@ -13,12 +10,6 @@ import java.util.List; public interface CloudLbService { //void getLbInstances(int cloudType); - /** - * 组装数据返回 - * @param instances - * @return - */ - List<CommElbInfoResponse> getElbInfos(List<CommLbInstances> instances); List<ElbInfo> getElbInfoFromDb(int cloudType); } \ No newline at end of file diff --git a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/impl/CloudLbServiceImpl.java b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/impl/CloudLbServiceImpl.java index 988aa97..24ee935 100644 --- a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/impl/CloudLbServiceImpl.java +++ b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/service/impl/CloudLbServiceImpl.java @@ -1,26 +1,12 @@ package com.monitor.cloudtools.service.impl; -import com.model.InternalDomain; -import com.monitor.awstools.service.AwsLbService; -import com.monitor.awstools.service.AwsQueryService; -import com.monitor.cloudtools.model.*; import com.monitor.cloudtools.service.CloudLbService; -import com.monitor.cloudtools.util.DnsPodUtil; -import com.monitor.model.domain.DomainInfo; import com.monitor.model.domain.ElbInfo; -import com.monitor.model.domain.InstanceInfo; -import com.monitor.mysql.mapper.InternalDomainMapper; -import com.monitor.qcloudtools.service.QcloudLbService; -import com.monitor.qcloudtools.service.QcloudToolService; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; /** @@ -31,201 +17,6 @@ import java.util.List; public class CloudLbServiceImpl implements CloudLbService { public static final Logger logger = LoggerFactory.getLogger("cloudLbLogger"); - @Autowired - private InternalDomainMapper internalDomainMapper; - - @Autowired - private ElbInfoImpl elbInfoImpl; - - @Autowired - private DomainInfoImpl domainInfoImpl; - - @Autowired - private InstanceInfoImpl instanceInfoImpl; - - /** - * 腾讯云 - */ - @Autowired - private QcloudToolService qCloudToolService; - - /** - * 亚马逊云 - */ - @Autowired - private AwsLbService awsLbService; - - /** - * 腾讯云 - */ - @Autowired - private QcloudLbService qcloudLbService; - - /** - * 亚马逊云 - */ - @Autowired - private AwsQueryService awsQueryService; - - private static final String EQUALS_NAME = "nginx"; - - //@Scheduled(cron = "${cron_elb_info_scan}") - public void getLbInstances() { - List<CommLbInstances> instances = new ArrayList<>(); - List<CommLbInstances> instances_aws = awsLbService.getLbInstances(); - List<CommLbInstances> instances_qq = qcloudLbService.getLbInstances(); - if(CollectionUtils.isNotEmpty(instances_aws)){ - instances.addAll(instances_aws); - } - if(CollectionUtils.isNotEmpty(instances_qq)){ - instances.addAll(instances_qq); - } - getElbInfos(instances); - } - - /** - * 组装数据返回 - * @param instances - * @return - */ - @Override - public List<CommElbInfoResponse> getElbInfos(List<CommLbInstances> instances) { - List<CommElbInfoResponse> listResponse = null; - CommElbInfoResponse response = null; - List<CommElbInfoResponse> newListResponse = null; - - try{ - if(CollectionUtils.isEmpty(instances)){ - return null; - } - listResponse = new ArrayList<>(); - - //1:删除表记录 - elbInfoImpl.deleteAll(); - domainInfoImpl.deleteAll(); - - List<DnsPodRes> listRes1 = DnsPodUtil.getDnsPod1(); - List<DnsPodRes> listRes2 = DnsPodUtil.getDnsPod2(); - - List<CommAutoScalingGroup> autoScalingGroups = new ArrayList<>(); - List<CommAutoScalingGroup> autoScalingGroups_aws = awsQueryService.autoScalingConfig(EQUALS_NAME); - List<CommAutoScalingGroup> autoScalingGroups_qq = qCloudToolService.getAutoScalingConfig(EQUALS_NAME); - if(CollectionUtils.isNotEmpty(autoScalingGroups_aws)){ - autoScalingGroups.addAll(autoScalingGroups_aws); - } - if(CollectionUtils.isNotEmpty(autoScalingGroups_qq)){ - autoScalingGroups.addAll(autoScalingGroups_qq); - } - - List<CommAutoScalingInstances> listScalingInstance = null; - if(CollectionUtils.isNotEmpty(autoScalingGroups)){ - listScalingInstance = new ArrayList<>(); - for(CommAutoScalingGroup group : autoScalingGroups){ - if(CollectionUtils.isEmpty(group.getScalingInstancess())){ - listScalingInstance.addAll(group.getScalingInstancess()); - } - } - } - - for(CommLbInstances instance : instances){ - //域名获取 - List<String> commDomains = new ArrayList<>(); - if(instance.getNetType() == 0){ - //内网 - List<InternalDomain> domains = internalDomainMapper.selectByValue(instance.getAddress()); - if(CollectionUtils.isNotEmpty(domains)){ - for(InternalDomain domain : domains){ - if(commDomains.contains(domain.getName() + "." + domain.getDomain())){ - continue; - } - commDomains.add(domain.getName() + "." + domain.getDomain()); - } - } - }else{ - //外网 - for(DnsPodRes res : listRes1){ - if(res.getValue().indexOf(instance.getAddress()) > -1){ - commDomains.add(res.getName() + "." + "yoho.cn"); - } - } - for(DnsPodRes res : listRes2){ - if(res.getValue().indexOf(instance.getAddress()) > -1){ - commDomains.add(res.getName() + "." + "yohobuy.com"); - } - } - } - instance.setDomains(commDomains); - - //插入数据库 - //1:domain - List<Integer> domainIds = null; - List<DomainInfo> domainInfos = null; - if(CollectionUtils.isNotEmpty(commDomains)){ - domainIds = new ArrayList<>(); - domainInfos = new ArrayList<>(); - for(String domain : commDomains){ - DomainInfo domainInfo = new DomainInfo(); - domainInfo.setName(domain); - int id = domainInfoImpl.insert(domainInfo); - domainIds.add(id); - domainInfo.setId(id); - domainInfos.add(domainInfo); - } - } - String tags = null; - //2:instance - List<Integer> instanceIds = null; - List<InstanceInfo> instanceInfos = null; - if(CollectionUtils.isNotEmpty(instance.getBackends())){ - instanceIds = new ArrayList<>(); - instanceInfos = new ArrayList<>(); - for (CommLbBackends backend : instance.getBackends()){ - InstanceInfo instanceInfo = new InstanceInfo(); - instanceInfo.setCloudType(instance.getCloudType()); - instanceInfo.setCode(backend.getInstanceId()); - instanceInfo.setIp(backend.getLanIp()); - - if(CollectionUtils.isNotEmpty(listScalingInstance)){ - for(CommAutoScalingInstances scalingInstance : listScalingInstance){ - if(backend.getLanIp().equals(scalingInstance.getIp())){ - instanceInfo.setTag(EQUALS_NAME); - } - } - } - - InstanceInfo newInfo = instanceInfoImpl.insert(instanceInfo); - tags = newInfo.getTag(); - instanceIds.add(newInfo.getId()); - instanceInfo.setId(newInfo.getId()); - instanceInfos.add(instanceInfo); - } - } - ElbInfo elbInfo = new ElbInfo(); - elbInfo.setCloudType(instance.getCloudType()); - elbInfo.setName(instance.getName()); - elbInfo.setNetType(instance.getNetType()); - elbInfo.setAddress(instance.getAddress()); - elbInfo.setPorts(StringUtils.join(instance.getPorts(), ',')); - int elbId = elbInfoImpl.insert(elbInfo, domainIds, instanceIds); - elbInfo.setId(elbId); - - response = new CommElbInfoResponse(); - response.setId(elbInfo.getId()); - response.setCloudType(elbInfo.getCloudType()); - response.setName(elbInfo.getName()); - response.setNetType(elbInfo.getNetType()); - response.setAddress(elbInfo.getAddress()); - response.setPorts(elbInfo.getPorts()); - response.setTags(tags); - listResponse.add(response); - } - }catch (Exception e){ - logger.error("CloudLbServiceImpl - getElbInfos - error", e); - } - - return listResponse; - } - @Override public List<ElbInfo> getElbInfoFromDb(int cloudType) { try{ diff --git a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/util/DnsPodUtil.java b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/util/DnsPodUtil.java index 9fccbe8..0c8fea2 100644 --- a/monitor-service-awstools/src/main/java/com/monitor/cloudtools/util/DnsPodUtil.java +++ b/monitor-service-awstools/src/main/java/com/monitor/cloudtools/util/DnsPodUtil.java @@ -1,13 +1,6 @@ package com.monitor.cloudtools.util; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.monitor.cloudtools.model.DnsPodRes; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.List; @@ -16,29 +9,12 @@ import java.util.List; * Created by xh on 2017/6/14. */ public class DnsPodUtil { - public static final Logger logger = LoggerFactory.getLogger("cloudLbLogger"); - - private static String login_token="31578,5f5402160468dc375159e2e94eeef1da"; - - private static String format = "json"; /** * yoho.cn */ public static List<DnsPodRes> getDnsPod1(){ List<DnsPodRes> listRes = new ArrayList<>(); - MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>(); - requestEntity.add("login_token", login_token); - requestEntity.add("format",format); - requestEntity.add("domain_id", "16862974"); - try{ - RestTemplate restTemplate = new RestTemplate(); - String yoho = restTemplate.postForObject("https://dnsapi.cn/Record.List", requestEntity, String.class); - JSONObject responseJSON = JSONObject.parseObject(yoho); - listRes = JSON.parseArray(responseJSON.getString("records"), DnsPodRes.class); - }catch (Exception e){ - logger.error(" - DnsPodUtil - getDnsPod1 - error", e); - } return listRes; } @@ -48,7 +24,7 @@ public class DnsPodUtil { */ public static List<DnsPodRes> getDnsPod2(){ List<DnsPodRes> listRes = new ArrayList<>(); - MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>(); + /*MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>(); requestEntity.add("login_token", login_token); requestEntity.add("format",format); requestEntity.add("domain_id", "20765505"); @@ -59,8 +35,7 @@ public class DnsPodUtil { listRes = JSON.parseArray(responseJSON.getString("records"), DnsPodRes.class); }catch (Exception e){ logger.error(" - DnsPodUtil - getDnsPod2 - error", e); - } - + }*/ return listRes; } } \ No newline at end of file