iss #19 - Get IT service data and handle response.
This commit is contained in:
@@ -94,6 +94,7 @@ function (angular, _, kbn) {
|
||||
// Create request for each target
|
||||
var promises = _.map(options.targets, function(target) {
|
||||
|
||||
if (!target.ITService) {
|
||||
// Don't show undefined and hidden targets
|
||||
if (target.hide || !target.group || !target.host
|
||||
|| !target.application || !target.item) {
|
||||
@@ -181,6 +182,15 @@ function (angular, _, kbn) {
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Don't show undefined and hidden targets
|
||||
if (target.hide || !target.itservice || !target.slaProperty) {
|
||||
return [];
|
||||
} else {
|
||||
return this.zabbixAPI.getSLA(target.itservice.serviceid, from, to)
|
||||
.then(_.bind(zabbixHelperSrv.handleSLAResponse, zabbixHelperSrv, target.itservice, target.slaProperty));
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
|
||||
return $q.all(_.flatten(promises)).then(function (results) {
|
||||
|
||||
@@ -109,6 +109,24 @@ function (angular, _) {
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert Zabbix API service.getsla response to Grafana format
|
||||
*
|
||||
* @param itservice
|
||||
* @param slaProperty
|
||||
* @param slaObject
|
||||
* @returns {{target: *, datapoints: *[]}}
|
||||
*/
|
||||
this.handleSLAResponse = function (itservice, slaProperty, slaObject) {
|
||||
var targetSLA = slaObject[itservice.serviceid].sla[0];
|
||||
return {
|
||||
target: itservice.name,
|
||||
datapoints: [
|
||||
[targetSLA[slaProperty.property], targetSLA.to * 1000]
|
||||
]
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Expand item parameters, for example:
|
||||
* CPU $2 time ($3) --> CPU system time (avg1)
|
||||
|
||||
Reference in New Issue
Block a user