Store value collected by performance collection for monitor to pick up, i.e. share results between perf collection and monitor

T_Schneider 186 Reputation points
2021-03-05T08:56:33.357+00:00

Hi all,

I was tasked by our Linux admins to create a performance collection to see how many nodes in a system are busy at a time. The script for that uses vmstat and lscpu and takes some time to run. The script is executed every five minutes and the results are returned ok and can be displayed as graph in SCOM.
Now they want to get alerted when a certain threshold is reached. I could create a monitor for that using the very same script. I was wondering if there is a smarter way of doing that by temporarily storing the number the performance collection script has already gathered so that the monitor could pick that up. That would reduce the load on the system to collect the data. One way would be to store it somewhere in the filesystem. Not sure, if that is a good approach though.
How does the other monitors and performance collections like cpu and disk space, do that ?

Thanks in advance
Thorsten

Operations Manager
Operations Manager
A family of System Center products that provide infrastructure monitoring, help ensure the predictable performance and availability of vital applications, and offer comprehensive monitoring for datacenters and cloud, both private and public.
1,413 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. CyrAz 5,181 Reputation points
    2021-03-05T12:14:29.977+00:00

    What you're looking for is implementing Cookdown : basically, when multiple rules or monitors use the same datasource and run at the same time (so with same interval and sync time) and with the same config (ie. parameters are identic), the datasource only run once.

    0 comments No comments

  2. T_Schneider 186 Reputation points
    2021-03-08T11:05:17.657+00:00

    ok, I wasn't aware that Cookdown is gonna work across monitors and rules. Thanks for pointing me in that direction, I'll give that a try