What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags

View all Tags

Application SLA monitoring



My Business want's to have SLA report on individual business applications. So I need to present a figure saying that "Dynamics AX" was up 98% of agreed time last month. In order to do so I need to collect aggregated information on all devices and services the are used to "produce" the "Dynamics AX" service incl. routers, switches, serveres disk systems, database servers etc. and get 1 uptime figure at the bottom.

However some of these devices are also part of other application SLA at the same time, so some sensor needs to be reported twice - Once for each application SLA figure. Is that possible i Paessler and how do you configure it?


application reporting sla

Created on Jul 8, 2011 3:24:53 PM

11 Replies




this report is much too individual to be realized with PRTG.

What you could do is to get the data from the individual sensors using the PRTG API.


and then use the data to generate your own report.

Created on Jul 10, 2011 7:21:11 AM by  Aurelio Lombardi [Paessler Support]



I might have formulated my question incorrectly, but I dont agree that this is a highly individualised report. The question is wether you can cobine sensors from several devices into a 'pseudo' and get the "uptime" for that pseudo device?

Can you do that in Paessler?


Created on Jul 11, 2011 2:27:00 PM



this is not possible at the moment, sorry.

Created on Jul 12, 2011 8:12:26 AM by  Aurelio Lombardi [Paessler Support]



You could write yourself a custom sensor that goes into an error state if any of the given sensors are down. That way you can use the results of your custom sensor as the overall uptime.

Created on Jul 19, 2011 9:44:35 AM



I want to do the same thing. I think PRTG would benefit from SLA monitoring, it would be easier to sell to management as a tool for them to monitor SLA's (maybe a gauge style dashboard) than it is now where they see it as a "technical" tool.

By "custom" you mean a sensor factory sensor?

If so I have done this, however I need to use Boolean logic as for example I may have one SQL server but 3 web servers and the "application" is not necessarily down if one web server is down.

I have created this sensor and it looks fine in live graph and as a library, however the reports it can create are poor as the 4 component sensors (which are now channels) show no data and downtime is the only channel with data.

it would be better if all the channels showed their data and that uptime was available as a percentage too.

One thing to remember is that you must set the scanning iterval to match that of the component sensor with shortest scanning interval

Created on Jan 4, 2012 5:09:03 PM



I agree this feature would be very nice to have.

In my case I want to monitor overall uptime of all sensors/devices, therefore using a Sensor Factory Sensor would be ridiculous to create, as I would need to input the information for every single sensor on my PRTG Monitoring System, which has around 2500 sensors. Not to mention if I needed to view two channels from some of those sensors, it could well end up being over 4000 entries or more.

In the case of a dashboard object, I took the Top 10 Worst Uptime Object and edited my own version where it takes a single uptime of the worst sensor and displays that. I have yet to work out logic to make an average filter, if it is even possible using the system placeholders.

Created on Dec 9, 2016 7:45:09 PM

Last change on Dec 12, 2016 6:09:12 AM by  Felix Saure [Paessler Support]



Hi All,

I wrote a Powershell Script that uses PRTG's HTTP-API to acquire the average of the uptime for all sensors in your Monitoring System. This way you can Monitor if you are meeting your SLA for uptime. Just create a EXE/SCRIPT Sensor that will run the code provided.

###Written by: Evan Lane###
###Following Line is in the case of Self-Signed SSL###
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

###Grab all Sensor IDs from List###
[xml]$ini = (new-object System.Net.WebClient).downloadstring($apiurl)

###Declare Array to put all uptimes into at end of Foreach###
$target = @()

###For Each Sensor in PRTG, input Uptime into Array###
$ini.sensors.item | foreach {
    [xml]$result = (new-object System.Net.WebClient).downloadstring($sensorapiurl)

    ###Remove String Chars from Uptime###
    [string]$strNum = $result.sensordata.$node.innertext.replace("%","").replace(".","")

    ###Check For N/A Uptime Sensors###
    If ($strNum -eq "N/A") { 

    ###Convert Uptime to Integer then divide to Percentage Value###
        [int]$intNum = [convert]::ToInt32($strNum, 10)

        $target += $intNum/10000

$avg = ($target | Measure-Object -Average)
$final = [math]::Round($avg.Average, 2)

###Sensor Formatting value:message###
write-host $final":"Current SLA is $final%

For Dashboard integration - Add a Status and Message Object for this Sensor to your Map. it will display the Message of "Current SLA is Precentage"

For Report generation - Change the output of the script from write-host to | Out-File -filepath C:\Example

Hopefully this meets your requirements!

Created on Dec 22, 2016 6:57:25 PM



Hey Evan, thanks for the help here! Really appreciate it :) Happy holidays!

Created on Dec 26, 2016 8:10:02 AM by  Stephan Linke [Paessler Support]

Last change on Dec 26, 2016 8:10:12 AM by  Stephan Linke [Paessler Support]



This is great.

Is there a way so that we can report this but not on all sensors but say a library?

Created on Jan 26, 2017 7:06:17 PM



Hi @JGW777

I have taken a quick look through PRTG API/Live Data (accessible via https://hostname/api.html?tabid=3 on your PRTG Server), which has a lot of the information in regards to how to make the report like I did through the PRTG WebServices.

I don't see anything on there in regards to filtering by a library, the XML Table Query Builder closest thing seems to be groups. You could modify my previous script to only add and average specific sensors, basically manually inputting each sensor from a library. This could take a long time to do, but it's the best alternative I can find myself.

Perhaps @Stephan Linke would know more.


Created on Jan 27, 2017 2:12:49 PM



Depending on how the sensors are added to the library, you could use &filter_tags=tag(tag1,tag2) in the API call. But for manually added sensors, there's no way I'm aware of to filter for them :/

Created on Jan 27, 2017 2:16:22 PM by  Stephan Linke [Paessler Support]

Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.