Server Instance Certificate Has Expired

Microsoft.Dynamics.Nav.2015.ServerInstanceCertificateExpired (UnitMonitor)

The certificate that is used by the Microsoft Dynamics NAV 2015 Server instance has expired.

Knowledge Base article:

Summary

This monitor detects when the certificate that is used by the Microsoft Dynamics NAV 2015 Server instance has expired.

Causes

If the certificate expires, users cannot be authenticated.

Resolutions

To renew the server certificate, use the Set-NAVServerSettings cmdlet to update the 'ServicesCertificateThumbprint' with a valid certificate and restart the Microsoft Dynamics NAV 2015 Server instance.

Element properties:

TargetMicrosoft.Dynamics.Nav.2015.ServerInstance
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
The Microsoft Dynamics NAV 2015 certificate must be renewed.
This alert indicates that the Microsoft Dynamics NAV 2015 certificate must be renewed.
If you do not renew the certificates, users cannot access Microsoft Dynamics NAV.
RunAsMicrosoft.Dynamics.Nav.2015.DefaultAccount

Source Code:

<UnitMonitor ID="Microsoft.Dynamics.Nav.2015.ServerInstanceCertificateExpired" Accessibility="Public" Enabled="true" Target="Microsoft.Dynamics.Nav.2015.ServerInstance" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="High" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="false" RunAs="Microsoft.Dynamics.Nav.2015.DefaultAccount">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.Dynamics.Nav.2015.ServerInstanceCertificateExpired.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Application</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Service!Microsoft.SystemCenter.NTService"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- The service certificate is valid from [NotBefore] to [NotAfter] only. (eventid = 1002) -->
<Value>1002</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Application</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Service!Microsoft.SystemCenter.NTService"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- Monitoring the service certificate expiration. (eventid = 1006) -->
<Value>1006</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>