I love SAM script monitors. They can hold up to 10 statistic/10 message pairs.
They are very versatile, and there are unlimited ways in which you could use these amazing components.
Once you have mastered the fine art of using SAM component script monitors, you have the awesome power of solarwinds SAM at your disposal.
They unfortunately have one giant flaw which I am however very unhappy with: Alerting.
Before I go further, let me make my case. Imagine you have a single component which uses the maximum of 10 statistics.
Then, let's also assume you want to alert on each one of those statistics. In an ideal world, you would only need 2 alerts to alert on all 10 statistics.
There isn't a straightforward way to do the below through using the condition builder GUI, but this can be accomplished using custom SWQL. Here is the basic logic of what those alerts would consist of.
1) Any Component Statistic reaches/crosses warning threshold
2) Any Component Statistic reaches/crosses critical threshold
This part isn't the problem. The problem begins when you would like to alert on the individual statistic in question under a single alert.
Here's what that scenario might look like (in a worse case)
1) For componentID 'A', Component Statistic 'X' crosses its threshold
2) For componentID 'A', Component Statistic 'Y' ALSO crosses its threshold during the same polling cycle
3) For componentID 'A', Component Statistic 'Z' ALSO crosses its threshold during the same polling cycle... and so on.
Now, because the alerting object is at the COMPONENT level, only ONE alert will be created for the first component statistic in line (Component Statistic 'X' for ComponentID 'A')
This is because there is a single alert and under this alert, you can have only one alert per alerting object (which is a unique component in this case - ComponentID 'A').
The alerting object is a component, and you get one alert per alerting object.
In order to work around this issue, you would have to do one of the following:
1) Separate component statistics into separate components, one component for each statistic you would like to alert on.
Each statistic would be isolated to an individual component, which would allow alerting per component.
Issue: The ability to use 10 statistic per component is lost. Let's say you are making a single API call for 10 statistics. You now have to make 10 API calls purely because of alerting.
2) Keep the 10 statistics in the single component intact, and create multiple alerts, as such:
A) Alert: Warning Threshold reached/crossed for Statistic X
Alert: Critical Threshold reached/crossed for Statistic X
C) Alert: Warning Threshold reached/crossed for Statistic Y
D) Alert: Critical Threshold reached/crossed for Statistic Y
E) Alert: Warning Threshold reached/crossed for Statistic Z
F) Alert: Critical Threshold reached/crossed for Statistic Z... and so on
Issue: The ability to leverage 2 alerts to manage all statistics is not possible, and alerts must be scaled to accomodate. This puts unneccesary workload on the alerting engine.
I hope I've made my case clear as to what the issue is here. With the ability to alert on individual component statistics within a script monitor, both scenarios could be avoided, and it would be possible to summarize / simplify alerting for many components with nested statistics for multiple applications much easier.
Right now, individual statistics in a SAM script monitor are not initialized/created as swis entities. If we moved to this model, alerting on individual statistics would be possible, and would make a major difference in large environments where custom application monitoring is critical to an efficient solarwinds implementation.
I'd love to hear from the community - has anyone else hit this roadblock and would also like to see this implemented? Please share your stories and add your vote for this feature!
Shout out to aLTeReGo for confirming that this issue exists in the following post: Creating alerts for statistic data collected by windows script
Thank you,
Justin Valdez
Systems Engineer, Tobias International
justin.valdez@tobiassystems.com