UNIX/Linux WSMan ProcessCount Monitor Type

Microsoft.Unix.WSMan.ProcessCount.MonitorType (UnitMonitorType)

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Unix.WSMan.ProcessEnumerator Default
CDProcessCountError ConditionDetection System.ExpressionFilter Default
CDProcessCountOK ConditionDetection System.ExpressionFilter Default
TotalFilter ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
MinProcessCountint$Config/MinProcessCount$MinProcessCountMinimum Process Count Threshold.
MaxProcessCountint$Config/MaxProcessCount$MaxProcessCountMaximum Process Count Threshold.

Source Code:

<UnitMonitorType ID="Microsoft.Unix.WSMan.ProcessCount.MonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="ProcessCountOK" NoDetection="false"/>
<MonitorTypeState ID="ProcessCountError" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element minOccurs="1" name="TargetSystem" type="xsd:string"/>
<xsd:element minOccurs="1" name="ProcessName" type="xsd:string"/>
<xsd:element minOccurs="1" name="ArgumentsFilterExpression" type="xsd:string"/>
<xsd:element minOccurs="1" name="MinProcessCount" type="xsd:integer"/>
<xsd:element minOccurs="1" name="MaxProcessCount" type="xsd:integer"/>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="MinProcessCount" Selector="$Config/MinProcessCount$" ParameterType="int"/>
<OverrideableParameter ID="MaxProcessCount" Selector="$Config/MaxProcessCount$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.Unix.WSMan.ProcessEnumerator">
<TargetSystem>$Config/TargetSystem$</TargetSystem>
<ProcessName>$Config/ProcessName$</ProcessName>
<ArgumentsFilterExpression>$Config/ArgumentsFilterExpression$</ArgumentsFilterExpression>
<Interval>$Config/Interval$</Interval>
</DataSource>
<ConditionDetection ID="CDProcessCountOK" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">/DataItem/WsManData/*[local-name(.)='SCX_UnixProcess']/*[local-name(.)='Count']</XPathQuery>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<Value Type="Integer">$Config/MinProcessCount$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">/DataItem/WsManData/*[local-name(.)='SCX_UnixProcess']/*[local-name(.)='Count']</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Integer">$Config/MaxProcessCount$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="TotalFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">/DataItem/WsManData/*[local-name(.)='SCX_UnixProcess']/*[local-name(.)='Instance']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">_Total</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="CDProcessCountError" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">/DataItem/WsManData/*[local-name(.)='SCX_UnixProcess']/*[local-name(.)='Count']</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="Integer">$Config/MinProcessCount$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">/DataItem/WsManData/*[local-name(.)='SCX_UnixProcess']/*[local-name(.)='Count']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">$Config/MaxProcessCount$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="ProcessCountOK">
<Node ID="CDProcessCountOK">
<Node ID="TotalFilter">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ProcessCountError">
<Node ID="CDProcessCountError">
<Node ID="TotalFilter">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>