Empirum Agent – Troubleshooting Verbindungsaufbau

Es gibt Fragen zum Empirum Agenten, die häufiger vorkommen als andere. Neben der Frage: „Warum macht der Agent nichts?“, ist die zweit häufigste Frage: „Mit welchem EmpirumServer verbindet sich mein Client und warum?“. Die Frage wird zumeist gestellt, weil der Computer sich nicht mit dem EmpirumServer verbindet, oder weil der Empirum Administrator die Konfiguration anpasst und verstehen will, warum der Empirum Agent sich mit dem entsprechenden EmpirumServer verbindet. Das sind wir auch an dem Punkt, dass es eine serverseitige Konfiguration gibt und eine Seite, was der Computer daraus macht.

Zentrale Steuerung – Agent Template

Sein Verhalten bekommt der Empirum Agent über das sogenannte Agent-Template mitgegeben. Dieses Agent-Template ist unabhängig, ob der Advanced oder UEM Agent eingesetzt wird. Funktionen die nur der UEM Agent bedienen kann sind mit einem fliederfarbenen Symbol gekennzeichnet. In Bezug auf die Verbindungsmöglichkeiten gibt es bis dato jedoch keine Unterschiede.

DHCP Optionen

In Empirum DBUtil muss zuerst die Option EmpirumServer aktiviert werden und mit einer Options-Nummer versehen sein. Dies geht in den Eigenschaften zu den PXE-Servern.Im Anschluss sollte man das Agent-Template erstellen bzw. aktualisieren mit der DHCP Option gesetzt (siehe Abbildung 1). Vertrauen ist gut – Kontrolle ist besser! Am besten man schaut nach der Erstellung in die daraus resultierende XML Datei im \\%EmpirumServer%\Configurator$\User Verzeichnis (<Konfigurationsname>.xml). In der Datei sollte eine Suche nach DHCP einen ähnlichen Eintrag wie folgt finden …

<DHCPOptions enabled="true">
     <DHCPEntry id="128">EmpirumServer</DHCPEntry>
</DHCPOptions>

Anschließend ist zu prüfen, ob die zuvor genutzte DHCP Options ID (hier 128) auf dem DHCP Server für den entsprechenden IP-Adressraum konfiguriert ist. Falls die Option 128 noch nicht vorhanden ist, so muss diese auf dem DHCP Server noch erstellt werden. Eine Anleitung, die man sich als Vorlage nutzen kann, ist hier verfügbar. Die zu erstellende Option (ab ID 128) ist vom Typ: Zeichenkette bzw. String und sollte mit dem Namen „EmpirumServer“ belegt werden.

Zugewiesene EmpirumServer verwenden

Wenn man mit der Zuweisung des EmpirumServers über die Konfigurations- bzw. Zuweisungsgruppen arbeiten will, muss man diverse Voraussetzungen erfüllen.
In den Computereigenschaften des zuzuweisenden EmpirumServers müssen die folgenden Werte gesetzt sein:

  • die Computerrolle: Empirum Master Server oder Empirum Depot Server
  • die Variablen: SubDepot\USER_x / PASSWORD_x

Der EmpirumServer wird über die Eigenschaften der Konfigurations-/Zuweisunggruppe zugewiesen und vererbt. Dem Computerobjekt wird automatisch nochmals direkt der Empirum Master Server zugewiesen.Die Reihenfolge der EmpirumServer Nutzung kann optisch oder in der %Computername%.ini Datei eingesehen werden. In den Eigenschaften der Gruppe entspricht die Reihenfolge von open nach unten. In der %Computername%.ini entspricht die Reihenfolge von unten (höchste Zahl) nach oben (kleinste Zahl).

Verbindungs-Versuchs-Reihenfolge
Die Reihenfolge der Verbindungsversuche geschieht vorwiegend, wie in der Abbildung des Agent-Templates zu sehen ist, von oben nach unten:

  • DHCP Option
  • Zugewiesene EmpirumServer (unter Berücksichtigung der Sub-Optionen: zufällige Reihenfolge, MasterServer auslassen)
  • bereits gesetzte Umgebungsvariable %Empirumserver%
  • Ausfall Server (das sollte zumeist der Empirum Master Server sein) – angegebener Server in der AgentConfig.xml

Die Verbindung wird ausschließlich nach der Erreichbarkeit des Servers bzw. der Freigaben (SMB/https) bestimmt, nicht an der Qualität der Verbindung.

Wie sieht es am Client aus?

Die Frage lässt sich zumeist gut beantworten, bedarf jedoch eines Blickes „unter die Motorhaube“, sprich in die Log Dateien des Agenten. Diese findet man für den UEM Agent unter: C:\ProgramData\Matrix42\Logs\UAF\ und für den Advanced Agent unter: C:\ProgramData\Matrix42\Logs\ERIS. Dazu nimmt man am besten die Datei ohne Datum im Dateinamen (aktuelle Datei) und sucht nach DHCP. Somit findet man zumeist schnell den Start des Empirum Agenten bzw. die Informationen zum aktuellen Polling. Nachfolgend ein beispielhaftes Log mit Kommentaren in kursiver Schrift.

