MECM SQL Server Service Broker Certificate Validity Monitor

MECM.SQLSSBCert.StatusMessage.Monitor (UnitMonitor)

This monitor checks for a valid SQL Server Service Broker certificate.

Knowledge Base article:

Summary

The SQL Server Service Broker certificate is used to authenticate and encrypt communications between the parent and child SQL Servers. It is used for Configuration Manager replication communication between SQL Severs for the parent and child sites. When the certificate is valid, normal authenticated and encrypted communication between the SQL Servers uses this certificate. However, once the certificate is invalid, the communication between the SQL Servers is not authorized and no Configuration Manager replication can occur between the parent and child sites. The SQL Server Service Broker certificate is automatically created during installation of the site – it expires 30 years after the original creation.

Causes

The database machine certificate becomes invalid in one of several ways:

Resolutions

Configuration Manager automatically corrects this scenario by recreating a self-signed certificate. The expiration date for the newly created self-signed certificate is 30 years after the creation date. Check the hman.log in the [Configuration Manager Installation folder]\Logs for further information.

Element properties:

TargetMECM.SiteServer
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMECM.StatusMessage3State.MT
RemotableTrue
AccessibilityPublic
Alert Message
MECM SQL Server Service Broker Certificate Not Valid.
The SQL Server Service Broker certificate is not valid. Replication traffic between the parent and child SQL Servers cannot be encrypted and nor authenticated.
RunAsDefault

Source Code:

<UnitMonitor ID="MECM.SQLSSBCert.StatusMessage.Monitor" Accessibility="Public" Enabled="true" Target="MECM.SiteServer" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="MECM.StatusMessage3State.MT" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="MECM.SQLSSBCert.StatusMessage.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId5af6895102354adb830bd8c81212af5e" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId0e195c4058b24ce3ba904aea0cfbd66a" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId5ceca7ccc597470c9e873dee7eb5aab5" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<ComponentName>SMS_HIERARCHY_MANAGER</ComponentName>
<RuleId>812A1E5F-B31C-45a5-89EE-695460882F38</RuleId>
<IntervalSeconds>360</IntervalSeconds>
<MatchCount>3</MatchCount>
</Configuration>
</UnitMonitor>