Certificate Monitor

Microsoft.SystemCenter.Omonline.OutsideIn.InfrastructureMonitoring.CertificatExpired.MonitorType (UnitMonitorType)

This monitor checks whether used security certificate is expired or going to be expired.

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Scheduler Default
ProbeAction ProbeAction Microsoft.SystemCenter.Omonline.OutsideIn.InfrastructureMonitoring.CertificatExpired.PA Default
FailedConditionDetection ConditionDetection System.ExpressionFilter Default
SuccessConditionDetection ConditionDetection System.ExpressionFilter Default
WarningConditionDetection ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Frequencyint$Config/Frequency$Frequency (sec)
WarningDaysint$Config/WarningDays$Warning Days

Source Code:

<UnitMonitorType ID="Microsoft.SystemCenter.Omonline.OutsideIn.InfrastructureMonitoring.CertificatExpired.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="Error"/>
<MonitorTypeState ID="Warning"/>
<MonitorTypeState ID="Success"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Frequency" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="WarningDays" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" ParameterType="int" Selector="$Config/Frequency$"/>
<OverrideableParameter ID="WarningDays" ParameterType="int" Selector="$Config/WarningDays$"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource TypeID="System!System.Scheduler" ID="Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/Frequency$</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction TypeID="Microsoft.SystemCenter.Omonline.OutsideIn.InfrastructureMonitoring.CertificatExpired.PA" ID="ProbeAction">
<CertificateBlob>$RunAs[Name="OutsideInLibrary!Microsoft.SystemCenter.Omonline.OutsideIn.RunAsProfile.Blob"]/Data$</CertificateBlob>
<CertificatePassword>$RunAs[Name="OutsideInLibrary!Microsoft.SystemCenter.Omonline.OutsideIn.RunAsProfile.Password"]/CommunityString$</CertificatePassword>
</ProbeAction>
<ConditionDetection ID="SuccessConditionDetection" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='ExpirationDays']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">$Config/WarningDays$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="WarningConditionDetection" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="Integer">$Config/WarningDays$</Value>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='ExpirationDays']</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='ExpirationDays']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FailedConditionDetection" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
<Operator>GreaterEqual</Operator>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='ExpirationDays']</XPathQuery>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Success">
<Node ID="SuccessConditionDetection">
<Node ID="ProbeAction">
<Node ID="Scheduler"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Warning">
<Node ID="WarningConditionDetection">
<Node ID="ProbeAction">
<Node ID="Scheduler"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Error">
<Node ID="FailedConditionDetection">
<Node ID="ProbeAction">
<Node ID="Scheduler"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>