show maintenance icon for triggers, closes #299

This commit is contained in:
Alexander Zobnin
2017-12-14 12:44:49 +03:00
parent 3685be7f40
commit 11ad51d5dc
20 changed files with 118 additions and 52 deletions

View File

@@ -35,6 +35,9 @@
opacity: 0.5;
animation: zabbix-triggers-icon 0.8s cubic-bezier(0.46, 0.03, 0.52, 0.96) 0s infinite alternate; }
.zbx-maintenance-icon {
color: #eb7b18; }
@keyframes zabbix-triggers-panel {
100% {
opacity: 1;

View File

@@ -9,6 +9,6 @@
"../../src/sass/_panel-triggers.scss",
"../../src/sass/_query_editor.scss"
],
"mappings": "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",
"mappings": "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",
"names": []
}

View File

@@ -35,6 +35,9 @@
opacity: 0.5;
animation: zabbix-triggers-icon 0.8s cubic-bezier(0.46, 0.03, 0.52, 0.96) 0s infinite alternate; }
.zbx-maintenance-icon {
color: #ff7941; }
@keyframes zabbix-triggers-panel {
100% {
opacity: 1;

View File

@@ -9,6 +9,6 @@
"../../src/sass/_panel-triggers.scss",
"../../src/sass/_query_editor.scss"
],
"mappings": "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",
"mappings": "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",
"names": []
}

View File

@@ -315,7 +315,7 @@ System.register(['angular', 'lodash', './utils', './zabbixAPICore.service'], fun
key: 'getTriggers',
value: function getTriggers(groupids, hostids, applicationids, options) {
var showTriggers = options.showTriggers,
hideHostsInMaintenance = options.hideHostsInMaintenance,
maintenance = options.maintenance,
timeFrom = options.timeFrom,
timeTo = options.timeTo;
@@ -335,7 +335,7 @@ System.register(['angular', 'lodash', './utils', './zabbixAPICore.service'], fun
value: 1
},
selectGroups: ['name'],
selectHosts: ['name', 'host'],
selectHosts: ['name', 'host', 'maintenance_status'],
selectItems: ['name', 'key_', 'lastvalue'],
selectLastEvent: 'extend'
};
@@ -344,8 +344,8 @@ System.register(['angular', 'lodash', './utils', './zabbixAPICore.service'], fun
params.filter.value = showTriggers;
}
if (hideHostsInMaintenance) {
params.maintenance = false;
if (maintenance) {
params.maintenance = true;
}
if (timeFrom || timeTo) {

File diff suppressed because one or more lines are too long

View File

@@ -28,6 +28,7 @@ System.register([], function (_export, _context) {
delete panel.ageField;
delete panel.infoField;
delete panel.scroll;
delete panel.hideHostsInMaintenance;
}
return panel;

View File

@@ -1 +1 @@
{"version":3,"sources":["../../src/panel-triggers/migrations.js"],"names":["migratePanelSchema","panel","isEmptyPanel","schemaVersion","getSchemaVersion","CURRENT_SCHEMA_VERSION","datasources","datasource","targets","triggers","lastChangeField","ageField","infoField","scroll"],"mappings":";;;;;;AAGO,WAASA,kBAAT,CAA4BC,KAA5B,EAAmC;AACxC,QAAIC,aAAaD,KAAb,CAAJ,EAAyB;AACvB,aAAOA,KAAP;AACD;;AAED,QAAME,gBAAgBC,iBAAiBH,KAAjB,CAAtB;AACAA,UAAME,aAAN,GAAsBE,sBAAtB;;AAEA,QAAIF,gBAAgB,CAApB,EAAuB;AACrBF,YAAMK,WAAN,GAAoB,CAACL,MAAMM,UAAP,CAApB;AACAN,YAAMO,OAAN,GAAgB,EAAhB;AACAP,YAAMO,OAAN,CAAcP,MAAMK,WAAN,CAAkB,CAAlB,CAAd,IAAsCL,MAAMQ,QAA5C;;AAEA;AACA,aAAOR,MAAMQ,QAAb;AACA,aAAOR,MAAMM,UAAb;AACD;;AAED,QAAIJ,gBAAgB,CAApB,EAAuB;AACrB;AACA,aAAOF,MAAMS,eAAb;AACA,aAAOT,MAAMU,QAAb;AACA,aAAOV,MAAMW,SAAb;AACA,aAAOX,MAAMY,MAAb;AACD;;AAED,WAAOZ,KAAP;AACD;;gCA3BeD,kB;;AA6BhB,WAASI,gBAAT,CAA0BH,KAA1B,EAAiC;AAC/B,WAAOA,MAAME,aAAN,IAAuB,CAA9B;AACD;;AAED,WAASD,YAAT,CAAsBD,KAAtB,EAA6B;AAC3B,WAAO,CAACA,MAAMM,UAAP,IAAqB,CAACN,MAAMK,WAA5B,IAA2C,CAACL,MAAMQ,QAAlD,IAA8D,CAACR,MAAMO,OAA5E;AACD;;;;AArCKH,4B,GAAyB,C","file":"migrations.js","sourcesContent":["// Actual schema version\nconst CURRENT_SCHEMA_VERSION = 3;\n\nexport function migratePanelSchema(panel) {\n if (isEmptyPanel(panel)) {\n return panel;\n }\n\n const schemaVersion = getSchemaVersion(panel);\n panel.schemaVersion = CURRENT_SCHEMA_VERSION;\n\n if (schemaVersion < 2) {\n panel.datasources = [panel.datasource];\n panel.targets = {};\n panel.targets[panel.datasources[0]] = panel.triggers;\n\n // delete old props\n delete panel.triggers;\n delete panel.datasource;\n }\n\n if (schemaVersion < 3) {\n // delete old props\n delete panel.lastChangeField;\n delete panel.ageField;\n delete panel.infoField;\n delete panel.scroll;\n }\n\n return panel;\n}\n\nfunction getSchemaVersion(panel) {\n return panel.schemaVersion || 1;\n}\n\nfunction isEmptyPanel(panel) {\n return !panel.datasource && !panel.datasources && !panel.triggers && !panel.targets;\n}\n"]}
{"version":3,"sources":["../../src/panel-triggers/migrations.js"],"names":["migratePanelSchema","panel","isEmptyPanel","schemaVersion","getSchemaVersion","CURRENT_SCHEMA_VERSION","datasources","datasource","targets","triggers","lastChangeField","ageField","infoField","scroll","hideHostsInMaintenance"],"mappings":";;;;;;AAGO,WAASA,kBAAT,CAA4BC,KAA5B,EAAmC;AACxC,QAAIC,aAAaD,KAAb,CAAJ,EAAyB;AACvB,aAAOA,KAAP;AACD;;AAED,QAAME,gBAAgBC,iBAAiBH,KAAjB,CAAtB;AACAA,UAAME,aAAN,GAAsBE,sBAAtB;;AAEA,QAAIF,gBAAgB,CAApB,EAAuB;AACrBF,YAAMK,WAAN,GAAoB,CAACL,MAAMM,UAAP,CAApB;AACAN,YAAMO,OAAN,GAAgB,EAAhB;AACAP,YAAMO,OAAN,CAAcP,MAAMK,WAAN,CAAkB,CAAlB,CAAd,IAAsCL,MAAMQ,QAA5C;;AAEA;AACA,aAAOR,MAAMQ,QAAb;AACA,aAAOR,MAAMM,UAAb;AACD;;AAED,QAAIJ,gBAAgB,CAApB,EAAuB;AACrB;AACA,aAAOF,MAAMS,eAAb;AACA,aAAOT,MAAMU,QAAb;AACA,aAAOV,MAAMW,SAAb;AACA,aAAOX,MAAMY,MAAb;AACA,aAAOZ,MAAMa,sBAAb;AACD;;AAED,WAAOb,KAAP;AACD;;gCA5BeD,kB;;AA8BhB,WAASI,gBAAT,CAA0BH,KAA1B,EAAiC;AAC/B,WAAOA,MAAME,aAAN,IAAuB,CAA9B;AACD;;AAED,WAASD,YAAT,CAAsBD,KAAtB,EAA6B;AAC3B,WAAO,CAACA,MAAMM,UAAP,IAAqB,CAACN,MAAMK,WAA5B,IAA2C,CAACL,MAAMQ,QAAlD,IAA8D,CAACR,MAAMO,OAA5E;AACD;;;;AAtCKH,4B,GAAyB,C","file":"migrations.js","sourcesContent":["// Actual schema version\nconst CURRENT_SCHEMA_VERSION = 3;\n\nexport function migratePanelSchema(panel) {\n if (isEmptyPanel(panel)) {\n return panel;\n }\n\n const schemaVersion = getSchemaVersion(panel);\n panel.schemaVersion = CURRENT_SCHEMA_VERSION;\n\n if (schemaVersion < 2) {\n panel.datasources = [panel.datasource];\n panel.targets = {};\n panel.targets[panel.datasources[0]] = panel.triggers;\n\n // delete old props\n delete panel.triggers;\n delete panel.datasource;\n }\n\n if (schemaVersion < 3) {\n // delete old props\n delete panel.lastChangeField;\n delete panel.ageField;\n delete panel.infoField;\n delete panel.scroll;\n delete panel.hideHostsInMaintenance;\n }\n\n return panel;\n}\n\nfunction getSchemaVersion(panel) {\n return panel.schemaVersion || 1;\n}\n\nfunction isEmptyPanel(panel) {\n return !panel.datasource && !panel.datasources && !panel.triggers && !panel.targets;\n}\n"]}

View File

@@ -13,6 +13,7 @@
<p class="alert-list-title">
{{trigger.description}}
<span class="zabbix-hostname" ng-if="ctrl.panel.hostField || ctrl.panel.hostTechNameField">
<i ng-if="trigger.maintenance" class="fa fa-wrench zbx-maintenance-icon"></i>
{{ ctrl.formatHostName(trigger) }}
</span>
</p>

View File

@@ -37,9 +37,9 @@
<h5 class="section-heading">Options</h5>
<gf-form-switch class="gf-form"
label-class="width-15"
label="Hide hosts in maintenance"
checked="ctrl.panel.hideHostsInMaintenance"
on-change="ctrl.refresh()">
label="Show hosts in maintenance"
checked="ctrl.panel.hostsInMaintenance"
on-change="ctrl.render()">
</gf-form-switch>
<div class="gf-form">
<label class="gf-form-label width-8">Acknowledged</label>

View File

@@ -54,13 +54,15 @@ describe('Triggers Panel schema migration', () => {
statusField: false,
severityField: false,
descriptionField: true,
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
limit: 10,
fontSize: '100%',
pageSize: 10,
highlightNewEvents: true,
highlightNewerThan: '1h',
customLastChangeFormat: false,
lastChangeFormat: "",
triggerSeverity: DEFAULT_SEVERITY,
@@ -86,13 +88,15 @@ describe('Triggers Panel schema migration', () => {
statusField: true,
severityField: true,
descriptionField: true,
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
limit: 100,
fontSize: '100%',
pageSize: 10,
highlightNewEvents: true,
highlightNewerThan: '1h',
customLastChangeFormat: false,
lastChangeFormat: "",
triggerSeverity: DEFAULT_SEVERITY,

View File

@@ -35,7 +35,7 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
}
function _filterTriggers(triggers, triggerFilter) {
function filterTriggers(triggers, triggerFilter) {
if (utils.isRegex(triggerFilter)) {
return _.filter(triggers, function (trigger) {
return utils.buildRegex(triggerFilter).test(trigger.description);
@@ -136,7 +136,7 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
severityField: true,
descriptionField: true,
// Options
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
@@ -289,16 +289,16 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
value: function render(zabbixTriggers) {
var _this4 = this;
var triggers = zabbixTriggers || this.triggerList;
var triggers = _.cloneDeep(zabbixTriggers || this.triggerListUnfiltered);
this.triggerListUnfiltered = _.cloneDeep(triggers);
if (zabbixTriggers) {
triggers = _.map(triggers, this.formatTrigger.bind(this));
} else {
triggers = _.map(triggers, this.updateTriggerFormat.bind(this));
}
triggers = _.map(triggers, this.formatTrigger.bind(this));
triggers = this.filterTriggersPost(triggers);
triggers = this.sortTriggers(triggers);
// Limit triggers number
triggers = triggers.slice(0, this.panel.limit);
this.triggerList = triggers;
this.getCurrentTriggersPage();
@@ -316,7 +316,6 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
var zabbix = datasource.zabbix;
var showEvents = _this5.panel.showEvents.value;
var triggerFilter = _this5.panel.targets[ds];
var hideHostsInMaintenance = _this5.panel.hideHostsInMaintenance;
// Replace template variables
var groupFilter = datasource.replaceTemplateVars(triggerFilter.group.filter);
@@ -324,15 +323,16 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
var appFilter = datasource.replaceTemplateVars(triggerFilter.application.filter);
var triggersOptions = {
showTriggers: showEvents,
hideHostsInMaintenance: hideHostsInMaintenance
showTriggers: showEvents
};
return zabbix.getTriggers(groupFilter, hostFilter, appFilter, triggersOptions);
}).then(function (triggers) {
return _this5.getAcknowledges(triggers, ds);
}).then(function (triggers) {
return _this5.filterTriggers(triggers, ds);
return _this5.setMaintenanceStatus(triggers);
}).then(function (triggers) {
return _this5.filterTriggersPre(triggers, ds);
}).then(function (triggers) {
return _this5.addTriggerDataSource(triggers, ds);
});
@@ -382,17 +382,24 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
});
}
}, {
key: 'filterTriggers',
value: function filterTriggers(triggerList, ds) {
var _this7 = this;
key: 'filterTriggersPre',
value: function filterTriggersPre(triggerList, ds) {
// Filter triggers by description
var triggerFilter = this.panel.targets[ds].trigger.filter;
triggerFilter = this.datasources[ds].replaceTemplateVars(triggerFilter);
if (triggerFilter) {
triggerList = _filterTriggers(triggerList, triggerFilter);
triggerList = filterTriggers(triggerList, triggerFilter);
}
return triggerList;
}
}, {
key: 'filterTriggersPost',
value: function filterTriggersPost(triggers) {
var _this7 = this;
var triggerList = _.cloneDeep(triggers);
// Filter acknowledged triggers
if (this.panel.showTriggers === 'unacknowledged') {
triggerList = _.filter(triggerList, function (trigger) {
@@ -404,6 +411,13 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
triggerList = triggerList;
}
// Filter by maintenance status
if (!this.panel.hostsInMaintenance) {
triggerList = _.filter(triggerList, function (trigger) {
return trigger.maintenance === false;
});
}
// Filter triggers by severity
triggerList = _.filter(triggerList, function (trigger) {
return _this7.panel.triggerSeverity[trigger.priority].show;
@@ -411,6 +425,17 @@ System.register(['lodash', 'jquery', 'moment', '../datasource-zabbix/utils', 'ap
return triggerList;
}
}, {
key: 'setMaintenanceStatus',
value: function setMaintenanceStatus(triggers) {
_.each(triggers, function (trigger) {
var maintenance_status = _.some(trigger.hosts, function (host) {
return host.maintenance_status === '1';
});
trigger.maintenance = maintenance_status;
});
return triggers;
}
}, {
key: 'addTriggerDataSource',
value: function addTriggerDataSource(triggers, ds) {

File diff suppressed because one or more lines are too long

View File

@@ -342,7 +342,7 @@ function ZabbixAPIServiceFactory(alertSrv, zabbixAPICoreService) {
}
getTriggers(groupids, hostids, applicationids, options) {
let {showTriggers, hideHostsInMaintenance, timeFrom, timeTo} = options;
let {showTriggers, maintenance, timeFrom, timeTo} = options;
let params = {
output: 'extend',
@@ -359,7 +359,7 @@ function ZabbixAPIServiceFactory(alertSrv, zabbixAPICoreService) {
value: 1
},
selectGroups: ['name'],
selectHosts: ['name', 'host'],
selectHosts: ['name', 'host', 'maintenance_status'],
selectItems: ['name', 'key_', 'lastvalue'],
selectLastEvent: 'extend'
};
@@ -368,8 +368,8 @@ function ZabbixAPIServiceFactory(alertSrv, zabbixAPICoreService) {
params.filter.value = showTriggers;
}
if (hideHostsInMaintenance) {
params.maintenance = false;
if (maintenance) {
params.maintenance = true;
}
if (timeFrom || timeTo) {

View File

@@ -25,6 +25,7 @@ export function migratePanelSchema(panel) {
delete panel.ageField;
delete panel.infoField;
delete panel.scroll;
delete panel.hideHostsInMaintenance;
}
return panel;

View File

@@ -13,6 +13,7 @@
<p class="alert-list-title">
{{trigger.description}}
<span class="zabbix-hostname" ng-if="ctrl.panel.hostField || ctrl.panel.hostTechNameField">
<i ng-if="trigger.maintenance" class="fa fa-wrench zbx-maintenance-icon"></i>
{{ ctrl.formatHostName(trigger) }}
</span>
</p>

View File

@@ -37,9 +37,9 @@
<h5 class="section-heading">Options</h5>
<gf-form-switch class="gf-form"
label-class="width-15"
label="Hide hosts in maintenance"
checked="ctrl.panel.hideHostsInMaintenance"
on-change="ctrl.refresh()">
label="Show hosts in maintenance"
checked="ctrl.panel.hostsInMaintenance"
on-change="ctrl.render()">
</gf-form-switch>
<div class="gf-form">
<label class="gf-form-label width-8">Acknowledged</label>

View File

@@ -54,13 +54,15 @@ describe('Triggers Panel schema migration', () => {
statusField: false,
severityField: false,
descriptionField: true,
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
limit: 10,
fontSize: '100%',
pageSize: 10,
highlightNewEvents: true,
highlightNewerThan: '1h',
customLastChangeFormat: false,
lastChangeFormat: "",
triggerSeverity: DEFAULT_SEVERITY,
@@ -86,13 +88,15 @@ describe('Triggers Panel schema migration', () => {
statusField: true,
severityField: true,
descriptionField: true,
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
limit: 100,
fontSize: '100%',
pageSize: 10,
highlightNewEvents: true,
highlightNewerThan: '1h',
customLastChangeFormat: false,
lastChangeFormat: "",
triggerSeverity: DEFAULT_SEVERITY,

View File

@@ -38,7 +38,7 @@ export const PANEL_DEFAULTS = {
severityField: true,
descriptionField: true,
// Options
hideHostsInMaintenance: false,
hostsInMaintenance: true,
showTriggers: 'all triggers',
sortTriggersBy: { text: 'last change', value: 'lastchange' },
showEvents: { text: 'Problems', value: '1' },
@@ -171,16 +171,16 @@ export class TriggerPanelCtrl extends PanelCtrl {
}
render(zabbixTriggers) {
let triggers = zabbixTriggers || this.triggerList;
let triggers = _.cloneDeep(zabbixTriggers || this.triggerListUnfiltered);
this.triggerListUnfiltered = _.cloneDeep(triggers);
if (zabbixTriggers) {
triggers = _.map(triggers, this.formatTrigger.bind(this));
} else {
triggers = _.map(triggers, this.updateTriggerFormat.bind(this));
}
triggers = _.map(triggers, this.formatTrigger.bind(this));
triggers = this.filterTriggersPost(triggers);
triggers = this.sortTriggers(triggers);
// Limit triggers number
triggers = triggers.slice(0, this.panel.limit);
this.triggerList = triggers;
this.getCurrentTriggersPage();
@@ -196,7 +196,6 @@ export class TriggerPanelCtrl extends PanelCtrl {
var zabbix = datasource.zabbix;
var showEvents = this.panel.showEvents.value;
var triggerFilter = this.panel.targets[ds];
var hideHostsInMaintenance = this.panel.hideHostsInMaintenance;
// Replace template variables
var groupFilter = datasource.replaceTemplateVars(triggerFilter.group.filter);
@@ -204,15 +203,16 @@ export class TriggerPanelCtrl extends PanelCtrl {
var appFilter = datasource.replaceTemplateVars(triggerFilter.application.filter);
let triggersOptions = {
showTriggers: showEvents,
hideHostsInMaintenance: hideHostsInMaintenance
showTriggers: showEvents
};
return zabbix.getTriggers(groupFilter, hostFilter, appFilter, triggersOptions);
}).then((triggers) => {
return this.getAcknowledges(triggers, ds);
}).then((triggers) => {
return this.filterTriggers(triggers, ds);
return this.setMaintenanceStatus(triggers);
}).then((triggers) => {
return this.filterTriggersPre(triggers, ds);
}).then((triggers) => {
return this.addTriggerDataSource(triggers, ds);
});
@@ -259,7 +259,7 @@ export class TriggerPanelCtrl extends PanelCtrl {
});
}
filterTriggers(triggerList, ds) {
filterTriggersPre(triggerList, ds) {
// Filter triggers by description
var triggerFilter = this.panel.targets[ds].trigger.filter;
triggerFilter = this.datasources[ds].replaceTemplateVars(triggerFilter);
@@ -267,6 +267,12 @@ export class TriggerPanelCtrl extends PanelCtrl {
triggerList = filterTriggers(triggerList, triggerFilter);
}
return triggerList;
}
filterTriggersPost(triggers) {
let triggerList = _.cloneDeep(triggers);
// Filter acknowledged triggers
if (this.panel.showTriggers === 'unacknowledged') {
triggerList = _.filter(triggerList, trigger => {
@@ -278,6 +284,11 @@ export class TriggerPanelCtrl extends PanelCtrl {
triggerList = triggerList;
}
// Filter by maintenance status
if (!this.panel.hostsInMaintenance) {
triggerList = _.filter(triggerList, (trigger) => trigger.maintenance === false);
}
// Filter triggers by severity
triggerList = _.filter(triggerList, trigger => {
return this.panel.triggerSeverity[trigger.priority].show;
@@ -286,6 +297,14 @@ export class TriggerPanelCtrl extends PanelCtrl {
return triggerList;
}
setMaintenanceStatus(triggers) {
_.each(triggers, (trigger) => {
let maintenance_status = _.some(trigger.hosts, (host) => host.maintenance_status === '1');
trigger.maintenance = maintenance_status;
});
return triggers;
}
addTriggerDataSource(triggers, ds) {
_.each(triggers, (trigger) => {
trigger.datasource = ds;

View File

@@ -69,6 +69,10 @@
}
}
.zbx-maintenance-icon {
color: $orange;
}
@keyframes zabbix-triggers-panel {
100% {