[ZBXNEXT-1124] Zabbix MAP severity filter option Created: 2012 Feb 15  Updated: 2014 Jan 30  Resolved: 2013 Dec 06

Status: Closed
Project: ZABBIX FEATURE REQUESTS
Component/s: Frontend (F)
Affects Version/s: None
Fix Version/s: 2.1.0

Type: New Feature Request Priority: Major
Reporter: Johann Brajer Assignee: Unassigned
Resolution: Fixed Votes: 13
Labels: maps, triggers
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by ZBXNEXT-1341 Minimum severity level on MAP display Closed

 Description   

Dear Zabbix-Team,

We would like to open a new RfC for Zabbix, as we think this option is missing in Zabbix and could be very important for other customers as well.
We are looking for some kind of solution to filter and display certain kind of severity levels for a group of items in different maps.

Just a little introduction to let you know, why we need this kind of solution. We are planning to use Zabbix in different parts of our organization. One part of a team, our network Operation Center (NOC), is just responsible for the real critical failures in the overall infrastructure. But they are not interested in some kind of less important system errors or warnings... that would be too much detail information for them and would some kind of overload them.
The other Teams who are using Zabbix, our Specialists of the different System areas, are also interested in some kind of less critical (like major or minor errors) or any informational messages of their systems to be updated all the time.

Therefore we like to create different Maps in Zabbix, one overall informational map with just critical errors (with not to many details) for our NOC and on the other hand a more detail system map with all available Errors being displayed (like critical, major, minor, warnings, informational....).
To realize that kind of structure we thought about to setup different kind of triggers with depending severity levels, depending how important they are for our support teams and who should be informed via their map.

But to display just a subset of defined triggers on a specific map we need some new option to filter the errors displayed on a map based on a minimum level of severity level optionally setup in the MAP view or in the map setup.
As an example: if a host has 2 trigger problems with Severity "Information" and we have a map which is set to only show Problems with severity "High" or above, then we expect the map to show Status "OK" for the host. On a different map where no filter is set the same Host will show up with 2 Problems.

We hope this sounds useable for you and others as well?
We also think this should not be so difficult to implement and fastly built in some new release. It will be for sure applicable and useful for other customers as well.

Furthermore it would be nice to see some more MAP design options in the near future in Zabbix, which gives you more possibilities to create useful graphical maps.
Please let us know what you are thinking about and how your solution for us could look like??
Sincerely

johann

<richlv> specs at https://www.zabbix.org/wiki/Docs/specs/ZBXNEXT-1124



 Comments   
Comment by Jens Berthold [ 2012 Mar 16 ]

I also would like to have this feature!
I have a map with redundant links from a firewall to different routers (one link is active, one is standby). Each link has a trigger assigned, so the standby link is coloured grey and the user has a quick overview.
Problem: Even though the trigger has severity "Information", the firewall is always shown with state "problem".

Comment by Johann Brajer [ 2012 Apr 06 ]

hi jens,

thanks for your support...
i am sure many Zabbix-Users will have some kind of the same interests in handling Alarms with different Severity Levels from different Departments...
The Filterfunction on MAP Basis would give us the possibility to seperate informations and alarms for different Department Perspectives and their Alarms in a huge Company....

Comment by Johann Brajer [ 2012 Apr 06 ]

Hi ZABBIX-Team,

just wanted again to ask, if you consider to implement such a feature in one of the next Versions?? if YES, Plaese let us know when??
We are really looking forward !!!!

...as we have to handle with different System & Alarm Depths within our company...
Eg. the SupportTeams need to know every detail Systemfailure and must be informed...in opposite our overall NOC just want to know if the function or Service is still available...eg. they do not care about some failed harddisks of a Raid if the business wasn´t interrupted....

PLEASE let us know!!

THX jb

Comment by InES ZHAW [ 2012 Aug 07 ]

I'm looking for almost the same feature. In my case it's requested to have an icon highlighted only for higher trigger severity. So an icon with a lower severity trigger should not get highlighted at all (no circle in any colour around).

Furthermore, I would like to see those configurations (filterfunction) per icon and not only per map, as this would increase the flexibility and possibilities of maps.

Comment by Alexei Vladishev [ 2012 Oct 13 ]

It sounds like a very nice feature, should be considered for development.

Comment by Evgeny Levkov [ 2012 Oct 29 ]

I have "Not Classified" triggers that used only for dependency - no one get alerts about them. For example: When Amazon EC2 Instances are down (they go up and down using scheduler) all other triggers became silent while check against EC2 API show that machine in "stopped" state.

But in the map I see "X Unacknowledged" problems (on the group icon). There is no way to filter this.
Until this problem resolved - Map feature is useless for me.

So this looks like bug, not feature.

Comment by Volker Fröhlich [ 2013 Mar 01 ]

I think that's close to ZBXNEXT-347

Comment by Andris Zeila [ 2013 Apr 24 ]

Specifications: https://www.zabbix.org/wiki/Docs/specs/ZBXNEXT-1124

Comment by Andris Zeila [ 2013 Apr 24 ]

Created database upgrade patch in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-1124

Comment by dimir [ 2013 Apr 25 ]

Upgrade patch successfully tested. Small code formatting changes in r35274 .

Comment by Eduards Samersovs (Inactive) [ 2013 May 02 ]

Frontend implemented in development branch svn://svn.zabbix.com/branches/dev/ZBXNEXT-1124

Comment by Toms (Inactive) [ 2013 May 08 ]

(1) Current DB version not set in Frontend.

Eduards RESOLVED in r.35675 (dev branch updating from trunk), also new db patch number is increased by server side peoples r.35681

tomtom REOPENED. Versions does not match in r35675 nor in r35681.

Andri, regarding r35681, if you changes DB version in schema.tmpl, then DB version should be changed in defines.inc.php as well.

Eduards RESOLVED r.35695

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(2) https://www.zabbix.com/documentation/2.0/manual/web_interface/frontend_sections/monitoring/maps
"Recent change markers" also should be hidden.

Eduards RESOLVED r.35673, Thanks for discovery and analyzing lacks in specification!

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(3) Min severity in profiles table should be stored for each map separately.

Eduards RESOLVED r.35611

tomtom REOPENED profiles value is not used when switching through maps

Eduards RESOLVED r.35765

tomtom REOPENED

  • have 2 maps
  • set min severity Average for first
  • go to second map and set min severity to High
  • go back to first map, you can see min severity as Average
  • hit F5 and min severity is changed to High ... this shouldn't happen

Eduards RESOLVED r.35804 Thanks, it was good idea!

tomtom CLOSED

Comment by richlv [ 2013 May 08 ]

(4) documentation (haha)

Eduards Documentation will be written after development.
First step: Specification
Second step: Development
Third step: Documentation + Manual + What now + Change log +...

<richlv> whatsnew is there, but it does not mention ability to change the severity filter when viewing the map - should (with a screenshot, too)

martins-v Changing severity on map view level added to: https://www.zabbix.com/documentation/2.2/manual/introduction/whatsnew220#filtering_trigger_severity_in_maps

martins-v CLOSED. See also (29).

Comment by Toms (Inactive) [ 2013 May 08 ]

(5) User selection of severity will be remembered in user profiles only if differs from map-level severity setting.

Eduards RESOLVED r.35611

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(6) Map-level severity will be displayed in the drop-down as "<severity name> (default)", for example, "Disaster (default)".

Eduards RESOLVED r.35611

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(7) Also severity filter should be set when clicking on a host and selecting "Status of Triggers" in context menu.
Eduards RESOLVED r.35645.

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(8) If map is inside screen only disaster triggers are shown, though min severity for map is lesser.

Eduards RESOLVED r.35649

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(9) 'Not classified' is the default option.
When creating new map.
I believe that as well for initial DB default should be 'Not classified'.

Eduards RESOLVED r.35642 Regarding last version of specification default value for severity_min field must be 5 (Disaster).

tomtom REOPENED default should be 'Not classified'. Spec should be changed, if it says opposite.

Eduards RESOLVED r.35759

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(10) just another line from specification: "Map related API calls should be extended to support optional map attribute 'severity_min'."

Eduards Seems additional changes in API not needed.

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(11) another line from specification: "Map XML import/export should support new optional field 'severity_min'. It should be set to '0' if missing."

Eduards RESOLVED r.35614

tomtom REOPENED.
trailing comma in CConfigurationExportBuilder.php;
min severity should be placed above fields which represent collection data (arrays);
In import 0 should be set if severity_min is missing.

Eduards RESOLVED r.35765

tomtom REOPENED
In import 0 should be set if severity_min is missing.

tomtom CLOSED. Works OK.

Comment by Toms (Inactive) [ 2013 May 08 ]

(12)

/**
* Get value from data structure.
*
* @param unknown $name
*
* @return mixed
*/
public function __get($name) {

"Get value from data structure." - This comment says nothing. What data structure, why using magic function?
I believe that according to PHPDoc we write mixed instead of unknown.
Return value should be described.

Eduards RESOLVED r.35611

tomtom REOPENED.
Comment is OK, but input parameter and return value are of mixed type.

Eduards RESOLVED r.35765

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(13) https://www.zabbix.org/wiki/Docs/specs/coding_style#Compare_with_null
class.cpagefilter.php line:678
"if (is_null($severityMin)) {"

Eduards RESOLVED r.35539

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(14)

/**
* Create dropdown.
*
* @param string $name
* @param string $selectedId
* @param array  $items
* @param bool   $withNode
* @param bool   $allValue
*
* @return CComboBox
*/

Doesn't says nothing about method purpose.

Eduards RESOLVED r.35539

tomtom Good. CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(15) minor but still there is no need to trash SVN with such a minor changes:
"Get dropdown for application selection."
was changed to:
"Get dropdown for applications."

As well I think that second is in some way ambiguous.

Eduards RESOLVED r.35539

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(16)

/**
 * Get action map.
 *
 * @param array $sysmap
 * @param int   $options['severity_min']
 *
 * @return CAreaMap
 */
function getActionMapBySysmap($sysmap, $options = array()) {

Actual description of functionality missing.
$options parameter missing.

Eduards RESOLVED r.35539

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(17)

/**
 * Calculate map info.
 *
 * @param array $sysmap
 * @param int   $options['severity_min']	Minimum trigger severity, default value is maximal (Disaster)
 *
 * @return array
 */
function getSelementsInfo($sysmap, $options = array()) {

Again no description of actual functionality.
Missing $options parameter.

Eduards RESOLVED r.35539

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(18)
https://www.zabbix.org/wiki/Docs/specs/coding_style#Multiline_function_parameters_and_array_elements

If function expects array then this should be stated, applies to previous two sub-issues.

Eduards RESOLVED r.35539, Thanks, I will control this rule.

tomtom REOPENED. Looks like I gave link with wrong fragment identifier.
What I meant was that array should be stated: "function do(array arrayPar ..."

Eduards RESOLVED r.35765

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(19)
change
"$i['latelyChanged'] |= ((time() - $trigger['lastchange']) < $config['blink_period']);"
to
"$i['latelyChanged'] |= (time() - $trigger['lastchange'] < $config['blink_period']);"

breaks readability.

Eduards RESOLVED r.35539, changed back

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(20)
change
"$hlabel = $sysmap['label_type_host'] == MAP_LABEL_TYPE_NAME;"
to
"$hlabel = ($sysmap['label_type_host'] == MAP_LABEL_TYPE_NAME);"
just few line further

what guidelines you are using?

Eduards This rule is described in two sections:
1) Return boolean expression (https://www.zabbix.org/wiki/Docs/specs/coding_style#Return_boolean_expression)
Example:
function foo($a, $b)

{ return ($a == $b); }

2) And at Blank spaces in line: (https://www.zabbix.org/wiki/Docs/specs/coding_style#Blank_spaces)
...
$result = ($a < $b) ? $a : $b;
...

tomtom CLOSED. I was thinking about use of parenthesis. OK, so we always put parenthesis around Boolean expressions.

Comment by Toms (Inactive) [ 2013 May 08 ]

(21) Why there is nested structure: "$options['severitiesMin']['severity_min']"? Isn't it possible to use just something like "$options['severitiesMin']"?
class.cpagefilter.php line:253

Eduards I also dislike this place. Variable $options['severitiesMin'] activate listbox functionality in page filter, and $options['severitiesMin']['severity_min'] need to transfer value from request which can be empty. In event when 'severity_min' is empty we still must to show severities listbox.

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 08 ]

(22) new implementation of CSeverity doesn't work with several severity selectors in the same page.

Eduards RESOLVED r.35611

tomtom REOPENED.
When selecting severity in one selector, selected severity in other becomes orange. In dark orange theme.

Eduards RESOLVED r.35765

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 09 ]

(23) If severity switch has to be reworked then it should be created as JQuery plugin.

Eduards RESOLVED r.35611, As we discussed simple way without plugin.

tomtom OK. CLOSED

Comment by Toms (Inactive) [ 2013 May 17 ]

(24) Unable to create map element with host. "Map image update failed" error in alert. Unable to do further testing.

Eduards RESOLVED r.35694

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 22 ]

