Создание предупреждения о пропущенных сценариях оболочки PowerShell.
Из-за избыточного уровня использования службе работоспособности управления System Center не удалось выполнить сценарий PowerShell как часть правила или монитора.
Это может повлиять на определенные аспекты отслеживания или обнаружения.
Это может быть вызвано следующими причинами:
Служба работоспособности управления System Center выполняет слишком много сценариев PowerShell.
Сценарии PowerShell выполняются слишком долго.
Сценарии PowerShell выполняются слишком часто.
Для запуска сценария PowerShell недостаточно ресурсов компьютера (например, памяти).
В описании и контексте предупреждения указывается, в работе какого правила или монитора произошел сбой. Однако сбой мог произойти и в других правилах и мониторах. Используйте следующую ссылку для отображения всех событий, указывающих на ошибку запуска исполняемого файла:
Просмотр событий PowerShell
После анализа ошибки в данном контексте рассмотрите целесообразность уменьшения частоты выполнения сценария PowerShell.
Убедитесь, что уровень загрузки компьютера не превышает допустимого.
Проверьте диспетчер задач, чтобы убедиться в наличии необходимого объема памяти.
Проверьте в диспетчере задач наличие процессоров, потребляющих все системные ресурсы.
Другой причиной этого может быть слишком большое количество запланированных сценариев PowerShell. Это могло быть результатом большого потока событий или неправильной настройки таймера. В обоих случаях необходимо проанализировать конфигурацию правила, чтобы установить причину слишком частого запуска сценария PowerShell. Обычно в таких случаях следует уменьшить частоту запуска сценария (увеличить интервал).
Target | Microsoft.SystemCenter.HealthService | ||
Category | Alert | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Operations Manager |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Consolidator | ConditionDetection | System.ConsolidatorCondition | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.PowerShellModule.AlertOnDroppedResponses" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.HealthService" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<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>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/ManagementGroup/Name$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">22411</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<ConditionDetection ID="Consolidator" TypeID="System!System.ConsolidatorCondition">
<Consolidator>
<ConsolidationProperties>
<PropertyXPathQuery>Params/Param[1]</PropertyXPathQuery>
</ConsolidationProperties>
<TimeControl>
<WithinTimeSchedule>
<Interval>300</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>10</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>
</CountingCondition>
</Consolidator>
</ConditionDetection>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.PowerShellModule.AlertOnDroppedResponses.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Context/DataItem/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Context/DataItem/Params/Param[2]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>