本文件已封存並已停止維護。

瞭解自我調整閾值監視

更新日期: 2009年5月

適用於: Operations Manager 2007 R2, Operations Manager 2007 SP1

自我調整閾值監視是 Operations Manager 2007 中的一種監視類型。自我調整閾值 (STT) 監視並不會使用固定的閾值,而是從環境學習資訊,並在一段時間後更新閾值。本主題說明 STT 監視如何運作,以及如何使用 STT 監視。

自我調整閾值監視如何運作

使用自我調整閾值的監視是以 Windows 效能計數器作為基礎。STT 監視具有商務週期設定。這個商務週期 (可以設定為天數或週數) 界定了 Operations Manager 用來建立簽章之一般活動的時間長度。簽章是用來學習商務週期特性的數字資料提供者。Operations Manager 使用這個簽章,根據商務週期模式來評估效能計數器的結果,以便設定及調整警示閾值。

例如,Exchange 服務登入的自我調整閾值監視可取得星期一上午預計連線數目的基準,並考量該模式來調整閾值。因此,星期一早上登入數目偏高並不會產生警示,但是如果星期六晚上出現類似的登入數目,則會產生警示。

每個 STT 監視都有初始學習期間。依據監視的設定而定,這段初始學習時間是由一個或多個商務週期組成。在初始學習期間,Operations Manager 會界定代表標準和預期活動的簽章;在初始學習期間並不會產生任何警示。

這個簽章是初始學習期間計算的變動基準平均值和標準差。其中標準差是由 STT 監視的敏感度層級決定。當敏感度設定為最高的層級時,預期活動基準的偏差比較低;而當敏感度設定為最低的層級時,預期活動基準的偏差就比較高。

如何使用自我調整閾值監視

當 STT 監視產生過多警示或超出監視需求可用的數目時,您可以降低敏感度來調整自我調整閾值。

自我調整閾值由兩項規則和一個監視組成。效能集合規則會收集效能計數器資料,而簽章集合規則會界定簽章。監視會將效能計數器資料的值與簽章互相比較。您可透過調整簽章集合規則和監視的敏感度參數,來變更自我調整閾值的敏感度。

此監視有兩個敏感度參數:內部敏感度外部敏感度。監視的內部敏感度參數設定必須符合簽章集合規則的敏感度參數設定。

若要調整自我調整閾值敏感度

  1. 找出套用到警示的規則。

    note附註
    若要識別與產生警示之監視關聯的規則,請執行本程序後面提供的指令碼。

  2. 停用規則。

  3. 以滑鼠右鍵按一下規則,依序指向 [覆寫] 和 [覆寫規則],然後按一下 [針對以下類型的所有物件: 預設選項]。

  4. 在 [覆寫內容] 對話方塊中,選取 [敏感度] 參數的 [覆寫] 方塊。

  5. 在 [覆寫值] 中,使用下列其中一個值,變更要增加或減少的敏感度層級數目:

    • 4.01 (敏感度最低)

    • 3.77

    • 3.29

    • 2.81

    • 2.57 (敏感度最高)

  6. 找出套用到警示的監視。監視名稱顯示在警示的 [詳細資料] 區段中。

  7. 停用監視。

  8. 以滑鼠右鍵按一下監視,依序指向 [覆寫] 和 [覆寫監視],然後按一下 [針對以下類型的所有物件: 預設選項]。

  9. 在 [覆寫內容] 對話方塊中,選取 [內部敏感度] 參數的 [覆寫] 方塊。

  10. 在 [覆寫值] 中,將數字變更成您在步驟 5 中設定的值。

  11. 在 [覆寫內容] 對話方塊中,選取 [外部敏感度] 參數的 [覆寫] 方塊。

  12. 在 [覆寫值] 中,將數字變更成大於您為 [內部敏感度] 參數設定之數字的值。

  13. 啟用監視。

  14. 找出步驟 1 中的規則,並啟用該規則。

用來識別與監視關聯之規則的指令碼

在調整自我調整閾值的敏感度時,請在前述程序的步驟 1 中使用下列指令碼來識別要停用的規則。請複製下面的指令碼,並在安裝 Operations 主控台的電腦上,將它另存成 STTSignatureCollectionRule.ps1。若要執行指令碼,請使用下列語法,並指定警示詳細資料中顯示的監視:STTSignatureCollectionRule <Monitor Display Name>

##
## This script prints out the collection rule associated with an STT monitor.
##
## It takes the display name of the STT monitor as input.
##
## April-13-2009
##
#######################################################################################################################################################

param($monitorDisplayName)

$managementGroup = (Get-ManagementGroupConnection).ManagementGroup

# Prepare the monitor criteria
$monitorCriteria = New-Object Microsoft.EnterpriseManagement.Configuration.MonitorCriteria([String]::Format("DisplayName = '{0}'",$monitorDisplayName))

# Get monitors
$sttMonitor = $managementGroup.GetMonitors($monitorCriteria)[0]

if (!$sttMonitor)
{
    write-host "STT Monitor could not be found!"
    exit
}

# Get and Prepare the monitor config
$config = ($sttMonitor).Configuration
$config = "<Config>" + $config + "</Config>"

# Get the signature id
[System.Xml.XmlDocument] $xd = new-object System.Xml.XmlDocument

$xd.LoadXml($config)

$nodelist = $xd.selectnodes("/Config/SignatureID")

foreach ($node in $nodelist) {
   $signatureId = $node.get_innerXml()
}

if ((!$signatureId) -or ($signatureId.Length -eq 0))
{
    write-host "Signature Id for the STT Monitor could not be found! Make sure this is a valid STT Monitor."
    exit
}

# Iterate through the rules in the system and search for the right one.

$monitoringRules = $managementGroup.GetMonitoringRules()

foreach ($monitoringRule in $monitoringRules) 
{
    $condDetectionModule = $monitoringRule.ConditionDetection

    if ($condDetectionModule) 
    {
        $moduleConfig = $condDetectionModule.Configuration
        
        if ($moduleConfig) 
        {
            if ($moduleConfig.Contains($signatureId))
            {
                $outputRuleDisplayName = $monitoringRule.DisplayName
$monitoringRule

                exit
            }
        }
    }
}

# The signature collection rule not be found
write-host "The signature collection rule associated with the STT monitor could not be found"



 
顯示: