Bij het monitoren van agents binnen System Center Operations Manager (SCOM) 2007 R2 wordt gebruik gemaakt van Kerberos voor onderlinge authenticatie binnen de trust boundary van een domein. Buiten trust boundaries wordt gebruik gemaakt van certificaten. Sinds SCOM 2007 kan voor monitoring van agents buiten de trust boundary ook gebruik gemaakt worden van een Gateway server. De gateway server wordt geplaatst binnen de trust boundary van de agents en verzorgt authenticatie voor de agents met de managementgroup met behulp van een certificaat. Omdat de agents zich in dezelfde trust boundary bevinden als de gateway kunnen zij zich authenticeren bij de gateway met behulp van Kerberos en hebben hierdoor zelf geen certificaat nodig. Dit kan een aanzienlijke besparing opleveren in beheer van certificaten op het moment dat er veel agents in betreffende omgeving gemonitord moeten worden. Een ander voordeel is dat de agents zelf geen internetverbinding nodig hebben.
Op den duur kan het noodzakelijk worden om een gateway server te vervangen, bijvoorbeeld doordat hardware verouderd is. De procedure die hiervoor is beschreven in de Operations Administrator’s Guide van Microsoft werkt echter niet altijd vlekkeloos. In dit artikel worden een aantal extra benodigde stappen besproken om tot het gewenste eindresultaat te komen.
De procedure volgens Microsoft in praktijk gebracht
De procedure zoals beschreven in de SCOM 2007 R2 Operations Administrators Guide[1] is als volgt:
1. Log in op een managementserver (MS) met een account dat lid is van de Operations Manager Administrators groep en open de console;
2. Ga naar het Administration scherm en ga naar Administration > Device Management en klik ‘Agent Managed’;
3. Selecteer de Computers waarvoor de primary managementserver gewijzigd moet worden, doe rechtermuisklik en selecteer ‘Change Primary Management Server’;
4. De-installeer de gateway server software van de computer;
5. Verwijder de gateway server uit de groep.
Met deze procedure bestaat er een kans dat de agents communicatie verliezen met de managementgroep. Vooral als agents niet geconfigureerd zijn met een failover managementserver.
In principe zou nu het volgende moeten gebeuren:
1. De Root Management Server (RMS) verwerkt de aanpassing waardoor de ‘state cookies’ van Gateways (GTW) ‘A’ en ‘B’ en van ‘Agt X’ verlopen en deze een nieuwe configuratie nodig hebben;
2. Gateway ‘A’ controleert of zijn state cookie nog geldig is en vraagt de nieuwe configuratie op;
3. De nieuwe configuratie wordt overgebracht naar Gateway ‘A’ waarin is aangegeven dat ‘Agt X’ moet rapporteren aan Gateway ‘B’;
4. ‘Agt X’ controleert of zijn state cookie nog geldig is en vraagt de nieuwe configuratie op;
5. De nieuwe configuratie wordt overgebracht naar ‘Agt X’ waarin is aangegeven dat ‘Agt X’ moet rapporteren aan Gateway ‘B’;
6. Communicatie met Gateway ‘B’ wordt opgestart en ‘Agt X’ rapporteert voortaan met Gateway ‘B’.
Op het moment dat de configuratie gewijzigd wordt volgens bovenstaande procedure zullen agents die niet geconfigureerd zijn met een failover managementserver, connectie met de managementgroep verliezen. De oorzaak hiervan ligt primair in de volgorde waarin de configuratie wordt ontvangen en de wijze waarop de managementservers hierop reageren. Omdat in stap 3 de configuratiewijziging aankomt bij Gateway ‘A’ zal deze server elke volgende communicatie met ‘Agt X’ weigeren. Volgens de configuratie van deze gateway communiceert ‘Agt X’ immers niet langer met Gateway ‘A’. Dit betekent dat de agent na stap 4 de communicatie met de managementgroup verliest.
Symptomen bij verliezen communicatie
De symptomen voor het verliezen van de communicatie zullen terug te vinden zijn in de console en in de ‘Operations Manager’ eventlogs van de agent en van de oude en de nieuwe gateway server.
Console
In de console zal een heartbeat failure te zien zijn waardoor de agent grijs weergegeven zal worden in de console.
Tevens zullen in de alertview de volgende errors te zien zijn
Agent
In de eventlog zal bij het maken van een connectie met de oorspronkelijke Gateway server een error met eventid 20070 met als source ‘OpsMgr Connector’ optreden.
Naast de error in de eventlog is het probleem te zien in de configuratie van de agent in de registry onder ‘HKLM\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\Agent Management Groups\[Managementgroup Name]\Parent Health Services\0’.
Hier zal te zien zijn dat de genoemde managementserver (AuthenticationName en NetworkName), nog steeds de oude server betreft.
Oorspronkelijke en nieuwe Gateway server
In de eventlogs van de oorspronkelijke en de nieuwe gateway server zullen errors met respectievelijke EventId’s 20000 en 20022 van Source ‘OpsMgr Connector’ gelogd worden. Hierbij geeft de eerste aan dat een device welke geen lid is van de managementgroup heeft geprobeerd contact te maken. De tweede geeft aan dat de agent geen heartbeat heeft.
Oplossen en voorkomen
Het beschreven probleem kan het best opgelost en voorkomen worden door bij het vervangen van een gateway server een aantal regels aan te houden:
1. Verwijder een gateway server pas (stap 5 in de procedure) op het moment dat alle agents succesvol communiceren met hun nieuwe managementserver;
2. Zorg ervoor dat agents, indien er een nieuwe primaire managementserver aangewezen wordt, de oorspronkelijke managementserver, al dan niet tijdelijk, als failover managementserver toegewezen krijgen.
Indien de oorspronkelijke gateway server niet meer ingezet kan worden, bijvoorbeeld doordat deze niet meer actief is, kan de configuratie van de agent ook handmatig aangepast worden.
Oorspronkelijke gateway server als failover aanwijzen
Door het inzetten van de oorspronkelijke managementserver als failover management server is de agent geautoriseerd om contact op te nemen met de managementgroup via zijn oorspronkelijke primaire managementserver en wordt de agent in staat gesteld om de juiste configuratie op te halen van de managementgroup.
De procedure kan uitgevoerd worden met behulp van onderstaande powershell script (uit te voeren via de operations manager shell):
012345678901234567890123456789012345678901234567890123456
$primaryMS = Get-GatewayManagementServer
| where {$_.Name -eq 'ExtGWt02.clientx.local'}
$failoverMS = Get-GatewayManagementServer
| where {$_.Name -eq 'ExtGWt01.clientx.local'}
$agent = Get-agent
| where {$_.Name -eq 'ExtADt01.clientx.local'}
Set-ManagementServer -AgentManagedComputer: $agent
-PrimaryManagementServer: $primaryMS
-FailoverServer: $failoverMS
In bovenstaand voorbeeld is ExtGWt01.clientx.local de originele managementserver (gateway) en ExtGWt02.clientx.local de nieuw in te zetten managementserver (gateway).
Na uitvoeren van het script zal communicatie met de managementgroup hersteld worden en kan, zodra de agent de nieuwe configuratie opgehaald heeft, de failover managementserver verwijderd worden uit de configuratie van de agent door onderstaande script via de operations manager shell uit te voeren:
$primaryMS = Get-GatewayManagementServer
| where {$_.Name -eq 'ExtGWt02.clientx.local'}
$agent = Get-agent
| where {$_.Name -eq 'ExtADt01.clientx.local'}
Set-ManagementServer -AgentManagedComputer: $agent
-PrimaryManagementServer: $primaryMS
Handmatig aanpassen van de configuratie
Indien de oorspronkelijke gateway server niet meer ingezet kan worden kan onderstaande procedure gebruikt worden om de configuratie aan te passen:
1. Stop de service ‘System Center Management’ op de server waar de agent draait;
2. Verwijder de inhoud van de directory ‘D:\Program Files\System Center Operations Manager 2007\Health Service State\Connector Configuration Cache\[Managementgroup name]’;
3. Open ‘Add/Remove programs’ (of ‘Programs and Features’ in server 2008)
4. Selecteer ‘System Center Operations Manager 2007 R2 Agent’ en klik ‘Change’;
5. Klik ‘Next’, selecteer ‘Modify’ en ‘Next’;
6. Selecteer ‘Modify Management Group’, selecteer de juiste managementgroup en klik ‘Next’;
7. Verifieer dat ‘Specify Management Group Information’ is aangevinkt en klik ‘Next’;
8. Onder ‘management server’ kan nu de juiste managementserver aangegeven worden. Klik ‘Next’ en klik ‘Install’.
Na afloop van deze installatie zal de communicatie met de managementgroup hervat worden.
Conclusie
De procedure die door Microsoft is beschreven voor het vervangen van een Gateway server functioneert niet altijd vlekkeloos. Problemen die hieruit voortvloeien zijn echter niet onoverkomelijk en kunnen voorkomen worden door een paar eenvoudige regels te hanteren.
[1] http://download.microsoft.com/download/B/F/D/BFDD0F66-1637-4EA3-8E6E-8D03001E5E66/OM2007R2_OperationsAdministratorsGuide.docx