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.

How is Application Status calculated?

Hello Folks,

I am new to SolarwindsOrion and have been trying to understand the application status calculation but couldn't get hold of it.

I went through the queries of APM_ApplicationStatus query and was trying to understand the calculation behind the PercentAvailability.

For example in the below query i didn't quite understand what is record count? How is PercentAvailability calculated at the first place?

SELECT

max(APM_ApplicationStatus.TimeStamp) as Month,

Nodes.Caption,

APM_Application.Name AS ApplicationName,

sum(APM_ApplicationStatus.PercentAvailability * APM_ApplicationStatus.RecordCount) / sum(APM_ApplicationStatus.RecordCount) AS PercentAvailability

FROM APM_ApplicationStatus with(nolock)

INNER JOIN APM_Application with(nolock) ON APM_Application.ID = APM_ApplicationStatus.ApplicationID

INNER JOIN Nodes with(nolock) ON Nodes.NodeID = APM_Application.NodeID

WHERE APM_ApplicationStatus.TimeStamp >= dateadd(minute, datediff(minute, getdate(), getutcdate()), dateadd(month, datediff(month, 0, getdate()), 0))

GROUP BY APM_Application.ID, APM_Application.Name, Nodes.Caption

ORDER BY Nodes.Caption, APM_Application.Name

I want to be able to calculate the Application status by week,month,quarter and year and not by per day.

It would be great if you guys can help me in figuring this out.

Thank you!

  • Percent availability is basically any time they polled and the application was not down.  What down means depends on your application template and the individual components within it.  The overall application inherits the worst status of any component, so if you have a service running over the specified memory threshold it will display as being critical, but still have 100% availability.  If the monitored service were to stop then the entire application would display as down with 0% availability during that polled interval.

  • Hi,

    Thank you for the answer but this is not what i am looking for.

    I want to know how is this calculated.

    I understand that there is only 0 and 100% when its down and up.

    How is RecordCount calculated?

  • Recordcount has to do with the aggregation that Orion does on older data.  Under default settings you would hold detailed stats from every polling cycle for 30 days, so for data in that period the record count is always 1 per poll cycle and availability will always be either 0/100. After 30 days Orion will take all of the 0's and 100's and average the values out to get hourly averages, and the record count would be the number of polls during that hour. After 90 days the datapoints are converted to daily averages, and record count would be the sum of all the hourly averages during that day.  If your report isn't looking back further than a month then the recordcount will always be 1 for each timestamp. After 30 days it will normally be ~12, and after 90 days it should be ~288

  • Okay I understand some what from your explanation now.

    I am looking for an 'Application(APM_Application.Name) availability/unavailability report for the last 6 months' and its really confusing the way I have used the existing solarwindsorion sql queries to get the output.

    Is there any query that can be used according to my requirement?

  • Why even bother with all these digging around in the database, you can build a report to do this in the GUI in like 5 minutes.

    Create a new report

    Add a table, it will ask you for a datasource, choose "I want to report on Application" and if you want to specify which applications or anything else you can filter it here.

    pastedImage_0.png

    It asks you what columns you want in the report, I choose Node Caption, Application Name, and percent availability, then set the data aggregation for percent availability to "Average"

    pastedImage_3.png

    Finish from that screen, change the Last 30 days pull down to a custom selection if you want to do 6 months

    pastedImage_6.png

    There you go, 6 month availability averages, you can tweak the availability column to only show a specific number of decimals if you want but really thats all there is to it.  No SQL required.

    pastedImage_7.png

  • Thank you so much Mesverrum!