Forum Discussion

Mcygee's avatar
6 years ago

Make Raw Data Available As Simple Array in Complex Datapoints

The ability to reference raw data as a simple array would open up a whole new world of complex datapoint possibilities.  It would solve a lot of the issues people have with only being able to see the current state of the devices.  Let's use UptimeSeconds as an example, part of  WinSystemUptime.  If I wanted to know if the server recently restarted more than once, all I had to do is...


If( and( lt(rawUptimeSeconds[18],800), lt(UptimeSeconds,300)),1,0)


This should tell me using that 19 polls ago the server had only been up for less than 800 seconds and now it's only been up for less than 300 seconds so, assuming my polling interval was properly considered, I can tell it's rebooted twice very recently.   

This is just one example.  I could also use it for state changes.   For instance, I don't want to know about UCS server state alerts unless it was once in a good state.  So I could do something like....


If( and( eq(rawOperState[20],1), or(eq(OperState,0), gt(OperState,1))),1,0)


This should, if my expressions are right, see if a previous Raw Data for OperState (rawOperState[20]) was 1, meaning it was good, and the current OperState is either 0 or greater than 1.  This tells me it was good on the last poll and now it's not.  I realize that the alert would clear eventually regardless of whether or not the server was back in operational state.  But let us worry about that and just give us the tools to customize as we see fit for our environment.  In this case I can make sure the alert doesn't clear automatically for awhile to give me plenty of time to see the alert and investigate. 


These are just two examples of how exposing the Raw Data to complete datapoints could help a lot.