TFS Collection Creation Workflow Monitor

Microsoft.SystemCenter.TfsWISync.TfsServer.Creation.Monitor (UnitMonitor)

This monitor watches for various events logged by TFS Object Model and sets the health state of TFS Collection instance based on these events.

Knowledge Base article:

Summary

The TFS Object Model logs various events to the Windows event log to signal connectivity issues with TFS. This monitor watches for these events and sets the health state of TFS Collection instance based on these events.

The monitor will automatically reset the health state to Healthy when connectivity to TFS is restored. You can see the monitor health history to analyze past connectivity issues.

Causes

This monitor controls the health state of TFS Collection instance and generates alerts related to TFS connectivity, when new TFS work items are created:

1101 "TFS Object Model is not installed on the server"

1102 "Team Foundation services are not available from server (url)"

1104 "TF30063: You are not authorized to access <server>"

TF26193: The team project does not exist. Check the team project name and try again.

Any other TFS errors or module failures that have "TF[N]", where "N" stands for the TFS Object Model error code.

Resolutions

Element properties:

TargetMicrosoft.SystemCenter.TfsWISync.TfsServer
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityInternal
Alert Message
TFS Work Item Synchronization creation workflow alert
Event Description: {0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.TfsWISync.TfsServer.Creation.Monitor" Accessibility="Internal" Enabled="true" Target="Microsoft.SystemCenter.TfsWISync.TfsServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.TfsWISync.TfsServer.Creation.Monitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data[Default='']/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>.</FirstComputerName>
<FirstLogName>Operations Manager</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[6]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">TFS WI Synchronization</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules Ex</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>1101|1102|1104</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[7]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.SystemCenter.TfsWISync.TfsServer"]/Url$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>.</SecondComputerName>
<SecondLogName>Operations Manager</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[6]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">TFS WI Synchronization</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules Ex</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1103</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>