Retail Server Certificate Status

Microsoft.Dynamics.Retail.AX2012.R2.FP.Monitoring.Monitor.RetailServerCertificateStatus (UnitMonitor)

Finds the certificate in the certificate trust chain, which is closest to expiration and returns information about that certificate

Knowledge Base article:

Summary

One or more certificates in the certificate trust chain associated with an instance of Retail Server is about to expire or has already expired. If a certificate in the chain expires then Retail Server clients will not be able to connect to the Retail Server.

Default configuration:

Configuration

Error Threshold

Number of days before certificate expiration that the monitor should raise an error.

Interval Seconds

Interval between running scripts, in seconds.

Maximum Processing Time

Maximum time spent processing a monitoring script.

Sync Time

Time of day (approximate) to start running the script after the initial run. Specified using a 24-hour clock.

Warning Threshold

Number of days before certificate expiration that the monitor should raise a warning.

Causes

One or more certificates in the certificate trust chain associated with an instance of Retail Server is about to expire or has already expired.

Resolutions

Extend the expiration date of the certificate.

View Online Content

Element properties:

TargetMicrosoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Dynamics.Retail.AX2012.R2.FP.Monitoring.MonitorType.CertificateStatus
RemotableFalse
AccessibilityPublic
Alert Message
Retail Server Certificate Status
One or more Retail Server certificates in the certificate chain has expired or will expire soon.

This will cause the Retail Server to be unreachable. Retail POS clients that do not connect through the Retail Server will be unaffected. No clients that connect through the Retail Server will be able to connect. All Point of Sale operations will be disrupted.

Additional information for this disruption:

Certificate subject: {0}

Certificate issuer: {1}

Certificate thumbprint: {2}

Number of days to certificate expiration: {3}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Dynamics.Retail.AX2012.R2.FP.Monitoring.Monitor.RetailServerCertificateStatus" Accessibility="Public" Enabled="true" Target="Base!Microsoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="false" Priority="Normal" TypeID="Microsoft.Dynamics.Retail.AX2012.R2.FP.Monitoring.MonitorType.CertificateStatus" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Dynamics.Retail.AX2012.R2.FP.Monitoring.Monitor.RetailServerCertificateStatus_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Subject']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='Issuer']$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="Base!Microsoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance"]/ServerCertificateThumbprint$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='TimeToExpireDays']$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId21f0033f9b2d477fa7c981b68223a2aa" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId23da50fcd5bf4e6d8b468b42f77a841d" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId729a6d4c2ea449c2bc5f8fac5937daec" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>3600</IntervalSeconds>
<CertificateRootStore>$Target/Property[Type="Base!Microsoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance"]/ServerCertificateRootStore$</CertificateRootStore>
<CertificateStore>$Target/Property[Type="Base!Microsoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance"]/ServerCertificateStore$</CertificateStore>
<Thumbprint>$Target/Property[Type="Base!Microsoft.Dynamics.Retail.AX2012.R2.FP.Base.Class.RetailServerInstance"]/ServerCertificateThumbprint$</Thumbprint>
<WarningThreshold>20</WarningThreshold>
<ErrorThreshold>10</ErrorThreshold>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>