New Question
 
 
PRTG Network Monitor

Intuitive to Use.
Easy to manage.

200.000 administrators have chosen PRTG to monitor their network. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free PRTG
Download >>

 

What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general. You are invited to get involved by asking and answering questions!

Learn more

 

Top Tags


View all Tags


Where do I look to add monitoring for the IIS 7 App Pools?

Votes:

0

Your Vote:

Up

Down

Where do I look to add monitoring for the IIS 7 App Pools?

app-pools iis monitoring

Created on Aug 28, 2010 3:18:30 AM by  Anthony Morgan (0) 1



Best Answer

Accepted Answer

Votes:

0

Your Vote:

Up

Down

The PerfCounter IIS Application Pool Sensor is natively available in PRTG as of version 13.

Created on Dec 12, 2013 5:39:40 PM by  Gerald Schoch [Paessler Support]



7 Replies

Votes:

0

Your Vote:

Up

Down

I am also looking for the same thing. How to monitor IIS App Pools ?

Has any found an answer yet ?

Created on Sep 2, 2010 12:08:22 PM by  Anderson (0) 1



Votes:

0

Your Vote:

Up

Down

The same question.

Created on Oct 14, 2010 12:13:32 PM by  Gennady (60) 2 1



Votes:

0

Your Vote:

Up

Down

Same here.. have loads of app pools want to make sure I'm warned if one is misbehaving.

Created on Sep 14, 2011 11:06:30 AM by  Funke (0)



Votes:

0

Your Vote:

Up

Down

PRTG does not natively support monitoring IIS App Pools yet. We are working on an easy to use solution. Until then you must create a custom sensor to achieve this.

It is possible to monitor these using WMI, the following articles have details.

http://stackoverflow.com/questions/4790684/application-pool-memory-usage-monitor

http://serverfault.com/questions/100816/whats-the-best-way-to-monitor-a-large-number-of-application-pools-in-iis7

Created on Sep 16, 2011 8:01:05 AM by  Dirk Paessler [Founder Paessler AG] (10,900) 3 4



Votes:

0

Your Vote:

Up

Down

We've just added a new sensor "PerfCounter ISS Application Pool BETA". It will be available in the Canary Branch in 24 hours and in the stable branch early in Q1 2013. It allowes application pool monitoring for IIS 7.5 and higher.

Please keep in mind, that you will need the Remote Registry service to be running on the target system.

Created on Nov 12, 2012 1:23:00 PM by  Johannes Herrmann [Paessler Support] (1,330) 2 2

Last change on Mar 13, 2013 2:21:33 PM by  Johannes Herrmann [Paessler Support] (1,330) 2 2



Accepted Answer

Votes:

0

Your Vote:

Up

Down

The PerfCounter IIS Application Pool Sensor is natively available in PRTG as of version 13.

Created on Dec 12, 2013 5:39:40 PM by  Gerald Schoch [Paessler Support]



Votes:

0

Your Vote:

Up

Down

I have written a custom sensor that is able to read CPU and Memory load for the Application Pool as well. However, when I have about 20-40 sensors (one for each AppPool), once in a while it seems that WMI overloads and all the sensors report an error. I was wondering if anyone would be able to optimize the below custom sensor?

$AppPoolClass = @{
  IsRunning = $IsRunning
  IsStarted = $IsStarted
  CPULoad = $CPULoad
  MemoryLoad = $MemoryLoad
}

# ********************************************************************************************
$FindAppPool = $args[0]

$AppPool = New-Object PSObject -Property $AppPoolClass
$AppPool.IsRunning = $False
$AppPool.CPULoad = 0
$AppPool.IsStarted = $False
$AppPool.MemoryLoad = 0

$FoundPool = Get-WmiObject -Namespace "root\WebAdministration" -query "SELECT * From ApplicationPool WHERE Name = '$($FindAppPool)'"

If ($FoundPool -And $FoundPool.GetState().ReturnValue -Eq 1)
{
	$AppPool.IsStarted = $True

	$wp = Get-WmiObject -Namespace "root\WebAdministration" -query "SELECT ProcessId From WorkerProcess WHERE AppPoolName = '$($FindAppPool)'"

	If ($wp)
	{
		$AppPool.IsRunning = $True
		$processInfo = Get-WmiObject -query "SELECT PercentProcessorTime,WorkingSet From Win32_PerfFormattedData_PerfProc_Process WHERE idProcess = $($wp.processId)"
		$AppPool.CPULoad = $processInfo.PercentProcessorTime
		$AppPool.MemoryLoad = [Math]::Round( $processInfo.WorkingSet / 1024, 2)
	}
}

$xmlOutput  = '<?xml version="1.0" encoding="Windows-1252" ?>' + "`n"
$xmlOutput += '<prtg>' + "`n"

$xmlOutput += '	<result>' + "`n"
$xmlOutput += '		<channel>Started</channel>' + "`n"
$xmlOutput += '		<float>1</float>' + "`n"
$xmlOutput += '		<value>'
If ($AppPool.IsStarted -Eq $True) { $xmlOutput += '1.00' } else { $xmlOutput += '0.00' }
$xmlOutput += '</value>' + "`n"
$xmlOutput += '	</result>' + "`n"

$xmlOutput += '	<result>' + "`n"
$xmlOutput += '		<channel>Running</channel>' + "`n"
$xmlOutput += '		<float>1</float>' + "`n"
$xmlOutput += '		<value>'
If ($AppPool.IsRunning -Eq $True) { $xmlOutput += '1.00' } else { $xmlOutput += '0.00' }
$xmlOutput += '</value>' + "`n"
$xmlOutput += '	</result>' + "`n"

$xmlOutput += '	<result>' + "`n"
$xmlOutput += '		<channel>CPU Load (Percentage)</channel>' + "`n"
$xmlOutput += '		<unit>CPU</unit>' + "`n"
$xmlOutput += '		<value>'
$xmlOutput += $AppPool.CPULoad
$xmlOutput += '</value>' + "`n"
$xmlOutput += '	</result>' + "`n"

$xmlOutput += '	<result>' + "`n"
$xmlOutput += '		<channel>Memory Load (MB)</channel>' + "`n"
$xmlOutput += '		<unit>BytesMemory</unit>' + "`n"
$xmlOutput += '		<volumesize>MegaByte</volumesize>' + "`n"
$xmlOutput += '		<value>'
$xmlOutput += $AppPool.MemoryLoad
$xmlOutput += '</value>' + "`n"
$xmlOutput += '	</result>' + "`n"

$xmlOutput += '	<text>OK ('
$xmlOutput += $FindAppPool
$xmlOutput += ')</text>' + "`n"
$xmlOutput += '</prtg>'

$xmlOutput

Created on Jan 11, 2014 12:58:28 PM by  zoetjuh (0)



Please log in or register to enter your reply.


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.