Where do I look to add monitoring for the IIS 7 App Pools?
Where do I look to add monitoring for the IIS 7 App Pools?
Votes:
0
Best Answer
Votes:
0
The PerfCounter IIS Application Pool Sensor is natively available in PRTG as of version 13.
7 Replies
Votes:
0
I am also looking for the same thing. How to monitor IIS App Pools ?
Has any found an answer yet ?
Votes:
0
Same here.. have loads of app pools want to make sure I'm warned if one is misbehaving.
Votes:
0
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
Votes:
0
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,360)
●2
●2
Last change on Mar 13, 2013 2:21:33 PM by
Johannes Herrmann [Paessler Support]
(1,360)
●2
●2
Votes:
0
The PerfCounter IIS Application Pool Sensor is natively available in PRTG as of version 13.
Votes:
0
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
Add comment