Dude labels freezing - not updaing untill changed

Greeting,

I have a rather big problem with labels in Dude getting “stuck”. Basicly, they will not update untill the label is changed.

Here is an example when a label gets stuck - - - - - - - - - - All I did was add a space to “refresh” it and it works again


Here is the code for the label:

[Device.Name]
[Device.FirstAddress]
[Device.ServicesDown]
cpu: [cpu_usage()]% mem: [round(mem_usage_RB())]% hdd: [round(hdd_usage())]%

VRRP Status: [ros_vrrp_Status()]
Internety: [ros_Internet_Status()]

cpu_, mem_ and hdd_ usage are standard SNMP read functions using oid(“x.x.x”)
ros_ are functions using ros_command(“”)

More specifically:

ros_vrrp_Status 
if(ros_command("/sys script run dude_isMaster"), "Master", "Slave")

ros_Internet_Status
if(ros_command("/sys script run dude_isMaster"), "Running", "Down")

Scripts ran on the MikroTiks simply return “1” or “0” with :put.

:if ([/interface vrrp find master] = "") do={:put 0} else={:put 1}

Anyone ever ran into something like this?
How can I fix it? The labels dont refresh by themselves until manual action is taken.

Thanks!

tom

Anybody, any ideas?

This is causing me massive headaches, and a manual intervention so dude works atleast 3 times daily…

I am guessing but I believe the issue is the dude sometimes fails to process a result but then remembers for 300 seconds. You will also notice any outage is 300 seconds no mater how many times you re-probe a failed probe…

Read up on negative cache time… I modified my cpu_usage function to look as follows:
average(oid_column(“iso.org.dod.internet.mgmt.mib-2.host.hrDevice.hrProcessorTable.hrProcessorEntry.hrProcessorLoad”, 10, 5))

HTH,
Lebowski

Sadly, its not negative cache time, the label can stay frozen like this for days :frowning:

However, ROS_Command function had infinite negative cache time, that would explain that.
I will try and experiment if I can change that somehow.