From 268de33d96ef65d094259dc4862876d641e2879e Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Sat, 29 Dec 2018 19:19:13 +0300 Subject: [PATCH] problems: limit events in timeline --- .../zabbix/connectors/zabbix_api/zabbixAPIConnector.js | 10 ++++++++-- src/panel-triggers/triggers_panel_ctrl.js | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/datasource-zabbix/zabbix/connectors/zabbix_api/zabbixAPIConnector.js b/src/datasource-zabbix/zabbix/connectors/zabbix_api/zabbixAPIConnector.js index 8acb6c8..02b18f6 100644 --- a/src/datasource-zabbix/zabbix/connectors/zabbix_api/zabbixAPIConnector.js +++ b/src/datasource-zabbix/zabbix/connectors/zabbix_api/zabbixAPIConnector.js @@ -368,7 +368,7 @@ export class ZabbixAPIConnector { return this.request('trigger.get', params); } - getEvents(objectids, timeFrom, timeTo, showEvents) { + getEvents(objectids, timeFrom, timeTo, showEvents, limit) { var params = { output: 'extend', time_from: timeFrom, @@ -376,9 +376,15 @@ export class ZabbixAPIConnector { objectids: objectids, select_acknowledges: 'extend', selectHosts: 'extend', - value: showEvents + value: showEvents, }; + if (limit) { + params.limit = limit; + params.sortfield = 'clock'; + params.sortorder = 'DESC'; + } + return this.request('event.get', params); } diff --git a/src/panel-triggers/triggers_panel_ctrl.js b/src/panel-triggers/triggers_panel_ctrl.js index d5ab7f2..68f3a2b 100644 --- a/src/panel-triggers/triggers_panel_ctrl.js +++ b/src/panel-triggers/triggers_panel_ctrl.js @@ -12,6 +12,7 @@ import {migratePanelSchema, CURRENT_SCHEMA_VERSION} from './migrations'; import { ProblemList } from './components/Problems'; const ZABBIX_DS_ID = 'alexanderzobnin-zabbix-datasource'; +const PROBLEM_EVENTS_LIMIT = 100; export const DEFAULT_TARGET = { group: {filter: ""}, @@ -470,7 +471,7 @@ export class TriggerPanelCtrl extends PanelCtrl { const timeTo = Math.ceil(dateMath.parse(this.range.to) / 1000); return this.datasourceSrv.get(trigger.datasource) .then(datasource => { - return datasource.zabbix.getEvents(triggerids, timeFrom, timeTo, [0, 1]); + return datasource.zabbix.getEvents(triggerids, timeFrom, timeTo, [0, 1], PROBLEM_EVENTS_LIMIT); }); }