From 552b70974089f4cfb64cb69621c2f03fd914c2e1 Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Wed, 20 May 2020 12:45:30 +0300 Subject: [PATCH] fix SLA queries --- src/datasource-zabbix/datasource.ts | 3 +++ src/datasource-zabbix/zabbix/zabbix.ts | 10 +++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/datasource-zabbix/datasource.ts b/src/datasource-zabbix/datasource.ts index 1bd7cc5..97b415d 100644 --- a/src/datasource-zabbix/datasource.ts +++ b/src/datasource-zabbix/datasource.ts @@ -353,6 +353,9 @@ export class ZabbixDatasource { return this.zabbix.getITServices(itServiceFilter) .then(itservices => { + if (options.isOldVersion) { + itservices = _.filter(itservices, {'serviceid': target.itservice?.serviceid}); + } return this.zabbix.getSLA(itservices, timeRange, target, options);}) .then(itservicesdp => this.applyDataProcessingFunctions(itservicesdp, target)); } diff --git a/src/datasource-zabbix/zabbix/zabbix.ts b/src/datasource-zabbix/zabbix/zabbix.ts index ef7cc8b..24e7b7f 100644 --- a/src/datasource-zabbix/zabbix/zabbix.ts +++ b/src/datasource-zabbix/zabbix/zabbix.ts @@ -27,7 +27,7 @@ const REQUESTS_TO_CACHE = [ const REQUESTS_TO_BIND = [ 'getHistory', 'getTrend', 'getMacros', 'getItemsByIDs', 'getEvents', 'getAlerts', 'getHostAlerts', - 'getAcknowledges', 'getITService', 'getSLA', 'getVersion', 'login', 'acknowledgeEvent', 'getProxies', 'getEventAlerts', + 'getAcknowledges', 'getITService', 'getVersion', 'login', 'acknowledgeEvent', 'getProxies', 'getEventAlerts', 'getExtendedEventData' ]; @@ -428,15 +428,11 @@ export class Zabbix implements ZabbixConnector { } getSLA(itservices, timeRange, target, options) { - let itServices = itservices; - if (options.isOldVersion) { - itServices = _.filter(itServices, {'serviceid': target.itservice.serviceid}); - } - const itServiceIds = _.map(itServices, 'serviceid'); + const itServiceIds = _.map(itservices, 'serviceid'); return this.zabbixAPI.getSLA(itServiceIds, timeRange, options) .then(slaResponse => { return _.map(itServiceIds, serviceid => { - const itservice = _.find(itServices, {'serviceid': serviceid}); + const itservice = _.find(itservices, {'serviceid': serviceid}); return responseHandler.handleSLAResponse(itservice, target.slaProperty, slaResponse); }); });