Em praticamente todo cliente em que eu faço um projeto de SCOM eu sou questionado sobre quais threshoulds estão configurados no SCOM, e apesar de não ter um jeito muito simples de ver isso pela Console, o power shell do SCOM resolve isso de forma bem simples, é rodar o PS abaixo, que ele exporta um arquivo CSV com as seguintes colunas:
Type:o tipo de objetos do monitor DisplayName:o nome de exibição do monitor Threshould: O Threshould utilizado pelo monitor AlertOnState: se o monitor gera um alerta quando seu estado é alterado AutoResolveAlert:se o alerta gerado será o autoresolved, quando o estado do monitor voltar a ser verde AlertSeverity:a gravidade do alerta gerado
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($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"
Enjoy !! Robson Silva