Zabbix 2.4 features, part 1 – Multiple LLD filters

Zabbix 2.4 is the upcoming major Zabbix version. While initially scheduled to be released in May 2014, it will be slightly delayed – Zabbix team is working hard, but there’s still a lot they would like to include in this release. While the new version is being baked, we can already start looking at the new features that will arrive with it. The first one will be a feature that Zabbix Conference 2013 participants voted on – multiple filters for the low level discovery.

Articles in 2.4 feature series:

Voting for features during the conference

Before we talk about this feature, let’s revisit the way it got to be developed.

At the Zabbix conference 2013, every participant had a chance to influence which feature would be developed. Out of the top 20 voted features, Zabbix team chose 5 that were specific enough and not terribly complicated. Everybody who attended the Zabbix party after the first day of the conference got a chance to vote on one of the features. The feature that got the biggest amount of votes was to be implemented by Christmas 2013 (or for us more Nordic types, winter solstice).

The list of features that were put up for voting:

  • a graph for an item on all hosts in a specific group (ZBXNEXT-570)
  • filtering by multiple LLD macros/variables (ZBXNEXT-581)
  • runtime control of Zabbix daemons – debug level (ZBXNEXT-416)
  • viewing all graphs for a host on one page (ZBXNEXT-75)
  • force to check a polled item (ZBXNEXT-473)

At the party location, coloured posters were placed and boxes of the same colour were used to match with features. Apparently, we were all very excited about this process and there are very few photos – here’s one where the features seem to be introduced:

After the voting time was over, the votes cast were counted and winner announced. The winner was filtering by multiple LLD macros/variables (ZBXNEXT-581).

As sometimes happens with software development, it did not quite make it by the end of 2013… but not that long afterwards 🙂

What do “multiple LLD filters” mean?

Back when low level discovery (LLD) was first developed for Zabbix 2.0, a need to filter the discovery results in some way was recognised and filtering by one LLD macro (which could be thought to be more like variables) was included. This allowed to filter, for example, by discovered filesystem type. A bit later it turned out that there are some cases where filtering by multiple macros/variables would be useful – for example, on Solaris global zone the agent would discover all the filesystems, but would only be able to monitor the ones for the global zone itself. One would be able to filter by filesystem type or name, but not by both at the same time.

The new LLD filtering capabilities

With the new development, one may now specify any amount of filter rules – filter fields have been brought out in their own tab in LLD rule properties:

Multiple entries can be added here, and then a “Type of calculation” dropown appears. Entries “And”, “Or” and “And/Or” should be familiar from action condition configuration – but there’s a new one…

The new Custom expression option allows to write in any formula to evaluate the LLD filter entries. Of course, global regular expressions are still supported (the ‘@’ prefixed-string in the screenshot above) – combining them with a custom expression should allow to create really flexible filtering conditions. As an example, one could filter by type and match only the filesystems, mounted in /export and /pub (this could be done with a single regular expression, but we want to use the new custom expression feature):

Test it!

If you are interested in this feature, please test the latest Zabbix development version – that way the final 2.4 release is more likely to work flawlessly for you.

We also hope that conference participants enjoyed thinking about which feature matters most for them and prioritising the “resources” they were given 😉

Leave a Reply