Export (0) Print
Expand All

How to Display Monitor Thresholds

Updated: May 22, 2009

Applies To: Operations Manager 2007 R2, Operations Manager 2007 SP1

To display monitor thresholds, use the script described in this section. This script works for the majority of monitors. It creates a .csv file with the following columns and can be viewed using Microsoft Office Excel.

 

Column Description

Type

The type of objects the monitor is targeted to

DisplayName

The display name of the monitor

Threshold

The threshold used by the monitor

AlertOnState

Determines whether the monitor generates an alert when the state changes

AutoResolveAlert

Determines whether the generated alert will be automatically resolved when the monitor state goes back to green

AlertSeverity

The severity of the generated alert

Run the following script to create the .csv file that displays the monitor thresholds:

function GetThreshold ([String] $configuration) 
{ 
$config = [xml] ("<config>" + $configuration + "</config>") 
$threshold = $config.Config.Threshold 
if($threshold -eq $null) 
{ 
$threshold = $config.Config.MemoryThreshold 
} 
if($threshold -eq $null) 
{ 
$threshold = $config.Config.CPUPercentageThreshold 
} 
if($threshold -eq $null) 
{ 
if($config.Config.Threshold1 -ne $null -and $config.Config.Threshold2 -ne $null) 
{ 
$threshold = "first threshold is: " + $config.Config.Threshold1 + " second threshold is: " + $config.Config.Threshold2 
} 
} 
if($threshold -eq $null) 
{ 
if($config.Config.ThresholdWarnSec -ne $null -and $config.Config.ThresholdErrorSec -ne $null) 
{ 
$threshold = "warning threshold is: " + $config.Config.ThresholdWarnSec + " error threshold is: " + $config.Config.ThresholdErrorSec 
} 
} 
if($threshold -eq $null) 
{ 
if($config.Config.LearningAndBaseliningSettings -ne $null) 
{ 
$threshold = "no threshold (baseline monitor)" 
} 
} 
return $threshold 
} 
$perfMonitors = get-monitor -Criteria:"IsUnitMonitor=1 and Category='PerformanceHealth'" 

$perfMonitors | select-object @{name="Target";expression={foreach-object {(Get-MonitoringClass -Id:$_.Target.Id).DisplayName}}},DisplayName, @{name="Threshold";expression={foreach-object {GetThreshold $_.Configuration}}}, @{name="AlertOnState";expression={foreach-object {$_.AlertSettings.AlertOnState}}}, @{name="AutoResolveAlert";expression={foreach-object {$_.AlertSettings.AutoResolve}}}, @{name="AlertSeverity";expression={foreach-object {$_.AlertSettings.AlertSeverity}}} | sort Target, DisplayName | export-csv "c:\monitor_thresholds.csv"

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft