TFS Event 3022 Monitor

TeamFoundationServer2015.TfsEvent3022Monitor (UnitMonitor)

Team Foundation Registration Data Malformed

Knowledge Base article:

Summary

Team Foundation registration data malformed

Causes

When retrieving registration information from Team Foundation, there were unexpected results.

Resolutions

Verify that the data tier is operating normally. Verify the registration.asmx (Service web service) returns expected information.

This can be checked by pointing to the following URL and studying the resulting XML for any malformed entry in it – if it does not return any data, the return SOAP should have the error code associated with it

http://localhost:8080/Services/v1.0/Registration.asmx

Substitute localhost with the name of the Application Tier machine and make sure the account used to fetch the URL has the necessary privileges to access TFS – normally a TFS Valid user account should have the necessary privileges.

Once you are able to access the URL, click on the method “GetRegistrationEntries”. This should normally return the entries in the registration database. If it does study the contents for any wrong entry. If it does not return any XML data, you should get an error message which should give an indication of why it returned an error.

Contact support with this information if you could not resolve this any further.

Element properties:

TargetTeamFoundationServer2015.TfsAppComponentBase
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeTeamFoundationServer2015.TfsSingleEventLogUnitMonitor
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="TeamFoundationServer2015.TfsEvent3022Monitor" Accessibility="Public" Enabled="true" Target="TeamFoundationServer2015.TfsAppComponentBase" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="TeamFoundationServer2015.TfsSingleEventLogUnitMonitor" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<EventDisplayNumber>3022</EventDisplayNumber>
<TimerWaitInSeconds>600</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>