List of usage examples for com.amazonaws.services.elasticloadbalancing.model DescribeInstanceHealthResult getInstanceStates
public java.util.List<InstanceState> getInstanceStates()
Information about the health of the instances.
From source file:com.mentation.alfonso.aws.ElasticLoadBalancer.java
License:Apache License
public boolean isInstanceHealthy() { List<Instance> instances = new ArrayList<>(); instances.add(_instance);/*from w ww. j av a 2 s. com*/ DescribeInstanceHealthRequest describeInstanceHealthRequest = new DescribeInstanceHealthRequest(_name); describeInstanceHealthRequest.withInstances(instances); DescribeInstanceHealthResult describeInstanceHealthResult = _elbClient .describeInstanceHealth(describeInstanceHealthRequest); for (InstanceState state : describeInstanceHealthResult.getInstanceStates()) { System.out.println(state); if (!state.getState().equals("InService")) continue; if (state.getInstanceId().equals(getInstanceId())) { return true; } } return false; }
From source file:tools.descartes.bungee.cloud.aws.AWSImpl.java
License:Apache License
ResourcesInfo getResourceInfo(String hostName) {
ResourcesInfo resources = new ResourcesInfo();
boolean ok = false;
try {/*from ww w . j av a2s . co m*/
LoadBalancerDescription lb = getLoadBalancerForHostName(hostName);
if (lb != null) {
List<Instance> instances = lb.getInstances();
Filter filterRunning = new Filter().withName("instance-state-name").withValues("running");
List<String> instanceIds = new LinkedList<>();
for (Instance instance : instances) {
instanceIds.add(instance.getInstanceId());
}
resources.total = lb.getInstances().size();
DescribeInstanceStatusResult describeInstanceStatus = ec2
.describeInstanceStatus(new DescribeInstanceStatusRequest().withInstanceIds(instanceIds)
.withFilters(filterRunning));
resources.running = describeInstanceStatus.getInstanceStatuses().size();
DescribeInstanceHealthRequest request = new DescribeInstanceHealthRequest()
.withLoadBalancerName(lb.getLoadBalancerName());
DescribeInstanceHealthResult describeInstanceHealth = elasticLB.describeInstanceHealth(request);
List<InstanceState> instanceStates = describeInstanceHealth.getInstanceStates();
for (InstanceState instState : instanceStates) {
if (instState.getState().equals("InService")) {
resources.inService++;
}
;
}
ok = true;
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ok) {
resources = lastResourceInfo;
} else {
lastResourceInfo = resources;
}
//System.out.println("size: " + resources.total + " running: " + resources.running + " inService: " + resources.inService);
return resources;
}