UNIX/Linux Shell Command Three State Monitor

Microsoft.Unix.ShellCommand.ThreeState.MonitorType (UnitMonitorType)

Three states monitor, based on a UNIX/Linux shell command.

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
InvokeDS DataSource Microsoft.Unix.ShellCommand.Invoke.DataSource Default
CDStatusError ConditionDetection System.ExpressionFilter Default
CDStatusOK ConditionDetection System.ExpressionFilter Default
CDStatusWarning ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalint$Config/Interval$IntervalInterval in seconds.
ShellCommandstring$Config/ShellCommand$
TimeOutint$Config/TimeOut$
TimeOutInMSstring$Config/TimeOutInMS$

Source Code:

<UnitMonitorType ID="Microsoft.Unix.ShellCommand.ThreeState.MonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="StatusOK" NoDetection="false"/>
<MonitorTypeState ID="StatusWarning" NoDetection="false"/>
<MonitorTypeState ID="StatusError" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="Interval" type="xsd:unsignedInt" minOccurs="1"/>
<xsd:element name="SyncTime" type="xsd:string" maxOccurs="1"/>
<xsd:element name="TargetSystem" type="xsd:string" minOccurs="1"/>
<xsd:element name="UserName" type="xsd:string" minOccurs="1"/>
<xsd:element name="Password" type="xsd:string" minOccurs="1"/>
<xsd:element name="ShellCommand" type="xsd:string" minOccurs="1"/>
<xsd:element name="TimeOut" type="xsd:unsignedInt" minOccurs="1"/>
<xsd:element name="TimeOutInMS" type="xsd:unsignedInt" minOccurs="1"/>
<xsd:element name="HealthyExpression" type="ExpressionType" minOccurs="1"/>
<xsd:element name="ErrorExpression" type="ExpressionType" minOccurs="1"/>
<xsd:element name="WarningExpression" type="ExpressionType" minOccurs="1"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int"/>
<OverrideableParameter ID="ShellCommand" Selector="$Config/ShellCommand$" ParameterType="string"/>
<OverrideableParameter ID="TimeOut" Selector="$Config/TimeOut$" ParameterType="int"/>
<OverrideableParameter ID="TimeOutInMS" Selector="$Config/TimeOutInMS$" ParameterType="string"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="InvokeDS" TypeID="Microsoft.Unix.ShellCommand.Invoke.DataSource">
<Interval>$Config/Interval$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
<TargetSystem>$Config/TargetSystem$</TargetSystem>
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<ShellCommand>$Config/ShellCommand$</ShellCommand>
<TimeOut>$Config/TimeOut$</TimeOut>
<TimeOutInMS>$Config/TimeOutInMS$</TimeOutInMS>
</DataSource>
<ConditionDetection ID="CDStatusOK" TypeID="System!System.ExpressionFilter">
<Expression>$Config/HealthyExpression$</Expression>
</ConditionDetection>
<ConditionDetection ID="CDStatusError" TypeID="System!System.ExpressionFilter">
<Expression>$Config/ErrorExpression$</Expression>
</ConditionDetection>
<ConditionDetection ID="CDStatusWarning" TypeID="System!System.ExpressionFilter">
<Expression>$Config/WarningExpression$</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="StatusOK">
<Node ID="CDStatusOK">
<Node ID="InvokeDS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusWarning">
<Node ID="CDStatusWarning">
<Node ID="InvokeDS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="StatusError">
<Node ID="CDStatusError">
<Node ID="InvokeDS"/>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>