Ad Widget

Collapse

Triggers with nodata() do not enter a problem state when delayed data is received

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • james.cook000@gmail.com
    Member
    • Apr 2018
    • 49

    #1

    Triggers with nodata() do not enter a problem state when delayed data is received

    Hi People,

    Firstly Zabbix is doing exactly what i am asking it to do....

    To test this scenario:

    * Define item
    * Define trigger with expression of "item.nodata(300)=0" and recover expression of "item.nodata(300)=1"
    * Use zabbix_sender to send item data with a timestamp of 600 seconds ago (ie zabbix_sender -z zabbix-server -i ./zabbix_item_data.txt -T) ---- TRIGGER WILL NOT ENTER A PROBLEM STATE
    * Use zabbix_sender to send item data with a timestamp of 100 seconds ago (ie zabbix_sender -z zabbix-server -i ./zabbix_item_data.txt -T) ---- TRIGGER WILL ENTER A PROBLEM STATE AND THEN RECOVER IN 200 SECONDS

    If you have issues with Zabbix proxies / Zabbix agents / Zabbix Sender where the data is delayed this will effect your nodata() triggers.

    The actual impacts to us was that we received some old data (snmptrap) that would have actually has the trigger enter a problem state and resulted in an action; however as a result the trigger did not enter a problem state and we missed the event.

    I am after a solution that will cater for the above if any one can help?

    Its almost like there needs to be a trigger function that returns the items submission time in epochtime ie the equivalent of item.now(); then you could do a trigger like:

    * expression - item.nodata(300)=0 or (item.now() - item.submissiontime() > 300)
    * recovery expression - item.nodata(300)=1

    The above would cause the trigger to initially fire regardless and then in the next evaluation recover.

    Regards
    James
  • Andrzej PAwlik
    Junior Member
    • Feb 2019
    • 27

    #2
    item.nodata(300)=1 is true when in graph no data


    Define trigger with expression of "item.nodata(300)=1" and recover expression of "item.nodata(300)=0"


    Comment

    • james.cook000@gmail.com
      Member
      • Apr 2018
      • 49

      #3
      Thanks to Glebb I have tested and confirmed a solution which is to use count() in the expression rather than nodata() : See https://support.zabbix.com/browse/ZBX-15761

      Comment

      Working...