許多損毀或無法讀取的 Windows 事件

Microsoft.SystemCenter.HealthServiceModules.WindowsEventLog.CorruptOrUnreadableEvents (UnitMonitor)

此監視會檢查 Windows 事件記錄模組是否從任何事件記錄檔讀取到許多損毀事件。如果該模組在一段時間內遇到太多損毀或無法讀取的事件,便會將此監視的狀態設定為狀況不良。

Knowledge Base article:

摘要

此警示/監視狀態表示在受監視的事件記錄檔中存在許多損毀且無法讀取的事件。

System Center 管理健全狀況服務曾嘗試讀取事件,但事件記錄檔中有多個後續事件無法讀取。根據此監視的預設設定,當 System Center 管理健全狀況服務無法在 5 分鐘內處理的後續事件達 21 筆時,會產生警告狀態及警示。

如果 System Center 管理健全狀況服務能夠在該時間內或該時間過後處理事件,此監視將轉為狀況良好狀態,且原本的警告警示將自動解除。

原因

這可能是由許多問題所造成,包括:

解決方式

您可依照下列步驟判定已處理的事件記錄檔是否屬於低階問題:

1. 記下警示或監視內容的規則或監視名稱。這是內容中工作流程名稱後面的文字。

2. 在主控台中查詢此名稱,並帶出該規則或監視的內容。

3. 在監視或規則內容中,尋找開頭為「事件記錄檔」的索引標籤 (例如 [事件記錄檔 (狀況不良事件)])。

4. 記錄此監視或設定在監視中的規則之事件記錄檔內容後,尋找名為「事件運算式」的相關索引標籤 (例如 [簡單事件運算式] 或 [重複事件運算式])。

5. 記下其中的準則。這些準則將可用來篩選目標電腦事件記錄檔,以找出損毀的事件。

6. 一旦找出事件記錄檔及運算式 (例如「事件識別碼等於 14384」且「事件來源等於健全狀況服務」),開啟此事件來源的事件檢視器。

7. 按一下步驟 3 所識別的事件記錄檔。

8. 篩選事件記錄檔,找出在步驟 5 中設定規則或監視的該筆事件。具體方法是在事件檢視器中,在事件記錄檔名稱上按一下滑鼠右鍵,選擇 [檢視] 內容功能表選項,然後選取 [篩選],從中可利用與步驟 5 的運算式類似的 [事件來源] 及 [事件識別碼] 進行篩選。

9. 如果在檢視中顯示任何事件,請在事件檢視器中將其開啟。

a. 若能順利開啟事件,請儲存事件記錄檔 ([動作] 功能表、[另存記錄檔])。

b. 連絡客戶支援服務並提供監視名稱及其目前狀態、您根據知識文件中的指示所嘗試採取的步驟,以及您儲存作為離線分析之用的事件記錄檔。

Element properties:

TargetMicrosoft.SystemCenter.HealthService
Parent MonitorMicrosoft.SystemCenter.HealthServiceModules.WindowsEventLog.Rollup
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityLow
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.RepeatedEventLogSingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
許多損毀或無法讀取的 Windows 事件
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.HealthServiceModules.WindowsEventLog.CorruptOrUnreadableEvents" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ParentMonitorID="Microsoft.SystemCenter.HealthServiceModules.WindowsEventLog.Rollup" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.RepeatedEventLogSingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthServiceModules.WindowsEventLog.CorruptOrUnreadableEvents_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Low</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Context/DataItem/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ManyCorruptEvents" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning"/>
<OperationalState ID="SuccessfullyReadEvent" MonitorTypeStateID="EventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<Or>
<Expression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">26005</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">25005</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service ESE Store</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">102</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
<RepeatedComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</RepeatedComputerName>
<RepeatedLogName>Operations Manager</RepeatedLogName>
<RepeatedExpression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">26008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">25008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">26009</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">25009</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</RepeatedExpression>
<Consolidator>
<ConsolidationProperties>
<PropertyXPathQuery>Params/Param[1]</PropertyXPathQuery>
</ConsolidationProperties>
<TimeControl>
<WithinTimeSchedule>
<Interval>300</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>20</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>
</CountingCondition>
</Consolidator>
</Configuration>
</UnitMonitor>