8

From the Zabbix Manual the calculated items expression follows the form,

func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)

This is fine for computations using functions over a single item like,

max("temp1",120)

How should a function like min() be applied over 3 different items so it returns the lowest of those?

Joao Figueiredo
  • 3,120
  • 3
  • 31
  • 40

2 Answers2

1

Unfortunately, that is currently not supported. You may vote on a feature request: https://support.zabbix.com/browse/ZBXNEXT-1829

Richlv
  • 3,954
  • 1
  • 17
  • 21
0

The answer is in the documentation here http://www.zabbix.com/documentation/2.0/manual/config/items/itemtypes/aggregate

Put the hosts into a group "mygroup" and then:

grpmin["mygroup","temp1",last,0]

If instead, you wanted the minimum of 3 items for the same host, don't do this in an item. Instead put the function in the trigger where you can easily trigger when the min temperature reaches a certain value.

Ari Maniatis
  • 8,038
  • 3
  • 19
  • 28
  • Thank you Ari. But I already knew about aggregate functions. Please note that my goal is to apply a function over different items, not same named ones in different hosts. Something like min("temp1", "temp3", "temp5", 120) – Joao Figueiredo May 28 '12 at 09:07
  • I tried to answer both possible versions of the ambiguous question you posed. First I explained how to group items from different hosts, then I explained that if you wanted different items in the same host you needed to do that in the trigger, not in another item. – Ari Maniatis Jun 05 '12 at 10:03
  • Though a Trigger allows to use logical operators over multiple checks (each a function over a single item) that's certainly not what I stated in my goal. – Joao Figueiredo Jun 06 '12 at 18:11