This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Measure Database/Instance Availability, NOT "Application Availability"

In short: I want to monitor, and eventually quantify in a report down the line, the availability of either a SQL Server instance or an Oracle Database. I understand that there is an "application" availability metric that exists in the SAM monitoring tool; however, this also lumps in whether sub-components of the template have gone critical or not, and doesn't give a true database/instance uptime/availability.

At greater length: What I am after could be considered a "ping" check of sorts. I just want to know, can I reach the database/instance? If not, record it, and we would obviously get a corresponding alert as well with current (out-of-the-box) alerting in place. The issue with the built-in functionality that I've come across, is that if one counter or another goes critical for one polling interval, then it shows that the application was not in an available or was in a critical state at that time. Even though, it is likely the case that there was a dip in buffer cache-hit ratio or something for 5 minutes and the SQL instance never actually went down/unavailable.

Is something like this possible through either custom queries or tweaking a current template? I mean, I get why someone might want to see the "application" availability the way it is designed now, but it really skews results when trying to measure whether the databases/instances were truly unavailable or not.

If I'm way off base here, and this can be accomplished with the current out-of-the-box settings in SAM, please let me know. I just can't seem to find anything useful in getting something more pertinent to what I'm looking for in my research. Again, I want to know if the instance/database is accessible, and only if it is down (timeouts, instance down, etc.) then show that it is critical/unavailable.

Hopefully, in my rambling, I've made a little sense. Any help is appreciated.

Thank you in advance

  • Create a User Experience monitor that performs a simple select statement and add that component monitor to a new template.

    Then base your Availability report off that custom template.

    Or you can do a template with a TCP port check to the specific instance's TCP port.

  • Thank you, this has definitely helped. I figured it would be something simple like this, which I had actually tried initially and couldn't get to work at first, not sure what my hangup was the first time emoticons_laugh.png. I was able to make the check, and that seems to have good trending; however, I can't seem to get what I want out of it via reporting. I basically want a monthly rollup of the data, so that instead of a daily or weekly bar representation it can be designated by month. Is there some way around this using the custom components built into the reports? I am using a custom chart, based off of a custom dataset produced from the check, and the max time period available using this method is 7 days. I'm looking through the custom report-builder tool on the solarwinds server itself, to see if anything can be done from there, but I haven't come across anything that would allow a monthly rollup/aggregation.

  • This is exactly what I do when I build custom APMs. A simple 'select 1' will give you proof of life. I use the same credential the application uses too so I can 'monitor' that as well.