附錄: 管理組件的監控和強制取代

 

主題上次修改日期: 2010-05-13

本節會提供詳細的程序和指令碼,供您用來顯示與所匯入管理組件有關的規則和其他資訊。

如需監視和相關聯之強制設定值的詳細資訊,請參閱有關監視的內容。

檢視監視的相關內容

  1. 在操作主控台中,按一下 [撰寫] 按鈕。

  2. 展開 [管理組件物件],然後按一下 [監視]。

  3. 在 [監視] 窗格中展開目標,直到您到達該監視等級。 另一種做法,則是使用 [搜尋] 方塊來尋找特定的監視。

  4. 按一下該監視,然後在 [監視] 窗格中按一下 [檢視知識]。

  5. 按一下 [產品知識] 索引標籤。

若要使用命令殼層來顯示管理組件之監視和強制設定的輸出清單,請使用下列程序。

顯示管理組件的監視

  1. 在 [命令殼層] 中,鍵入下列命令:
    get-monitor -managementPack name.mp | export-csv filename

  2. 這時會建立 .csv 檔案。 這個 .csv 檔案可以用 Microsoft Excel 開啟。
    noteDSDOC112778PADS

使用 Excel 時,您可能需要指定該 .csv 檔案為純文字檔案;例如,下面這個命令可以擷取與其中一個核心管理組件相關聯之監視的資料:
get-monitor -managementPack System.Health.Library.mp | export-csv "C:\monitors.csv"

若要顯示管理組件的強制取代設定,請使用下列程序。

顯示管理組件的強制設定

  1. 在命令殼層中,鍵入下列命令

    get-override -managementPack name.mp | export-csv filename

  2. 這時會建立 .csv 檔案。 這個 .csv 檔案可以用 Excel 開啟。

使用 Excel 時,您可能需要指定該 .csv 檔案為純文字檔案。 例如,這個命令會顯示其中一個核心管理組件的強制設定:

get-override -managementPack Microsoft.SystemCenter.OperationsManager.Internal.mp | export-csv "c:\overrides.csv"

請使用下列程序,顯示所匯入管理組件的規則清單。 這份規則清單可以用 Excel 來檢視。

顯示管理組件規則

  1. 按一下管理伺服器中的 [所有程式],然後按一下 [System Center]。

  2. 按一下 [命令殼層]。

  3. 在 [命令殼層] 視窗中,鍵入下列命令:
    get-rule | select-object @{Name="MP";Expression={ foreach-object {$_.GetManagementPack().DisplayName }}},DisplayName | sort-object -property MP | export-csv "c:\rules.csv"

  4. 這時會建立 .csv 檔案。 這個 .csv 檔案可以用 Excel 開啟。
    noteDSDOC112778PADS

    使用 Excel 時,您可能需要指定該 .csv 檔案為純文字檔案。

若要顯示監視閥值,請使用本節所介紹的指令碼。 這份指令碼可用於大多數的監視作業。 它會建立包含下列幾欄的 .csv 檔案,並且可使用 Excel 來檢視:

 

描述

類型

監視所設定的目標類型

DisplayName

監視的顯示名稱

Threshold

監視所使用的閥值

AlertOnState

判斷監視是否在狀態變更時產生警示

AutoResolveAlert

判斷產生的警示是否會在監視器狀態恢復成綠色時自動解決

AlertSeverity

產生之警示的嚴重性

執行下列指令碼,建立顯示監視閥值的 .csv 檔案:

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"

若要顯示效能集合規則,請使用本節中的指令碼。 這份指令碼可用於大多數的監視作業。 它會建立包含下列幾欄的 .csv 檔案,並且可使用 Excel 來檢視。

 

描述

WriteAction

包含有關效能計數器寫入位置的資訊

WriteToDB 或 CollectionPerformanceData

寫入至 Operations Manager 資料庫

WriteToDW 或 CollectPerfDataWarehouse

寫入至資料倉儲

WC

將效能計數器的基準資料儲存至操作資料庫

若要顯示出現在管理群組中的效能集合規則,請執行下列指令碼:

function GetPerfCounterName ([String] $configuration)
{
$config = [xml] ("<config>" + $configuration + "</config>")
return ($config.Config.ObjectName + "\" + $config.Config.CounterName)
}
function GetFrequency ([String] $configuration)
{
$config = [xml] ("<config>" + $configuration + "</config>")
$frequency = $config.Config.Frequency;
if($frequency -eq $null)
{
$frequency = $config.Config.IntervalSeconds;
}
return ($frequency)
}
function GetDisplayName($performanceRule)
{
 if($performanceRule.DisplayName -eq $null)
 {
  return ($performanceRule.Name);
 }
 else
 {
  return ($performanceRule.DisplayName);
 }
}
function GetWriteActionNames($performanceRule)
{
 $writeActions = ""; 
 foreach($writeAction in $performanceRule.WriteActionCollection)
 {
  $writeActions += " " + $writeAction.Name;
 }
 return ($writeActions);
}
$perf_collection_rules = get-rule -criteria:"Category='PerformanceCollection'"
$perf_collection_rules | select-object @{name="Type";expression={foreach-object {(Get-MonitoringClass -id:$_.Target.Id).DisplayName}}},@{name="RuleDisplayName";expression={foreach-object {GetDisplayName $_}}} ,@{name="CounterName";expression={foreach-object {GetPerfCounterName $_.DataSourceCollection[0].Configuration}}},@{name="Frequency";expression={foreach-object {GetFrequency $_.DataSourceCollection[0].Configuration}}},@{name="WriteActions";expression={foreach-object {GetWriteActionNames $_}}}  | sort Type,RuleDisplayName,CounterName | export-csv "c:\perf_collection_rules.csv"

 
顯示: