Invalidate/skip DCI value using transofrmation?

Started by blazarov, November 05, 2015, 09:17:33 AM

Previous topic - Next topic

blazarov

Hi
Is there a way to invalidate a value and just force netxms to NOT write the value recieved in the database.
I need that because we're extensively using imcp.pingresponsetime function on remote agents. When a monitored node goes down the agent returns value of 10000ms which renders my graph useless and also skews the max/avg stats.
What i need is to get no data for icmp round trip time while the node is unreachable. I have partial success with replacing 10000 with 0 which makes the graph look acceptable, but still skews the averages.
So is there a way to prevent a value from being written into the dci value database?

tomaskir

Hi, currently it is not possible.

There is a feature request for this here, you can follow it to get updates:
https://dev.raden.solutions/issues/676

blazarov

Nice, good to know.
Will this feature help in my case - when the device goes back up and returns good value will it return automatically from unsupported state?

tomaskir

Yes, because in transform scrip, you will be able to return a data collection error when the return value ($1) is 10000.
When an actual value is returned again (not timeout), the transform script would do nothing.

Is basically exactly what you are doing now, but instead of 0, you will return data collection error object.