>Welches Agent Template wurde genutzt? Name und Version ist hier aufgeführt.
[Warning] [MxLog.LogS] DLL.Transport [SAC] Using Agent Template ‚AgentConfigSample‘ (Version 18.0.0.3) <19>
>Was sind die aus der AgentConfig.xml (auf dem Client heißt die Konfigurationsdatei immer gleich) ausgelesenen Einstellungen?
[Warning] [MxLog.LogS] DLL.Transport [SAC] Use DHCP options <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Use assigned EmpirumServers ; Use random order ; Exclude Empirum Master Server <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Fallback Server: empirumserver.domain.loc, account: Domain\EmpirumAgent <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Active protocol: SMB <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] END Configuration for checking server availability <19>
>sind EmpirumServer zugewiesen?
[Warning] [MxLog.LogS] DLL.Transport [SAC] Machine values file for this computer is „C:\EmpirumAgent\Values\MachineValues\Domain\ComputerName.ini“ <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Loading assigned EmpirumServers from „C:\EmpirumAgent\Values\MachineValues\Domain\ComputerName.ini“ <19>
>hier sind keine EmpirumServer zugeordnet …
[Warning] [MxLog.LogS] DLL.Transport [SAC] No assigned EmpirumServer found! <19>
>nutze den EmpirumServer aus der Umegbungsvariable: EmpirumServer …
[Warning] [MxLog.LogS] DLL.Transport [SAC] Loading configuration from environment variables <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] ENV-EmpirumServer: empirumserver.domain.loc, ENV-User: Domain\EmpirumAgent, ENV-Password: is set <19>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Checking availability of server with user <Domain\EmpirumAgent> using configured protocol <19>

>im Falle eines zugewiesenen EmpirumServers per DHCP …
[Warning] [MxLog.LogS] DLL.Transport [SAC] Use DHCP options <9>

[Warning] [MxLog.LogS] DLL.Transport [SAC] Reading DHCP options from network stack <9>
[Information] [MxLog.LogS] DLL.Transport Dhcp environment variables from xml read <9>
[Information] [MxLog.LogS] DLL.Transport [DhcpOptions] START SelectAdapters <9>

[Information] [MxLog.LogS] DLL.Transport [DhcpOptions] START GetDhcpOptions <9>

[Information] [MxLog.LogS] DLL.Transport Dhcp Option „EmpirumServer“ with ID 128 will be requested <9>
[Information] [MxLog.LogS] DLL.Transport Dhcp Received 19 bytes from DHCP server: „empirumserver.domain.loc“ for option 129 <9>
[Information] [MxLog.LogS] DLL.Transport [DhcpOptions] END GetDhcpOptions successful. ‚1‘ values found <9>
[Warning] [MxLog.LogS] DLL.Transport [SAC] Get for DHCP option ‚EmpirumServer‘ value ‚empirumserver.domain.loc‘ successfully <9>

>Verbindungsversuche
[Information] [MxLog.LogS] DLL.Transport SMB Session Manager Connection to \\empirumserver.domain.loc\Configurator$\Packages with user Domain\EmpirumAgent establishing. <34>
>hierauf sollte ein „established“ folgen, oder eben eine Fehlermeldung, warum der EmpirumServer nicht erreichbar ist.

2 Kommentare Schreibe einen Kommentar

  1. Hallo.
    Der Tipp könnte jedoch nach „hinten“ losgehen, wenn Sie mehrere PXE – Depot – Server verwenden, die in unterschiedlichen Netzen stehen…
    Die Optionen im DBUtil greifen nur „global“ für alle vorhandenen PXE Server (Standorte).
    Die Clients sollen ja den Depotserver als Umgebungsvariable benutzen. Hier wird dann ein statischer Eintrag in die AgentConfig.xml geschrieben.
    Das kann bei Outsourcing zu Verbindungsproblem führen.
    Die DCHP Option 128 beschreibt den NetBios Namen
    Die DHCP Option 129 beschreibt den FQDN Namen

    Setzten Sie lieber diese Optionen auf Ihrem DHCP Server je Bereich separat.

    Dieses Optionsfeld ist dafür gedacht, wenn Sie keinen dedizierten DHCP Server verwenden und die Empirum – Interne – DHCP – Server – Funktion verwenden müssen (Servermodus).

    • Hallo,
      ich weiß nicht, vielleicht habe ich den Kommentar nicht 100% verstanden, versuche hier meine obige Aussage nochmals zu „präzisieren“. In Empirum DBUtil definiert man den DHCP Wert/Value, den man nutzt z.B.: EmpirumServer = Option 128. Man trägt hier keinen EmpirumServer mit seinem Namen ein! Im DHCP definiert man für die verschiedenen Bereiche/Scopes den jeweils passenden EmpirumServer. Setzt dort z.B. für den Scope1 (192.168.10.x die Option 128 auf den Wert: SubDepot10) und für den Scope 2 (192.168.20.x die Option 128 auf den Wert: SubDepot20). Wenn der EmpirumAgent die Option 128 ermitteln kann, so setzt er die Umgebungsvariable auf den ermittelten Wert und nutzt diesen. Bekommt der Agent für die Option 128 nichts „übermittelt“, so geht der EmpirumAgent „weiter“ in der Ermittlung des EmpirumServers. Dazu schaut er als nächstes in die %Computername%.ini (Zugewiesene Server) und zuletzt nutzt er den „statischen“ Wert aus der AgentConfig.xml. Bei der Ermittlung werden auch jeweils die angegebenen Protokolle (SMB, https) probiert.

      Zusätzlich ist man frei, welche Optionsnummern 128, 129 … man nutzt, da man diese in Empirum DBUtil zu den Optionen (hier:EmpirumServer) definiert. So habe ich auch Kunden, die die Option 142 für EmpirumServer nutzen. Meines Wissens nach spielen mittlerweile (WinPE/UAF Agent) die weiteren Optionen eine untergeordnete Rolle und man kann ruhig den FQDN auch bei der EmpirumServer Variable angeben.

      Viele Grüße
      Jochen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert