ACS: il servizio AdtAgent in foreste non trusted smette di comunicare con il Collector di riferimento

Qualche tempo fa, analizzando i report di ACS, abbiamo riscontrato che alcuni Forwarder, installati su server appartenenti a foreste non Trusted, non comunicavano più con il Collector.

L’evento registrato dal Forwarder nel ramo “Operations Manager” dell’Event Viewer era il seguente (Event ID 4369):

image

Come controprova (anche se la situazione era chiara) abbiamo esaminato l’output del comando adtadmin –stats (da eseguire sul Collector), che ci ha permesso di individuare velocemente i server che non comunicavano:

image

La causa del problema è stata individuata nella scomparsa del valore della chiave di registro “CertHash”, che associa il certificato all’agent adtagent.exe:

image

Analizzando i log dei server, è emerso che la chiave è stata cancellata dall’installazione della CU3 di Operations Manager 2007 R2.

La comunicazione Forwarder – Collector è stata ripristinata ricreando il valore della chiave, ovvero effettuando nuovamente l’associazione del servizio con il certificato mediante il comando:  adtagent -c

image

Da notare che non tutti i server appartenenti a domini non trusted presentavano il problema, e l’analisi del collega del GTSC José Miguel Constantino ne spiega il motivo:

Problem Description
===============
Description of Problem
If we use a certificate on the ACS Forwarder service (AdtAgent) to connect to the ACS Collector service and then apply & approve a hotfix or do an agent repair (via the OpsMgr console), the certificate information gets deleted from the following registry key: HKLM\CurrentControlSet\Services\AdtAgent\Parameters\Certhash
This causes the service to fail the next time it starts due to the missing certificate info (either by restarting the service or the server).
NOTE: This only happens when we do these actions via the console. If we manually repair the agent (add/remove programs) or if we manually apply the hotfix on the agent, this issue does not occur (it seems to point to the command line we run when launching these actions from the console).

Workarounds
===============
Workarounds
The only workaround is to go to each machine and re-import the certificate info by running "AdtAgent -c" (or export/import the registry containing the certificate info)
The bug will not be resolved in the current version (OpsMgr 2007 R2), this bug will be further investigated on vNext (OpsMgr 2012)