发布时间:2025-12-09 12:05:49 浏览次数:1
import com.netflix.eureka.util.StatusInfo; //导入依赖的package包/类private Map<String, Object> getEurekaStatus() { Map<String, Object> stats = new HashMap<>(); stats.put("time", new Date()); stats.put("currentTime", StatusResource.getCurrentTimeAsString()); stats.put("upTime", StatusInfo.getUpTime()); stats.put("environment", ConfigurationManager.getDeploymentContext() .getDeploymentEnvironment()); stats.put("datacenter", ConfigurationManager.getDeploymentContext() .getDeploymentDatacenter()); PeerAwareInstanceRegistry registry = getRegistry(); stats.put("isBelowRenewThreshold", registry.isBelowRenewThresold() == 1); populateInstanceInfo(stats); return stats; } import com.netflix.eureka.util.StatusInfo; //导入依赖的package包/类private void populateInstanceInfo(Map<String, Object> model) { StatusInfo statusInfo; try { statusInfo = new StatusResource().getStatusInfo(); } catch (Exception e) { log.error(e.getMessage()); statusInfo = StatusInfo.Builder.newBuilder().isHealthy(false).build(); } if (statusInfo != null && statusInfo.getGeneralStats() != null) { model.put("generalStats", statusInfo.getGeneralStats()); } if (statusInfo != null && statusInfo.getInstanceInfo() != null) { InstanceInfo instanceInfo = statusInfo.getInstanceInfo(); Map<String, String> instanceMap = new HashMap<>(); instanceMap.put("ipAddr", instanceInfo.getIPAddr()); instanceMap.put("status", instanceInfo.getStatus().toString()); model.put("instanceInfo", instanceMap); } } import com.netflix.eureka.util.StatusInfo; //导入依赖的package包/类@RequestMapping(method = RequestMethod.GET)public String status(HttpServletRequest request, Map<String, Object> model) {populateBase(request, model);populateApps(model);StatusInfo statusInfo;try {statusInfo = new StatusResource().getStatusInfo();}catch (Exception e) {statusInfo = StatusInfo.Builder.newBuilder().isHealthy(false).build();}model.put("statusInfo", statusInfo);populateInstanceInfo(model, statusInfo);filterReplicas(model, statusInfo);return "eureka/status";} import com.netflix.eureka.util.StatusInfo; //导入依赖的package包/类private void populateHeader(Map<String, Object> model) {model.put("currentTime", StatusResource.getCurrentTimeAsString());model.put("upTime", StatusInfo.getUpTime());model.put("environment", ConfigurationManager.getDeploymentContext().getDeploymentEnvironment());model.put("datacenter", ConfigurationManager.getDeploymentContext().getDeploymentDatacenter());PeerAwareInstanceRegistry registry = getRegistry();model.put("registry", registry);model.put("isBelowRenewThresold", registry.isBelowRenewThresold() == 1);DataCenterInfo info = applicationInfoManager.getInfo().getDataCenterInfo();if (info.getName() == DataCenterInfo.Name.Amazon) {AmazonInfo amazonInfo = (AmazonInfo) info;model.put("amazonInfo", amazonInfo);model.put("amiId", amazonInfo.get(AmazonInfo.MetaDataKey.amiId));model.put("availabilityZone",amazonInfo.get(AmazonInfo.MetaDataKey.availabilityZone));model.put("instanceId", amazonInfo.get(AmazonInfo.MetaDataKey.instanceId));}}