IIS Restart is required

Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.IISRestart.Monitor (UnitMonitor)

This monitor tracks the need to restart IIS due to a change in monitoring settings for applications running on the web server.

Knowledge Base article:

Summary

This monitor tracks the need to restart IIS due to a change in monitoring settings for applications running on the web server. This monitor transitions to an unhealthy state when IIS needs to be recycled.

Causes

When application monitoring settings are modified using the .NET Application Performance Monitoring template, IIS might need to be restarted for the new settings to take effect. An example of a scenario that requires restarting IIS is when you are configuring .NET application monitoring for the first application on the web server.

Resolutions

Element properties:

TargetMicrosoft.SystemCenter.Apm.ApmAgent
Parent MonitorSystem.Health.ConfigurationState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.Apm.Infrastructure.Monitoring.IISRestart.MonitorType
RemotableFalse
AccessibilityPublic
Alert Message
IIS Restart is required
Application monitoring settings on server {0} have been modified. In order for the new settings to be applied, you need to restart IIS on that server. Until IIS is restarted, the new monitoring settings will not be applied. The monitored applications however will continue to function properly.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.IISRestart.Monitor" Accessibility="Public" Enabled="true" Target="AI!Microsoft.SystemCenter.Apm.ApmAgent" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="false" Priority="Normal" TypeID="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.IISRestart.MonitorType" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.Infrastructure.Monitoring.ApmAgent.IISRestart.Monitor.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="ApplicationStateOK" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="ApplicationStateWarning" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
</Configuration>
</UnitMonitor>