use of com.integrien.alive.common.adapter3.DiscoveryResult in project Server_Management_Plugin_vRealize by Huawei.
the class ESightAdapter method onDiscover.
/**
* This method is called when user wants to discover resources in the target
* system manually. onConfigure is not called before onDiscover.
*
* @param discParam DiscoveryParam
* @return DiscoveryResult
*/
@Override
public DiscoveryResult onDiscover(DiscoveryParam discParam) {
logger.info("Inside onDiscover method of ESightAdapter class");
DiscoveryResult discoveryResult = new DiscoveryResult(discParam.getAdapterInstResource());
return discoveryResult;
}
use of com.integrien.alive.common.adapter3.DiscoveryResult in project Server_Management_Plugin_vRealize by Huawei.
the class ESightAdapter method onCollect.
/**
* This method is called for each collection cycle. By default, this value
* is 5 minutes unless user changes it
*
* @param adapterInstResource ResourceConfig
* @param monitoringResources Collection<ResourceConfig>
*/
@Override
public void onCollect(ResourceConfig adapterInstResource, Collection<ResourceConfig> monitoringResources) {
if (logger.isInfoEnabled()) {
logger.info("Inside onCollect method of ESightAdapter class");
}
final IdentifierCredentialProperties prop = new IdentifierCredentialProperties(adapterLoggerFactory, adapterInstResource);
String hostIp = prop.getIdentifier(Constant.KEY_SERVER_IP_ADDRESS, "").trim();
setHost(hostIp);
int hostPort = prop.getIntIdentifier(Constant.KEY_ESIGHT_SERVER_PORT, Constant.DEFAULT_ESIGHT_SERVER_PORT);
String username = prop.getCredential(Constant.KEY_ESIGHT_ACCOUNT);
String eSightCode = prop.getCredential(Constant.KEY_ESIGHT_CODE);
String openid = null;
try {
openid = service.login(hostIp, hostPort, username, eSightCode);
} catch (EsightException e) {
logger.error(e.getMessage() + ": eSight server (" + hostIp + ") authentication failed.", e);
}
if (openid == null || openid.isEmpty()) {
configEsight(hostIp);
return;
}
final Long startTime = System.nanoTime();
DiscoveryResult discoveryResult = collectResult.getDiscoveryResult(true);
List<ResourceKey> resources = collectResourceDataFromESight(hostIp);
// 注销会话 openid
service.logout(openid);
if (resources.size() == 0) {
logger.error("No resources collected from server with IP " + hostIp);
} else {
logger.error(resources.size() + " resources collected from server with IP " + hostIp);
}
for (ResourceKey resourceKey : resources) {
useResourceKey(discoveryResult, resourceKey);
}
Long seconds = TimeUnit.SECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS);
logger.error("Collected resource from esight elapsed time is " + seconds + " seconds.");
if (seconds > Constant.DEFAULT_COLLECT_INTERVAL * 60) {
logger.error("PLEASE UPDATE THE COLLECT INTERVAL GREATER THAN " + seconds + " SECONDS.");
}
}
use of com.integrien.alive.common.adapter3.DiscoveryResult in project Server_Management_Plugin_vRealize by Huawei.
the class ESightAdapter method useResourceKey.
private void useResourceKey(DiscoveryResult discoveryResult, ResourceKey resourceKey) {
if (isNewResource(resourceKey)) {
discoveryResult.addResource(new ResourceConfig(resourceKey));
}
// Check if resource is part of monitored set, otherwise continue
ResourceConfig resourceConfig = getMonitoringResource(resourceKey);
if (resourceConfig == null) {
return;
}
// Add metrics
addMetricData(resourceConfig, metricsByResource.get(resourceKey));
// Add relationships
Relationships rel = new Relationships();
rel.setRelationships(resourceKey, relationshipsByResource.get(resourceKey), Collections.singleton(getAdapterKind()));
discoveryResult.addRelationships(rel);
}
use of com.integrien.alive.common.adapter3.DiscoveryResult in project Server_Management_Plugin_vRealize by Huawei.
the class ESightAdapter method configEsight.
private void configEsight(String hostIp) {
ResourceKey resourceKey = new ResourceKey(hostIp, Constant.KIND_HOST_INSTANCE, getAdapterKind());
long timestamp = System.currentTimeMillis();
List<MetricData> metricDataList = new ArrayList<>();
// 设置eSight服务器的状态为离线状态
metricDataList.add(new MetricData(new MetricKey(false, Constant.ATTR_HEALTHSTATE), timestamp, ConvertUtils.convertHealthState(-1)));
metricsByResource.put(resourceKey, metricDataList);
DiscoveryResult discoveryResult = collectResult.getDiscoveryResult(true);
if (isNewResource(resourceKey)) {
discoveryResult.addResource(new ResourceConfig(resourceKey));
}
// Check if resource is part of monitored set, otherwise continue
ResourceConfig resourceConfig = getMonitoringResource(resourceKey);
if (resourceConfig == null) {
return;
}
// Add metrics
addMetricData(resourceConfig, metricsByResource.get(resourceKey));
// Add relationships
Relationships rel = new Relationships();
rel.setRelationships(resourceKey, relationshipsByResource.get(resourceKey), Collections.singleton(getAdapterKind()));
discoveryResult.addRelationships(rel);
return;
}
Aggregations