(25) class.cseverity.php

if (!isset($options['value'])) {
	$options['value'] = null;
}

Constant representing not classified should be used instead of null, to make not classified by default.

Eduards RESOLVED r.35800

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 22 ]

(26) class.cseverity.php

"#'.$options['name'].'_0, #'.$options['name'].'_1, #'.$options['name'].'_2, #'.$options['name'].'_3," + "#'.$options['name'].'_4, #'.$options['name'].'_5"

this string should be generated in PHP taking severity ids from getSeverityCaption()

easy to accomplish in already existing loop

Eduards RESOLVED r.35800

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 22 ]

(27) change, mouseenter and mouseleave events should be assigned using chaining, to not execute
"jQuery("#'.$options['name'].'_0, #'.$options['name'].'_1, #'.$options['name'].'_2, #'.$options['name'].'_3," + "#'.$options['name'].'_4, #'.$options['name'].'_5")"
selector several times.

Eduards RESOLVED r.35800

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 23 ]

(28)
When going to sub-map, min severity of parent map is not taken into account.

Eduards RESOLVED r.35816

tomtom CLOSED

Comment by Toms (Inactive) [ 2013 May 27 ]

TESTED

Comment by Eduards Samersovs (Inactive) [ 2013 May 27 ]

Fixed in versions pre-2.1.0 (beta) r.35873

Comment by Pavels Jelisejevs (Inactive) [ 2013 May 27 ]

(29) Docs.

I've updated:
API changelog - https://www.zabbix.com/documentation/2.2/manual/api/changes_2.0_-_2.2?&#map
API map reference - https://www.zabbix.com/documentation/2.2/manual/api/reference/map/get

martins-v Updated:
https://www.zabbix.com/documentation/2.2/manual/config/visualisation/maps/map
https://www.zabbix.com/documentation/2.2/manual/web_interface/frontend_sections/monitoring/maps
https://www.zabbix.com/documentation/2.2/manual/introduction/whatsnew220#filtering_trigger_severity_in_maps

martins-v I'll set this as CLOSED.

Comment by quentel [ 2013 May 29 ]

Will this be included in a hot fix or something? Which version will it be compatible with?

Comment by richlv [ 2013 May 29 ]

this will be included in zabbix 2.2

Comment by quentel [ 2013 May 29 ]

Thankx!

Comment by Alexander Vladishev [ 2013 Aug 08 ]

(30) Broken the trigger severity radio buttons in the mass update form.

sasha Moved to ZBX-6863. CLOSED

Generated at Thu Jun 12 12:38:20 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.