Hi
I created these link-down triggers in zabbix:
Problem: {Host:net.if.adminstatus[ifAdminStatus.XY].last()}=1 and {Host:net.if.operstatus[ifOperStatus.XY].last(#2)}=1 and {Host:net.if.operstatus[ifOperStatus.XY].diff()}=1
Recovery: {Host:net.if.adminstatus[ifAdminStatus.XY].last()}<>1 or {Host:net.if.operstatus[ifOperStatus.XY].last()}=1
My intention with this trigger was to raise an alert, if the interface is admin enabled, has been operational up in the past, and the interface operational state changed. The alert should recover if the interface goes admin down or operational up. I need to evaluate the operational state in the past, because some interfaces are admin enabled and operational down and are not in use yet. Thus they have not been up in the past and I don't care about these interfaces.
These triggers worked quite well, but today I discovered one drawback. If the device is unreachable while the interface switches from up to down and stays unreachable for some time, I do not get an alert if the device is reachable again and the interface is still down. It seems {Host:net.if.operstatus[ifOperStatus.XY].last(#2)}=1 or {Host:net.if.operstatus[ifOperStatus.XY].diff()}=1 doesn't work if the device has been unrechable for some time.
So, what is exactly the behaviour of last and diff functions it the device is unreachable? Is there any possibility to get the last "known" value from last(), which means the value before the device was unreachable? I did not find a clear statement in the documentation. Further, do you have an idea how to redesign these link triggers?
Thank you!
Holger
I created these link-down triggers in zabbix:
Problem: {Host:net.if.adminstatus[ifAdminStatus.XY].last()}=1 and {Host:net.if.operstatus[ifOperStatus.XY].last(#2)}=1 and {Host:net.if.operstatus[ifOperStatus.XY].diff()}=1
Recovery: {Host:net.if.adminstatus[ifAdminStatus.XY].last()}<>1 or {Host:net.if.operstatus[ifOperStatus.XY].last()}=1
My intention with this trigger was to raise an alert, if the interface is admin enabled, has been operational up in the past, and the interface operational state changed. The alert should recover if the interface goes admin down or operational up. I need to evaluate the operational state in the past, because some interfaces are admin enabled and operational down and are not in use yet. Thus they have not been up in the past and I don't care about these interfaces.
These triggers worked quite well, but today I discovered one drawback. If the device is unreachable while the interface switches from up to down and stays unreachable for some time, I do not get an alert if the device is reachable again and the interface is still down. It seems {Host:net.if.operstatus[ifOperStatus.XY].last(#2)}=1 or {Host:net.if.operstatus[ifOperStatus.XY].diff()}=1 doesn't work if the device has been unrechable for some time.
So, what is exactly the behaviour of last and diff functions it the device is unreachable? Is there any possibility to get the last "known" value from last(), which means the value before the device was unreachable? I did not find a clear statement in the documentation. Further, do you have an idea how to redesign these link triggers?
Thank you!
Holger
Comment