Hello,
I got an app inside a Java runtime. The runtime exposes a JMX MBean for each deployed app. My Zabbix has got JMX items configured to read the MBean's attributes for each deployed app.
My problem is the proper trigger configuration on these JMX items. Naturally, I would like to fire a trigger/action when any of the deployed apps fails. This means I gotta check the item value and availability.
Naively, I thought it would be enough to add a trigger with nodata(T) = 1 and it would handle all the error states (undeployed app/MBean, unavailable JMX, shutdown runtime, etc.).
Nope, it doesn't work like that... When one of the apps crashed its MBean disappeared and the JMX item simply switched to Cannot evaluate function "hostname:jmx["foo","bar"].nodata(90)": item is not supported.
This item error state does not trigger the nodata(T) = 1 so we ended up with a broken app and no notification.
Is there a way to handle this error state?
I got an app inside a Java runtime. The runtime exposes a JMX MBean for each deployed app. My Zabbix has got JMX items configured to read the MBean's attributes for each deployed app.
My problem is the proper trigger configuration on these JMX items. Naturally, I would like to fire a trigger/action when any of the deployed apps fails. This means I gotta check the item value and availability.
Naively, I thought it would be enough to add a trigger with nodata(T) = 1 and it would handle all the error states (undeployed app/MBean, unavailable JMX, shutdown runtime, etc.).
Nope, it doesn't work like that... When one of the apps crashed its MBean disappeared and the JMX item simply switched to Cannot evaluate function "hostname:jmx["foo","bar"].nodata(90)": item is not supported.
This item error state does not trigger the nodata(T) = 1 so we ended up with a broken app and no notification.
Is there a way to handle this error state?
Comment