6 steps for troubleshooting xBD Collection errors in Sitecore 9.2

I recently encountered an xDB Collection Unavailable error in Sitecore 9.2. Here's the error message I received:ERROR Exception when executing agent aggregation/pathAnalyzerLiveAgentException: Sitecore.XConnect.XdbCollectionUnavailableExceptionMessage: The HTTP response was not successful: ServiceUnavailableSource: Sitecore.Xdb.Common.WebHave you run into this issue before? To help you out, I consolidated six troubleshooting steps for resolving the xDB Collection Unavailable error in local and production environments.(Note – This blog was written while using Sitecore 9.2. Other versions may require different implementations to solve collection issues.)1.  Identify non-self signed certificates – following PowerShell command will identify non-self-signed certificates:        Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject}Move these non-self-signed certificates into the Intermediate Certification Authorities (i.e. CA) store:        Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject} | Move-Item -Destination  Cert:\LocalMachine\CA2.  IIS Authentication- Anonymous authentication needs to be enabled for the xConnect sites.Navigate to the IIS xConnect site and see if app pool user (application pool identity) has permissions for anonymous authentication. Follow these five steps:

  1. Go to IIS Manager - Sites - Website
  2. Double-click "Authentication"
  3. Select Anonymous Authentication
  4. From the Actions panel, select Edit
  5. Select Application pool Identity and click OK

3.  Set up Shared Sessions Make sure to follow this article on Configuring Sitecore. If there are two or more CD servers, change the default provider to Out-of-Proc from the default In-Proc.4.  App Pool Permissions Make sure the app pool user has security permissions on corresponding xConnect site.See screenshot for reference:5.  Database Settings The database names of the shard tables should be verified in the SQL in Collection.ShardMapManager table for correct server name and port.The shard manager also keeps connection configuration in the [__ShardManagement].[ShardsGlobal] table of the ShardMapManager database. Check the ServerName, Port and DatabaseName to make sure they point to the correct SQL server.6.  Connection String Settings Make sure the following four settings in connectionstring.config contain the correct thumbprint of xConnect certificate for the xConnect site.

    1. collection.certificate
    2. referencedata.client.certificate
    3. marketingautomation.reporting.client
    4. marketingautomation.operations.client