Zum Inhalt springen

Agentregistrierung für Jitterbit private Agenten

Einführung

Bevor ein privater Agent Integrationsprojektoperationen verarbeiten kann, muss er sich bei einem Harmony-Server registrieren. Die Informationen, die er zur Registrierung benötigt, umfassen die Harmony-Server-URL für die Region Ihrer Organisation, Ihre Harmony-Kontodaten, den Namen der privaten Agentengruppe, der er beitreten soll, und den Namen des Agenten selbst. Um den Namen eines privaten Agenten zu erhalten, müssen Sie zunächst einen über die Management-Konsole auf der Seite Agenten hinzufügen. Sie können ihn dann als eines der erforderlichen Registrierungsinformationen während des Installationsschrittes unter Windows (mit manueller Eingabe in den Installer), des Konfigurationsschrittes unter Linux (mit manueller Eingabe oder Parametern für jitterbit-config) oder beim Starten eines Docker Containers (mit Umgebungsvariablen) angeben. Dieser Ansatz zur Registrierung wird als manuelle Registrierung bezeichnet.

Wenn Sie containerisierte private Agenten automatisch bereitstellen und entfernen möchten (zum Beispiel mit Kubernetes), müssen Sie die Jitterbit private Agent Auto-Registrierungs Funktion verwenden. Damit müssen Sie keinen Agenten über die Management-Konsole auf der Seite Agenten hinzufügen. Das System fügt automatisch einen privaten Agenten zu einer benannten Agentengruppe hinzu, generiert einen Agentennamen und registriert ihn. Das System kann auch optional den privaten Agenten abmelden und aus der Agentengruppe entfernen, wenn der Agent stoppt. (Es gibt einen Nachteil: Sie können keinen Proxy mit der automatischen Registrierung verwenden.)

Hinweis

Obwohl die automatische Registrierung für das automatische Skalieren mit containerisierten Agenten konzipiert wurde, kann sie auch bei Linux-Agenten verwendet werden.

Funktionsweise

Dieser Abschnitt bietet einen Überblick über die wichtigsten Konzepte und Einstellungen, die regeln, wie ein Agent sich registriert und abmeldet und wie er sich nach einem Neustart verhält.

Die Datei credentials.txt

Wenn sich ein privater Agent zum ersten Mal bei Harmony registriert, erstellt er die Datei JITTERBIT_HOME/Resources/credentials.txt. Diese Datei enthält die verschlüsselten Anmeldedaten des Agenten und wird verwendet, um sich zu authentifizieren und nach einem Neustart wieder mit Harmony zu verbinden. Sie muss aufbewahrt werden, um dem Agenten einen Neustart zu ermöglichen.

Agentverhalten beim Neustart

Der Parameter deregisterAgentOnDrainstop in der Datei register.json steuert, was passiert, wenn ein privater Agent stoppt oder neu gestartet wird. (Dieser Parameter kann auch als Umgebungsvariable in automatisierten Umgebungen übergeben werden.) Die erlaubten Werte sind true und false. Jeder Wert hat das folgende Verhalten:

  • deregisterAgentOnDrainstop=false: Dies ist der Standardwert. Damit wird ein Agent nicht aus Harmony entfernt, wenn er stoppt, sondern bleibt im Status Gestoppt aufgeführt.

    Wenn der Agent neu gestartet wird, verwendet er seine vorhandene Datei credentials.txt, um sich erneut bei Harmony zu authentifizieren und den Betrieb fortzusetzen. Dies ist der empfohlene Ansatz für die meisten Anwendungsfälle, insbesondere wenn Sie möchten, dass Agenten über geplante oder ungeplante Neustarts hinweg bestehen bleiben.

  • deregisterAgentOnDrainstop=true: Damit meldet sich der Agent aktiv von Harmony ab, wenn er gestoppt wird, und wird aus der Agentenliste der Agentengruppe in der Management-Konsole entfernt.

    Wenn Sie versuchen, den Agenten neu zu starten, schlägt die Initialisierung fehl. Dies geschieht, weil seine Datei credentials.txt jetzt ungültig ist und Harmony den Agenten nicht mehr erkennt. Um diesen Agenten wiederherzustellen, müssen Sie die veraltete Datei credentials.txt entfernen (löschen). Dies zwingt den Agenten, beim nächsten Start eine frische Registrierung durchzuführen. Dieses Verhalten wird typischerweise in Auto-Scaling-Umgebungen verwendet, in denen Agenten als entbehrlich betrachtet werden und häufig erstellt und zerstört werden.

Registrierungsverfahren

Es gibt zwei Mechanismen zur Registrierung eines privaten Agenten:

  • Manuell: Bei dieser Methode fügen Sie zuerst einen Agenten in der Management-Konsole hinzu, um einen Agenteneintrag zu erstellen. Anschließend geben Sie die Details des Agenten während des Installationsprozesses (unter Windows und Linux) oder mit Umgebungsvariablen (für Docker) an.

  • Automatisch: Dieser Ansatz wird hauptsächlich für containerisierte Agenten mit Plattformen wie Docker und Kubernetes verwendet. Er ermöglicht es einem Agenten, sich automatisch zu erstellen und in Harmony zu registrieren. Er verwendet eine Konfigurationsdatei register.json oder Umgebungsvariablen, um die erforderlichen Informationen bereitzustellen. Dieser Ansatz ist ideal für automatisierte, auto-skalierende Bereitstellungen.

Manuelle Registrierung

Um einen Agenten manuell zu registrieren, befolgen Sie diese Schritte:

  1. Gehen Sie zu Management Console > Agents.

  2. Fügen Sie eine private Agentengruppe hinzu oder identifizieren Sie eine vorhandene, und fügen Sie dann einen neuen privaten Agenten hinzu.

  3. Geben Sie die Registrierungsinformationen an. Wann Sie dies tun, hängt vom Agenten-Hosttyp ab:

    Während der Installation werden Sie von der Benutzeroberfläche aufgefordert, auszuwählen, welcher Agentengruppe Sie beitreten und welchen Agenten Sie registrieren möchten.

    Während der Konfiguration fordert Sie der jitterbit-config-Befehl auf, auszuwählen, welcher Agentengruppe Sie beitreten und welchen Agenten Sie registrieren möchten. (Alternativ können diese Werte als Parameter an jitterbit-config übergeben werden.)

    Beim Ausführen des Containers verwenden Sie die untenstehenden Umgebungsvariablen.

Manuelle Registrierung eines Docker-privaten Agenten mit Umgebungsvariablen

Um die manuelle Registrierung mit containerisierten privaten Agenten zu verwenden, setzen Sie Werte für die folgenden Umgebungsvariablen und übergeben Sie diese in den Container:

Umgebungsvariable Beschreibung
HARMONY_ORIGIN Die Anmelde-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobei REGION eines von na-east, emea-west oder apac-southeast ist.
HARMONY_USERNAME Ihr Benutzername für das Harmony-Konto im Klartext.
HARMONY_PASSWORD Ihr Passwort für das Harmony-Konto im Klartext.
HARMONY_ORG_NAME Der Name Ihrer Harmony-Organisation.
HARMONY_AGENT_GROUP_NAME Der Name der privaten Agentengruppe und der zugehörige Umgebungsname, getrennt durch einen Unterstrich.
HARMONY_AGENT_NAME Der Name des privaten Agenten.
Beispiel 1: Führen Sie einen Docker-Agenten aus
docker run -d \
-e HARMONY_ORIGIN=https://na-east.jitterbit.com \
-e HARMONY_USERNAME=example@jbexample.com \
-e HARMONY_PASSWORD=P@55w0rd \
-e HARMONY_ORG_NAME="Example Org" \
-e HARMONY_AGENT_GROUP_NAME="Example Agent Group_Example Environment" \
-e HARMONY_AGENT_NAME=ExampleAgent \
jitterbit/agent
Beispiel 2: Führen Sie einen Docker-Agenten mit aktivierten Jitterbit Private Agent Metrics aus
cat > agent.env <<EOF
HARMONY_ORIGIN=https://qa-green.jitterbit.com
HARMONY_USERNAME=example@jbexample.com
HARMONY_PASSWORD=J1tt_erb1t
HARMONY_ORG_NAME="JB Example Company"
HARMONY_AGENT_GROUP_NAME="Agent Group A_Default Environment"
HARMONY_AGENT_NAME=XMPL_3
ENABLE_JITTERBIT_METRICS=true
EOF
docker run -d --env-file=agent.env jitterbit/agent

Tipp

Verwenden Sie die --env-file Docker-Option anstelle mehrerer -e Optionen.

Automatische Registrierung

Bei der automatischen Registrierung gibt es zwei Möglichkeiten, Registrierungsinformationen bereitzustellen: in einer register.json-Datei oder als Umgebungsvariablen.

Registrieren Sie einen Docker-Privatagenten mit der register.json-Datei

Um einen Docker-Privatagenten automatisch mit einer register.json-Datei zu registrieren, befolgen Sie diese Schritte:

  1. Erstellen Sie ein Verzeichnis und eine Datei conf/register.json, die Folgendes enthält, wobei die Werte gemäß der Tabelle unten festgelegt werden:

    conf/register.json
    {
        "cloudUrl": "https://REGION.jitterbit.com",
        "agentGroupId": GROUP_ID,
        "username": "ENCRYPTED_USERNAME",
        "password": "ENCRYPTED_PASSWORD",
        "agentNamePrefix": "PREFIX",
        "deregisterAgentOnDrainstop": false,
        "retryCount": 10,
        "retryIntervalSeconds": 5
    }
    
    Parameter Wertbeschreibung
    cloudUrl Die Anmelde-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobei REGION eines von na-east, emea-west oder apac-southeast ist.
    agentGroupId Die ID-Nummer der privaten Agentengruppe.
    username Ihr verschlüsselter Harmony-Konto-Benutzername.
    password Ihr verschlüsseltes Harmony-Konto-Passwort.
    agentNamePrefix Ein Präfix für den automatisch generierten Namen des privaten Agenten.
    Beispiel conf/register.json
    {
        "cloudUrl": "https://na-east.jitterbit.com",
        "agentGroupId": 12345,
        "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C",
        "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=",
        "agentNamePrefix": "test",
        "deregisterAgentOnDrainstop": false,
        "retryCount": 10,
        "retryIntervalSeconds": 5
    }
    
  2. Starten Sie den Docker-Privatagenten mit dem conf-Verzeichnis, das im Verzeichnis /conf des Containers gemountet ist. (Siehe Automatische Registrierung mit der register.json-Datei für ein Beispiel.)

    Beispiel
    docker run --detach --name jitterbit-agent --rm --volume ./conf:/conf --volume local_resources:/opt/jitterbit/Resources jitterbit/agent
    

Sie müssen entweder eine credentials.txt-Datei oder eine register.json-Datei verwenden. Der Privatagent startet nicht, wenn das conf-Verzeichnis beide enthält. Die register.json-Datei wird in eine credentials.txt-Datei umgewandelt und dann entfernt. Die credentials.txt-Datei wird niemals entfernt und bleibt bestehen, wenn der Container gestoppt und der Agent abgemeldet wird.

Um die register.json-Datei bei nicht-containerisierten Linux-Privatagenten zu verwenden, entfernen Sie die Datei /opt/jitterbit/Resources/credentials.txt, erstellen Sie eine Datei /opt/jitterbit/Resources/register.json wie oben gezeigt, und starten Sie dann den Agenten neu.

Registrieren Sie einen Docker-Privatagenten mit Umgebungsvariablen

Um einen Docker-Privatagenten automatisch mit Umgebungsvariablen zu registrieren, befolgen Sie diese Schritte:

  1. Erstellen Sie eine Datei mit folgendem Inhalt, wobei die Werte gemäß der Tabelle unten ersetzt werden:

    HARMONY_ORIGIN=
    AUTO_REGISTER=true
    AUTO_REGISTER_AGENT_GROUP_ID=
    AUTO_REGISTER_AGENT_NAME_PREFIX=auto
    AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false
    AUTO_REGISTER_ENCRYPTED_USERNAME=
    AUTO_REGISTER_ENCRYPTED_PASSWORD=
    
    Variable Wertbeschreibung
    HARMONY_ORIGIN Die Anmelde-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobei REGION eines von na-east, emea-west oder apac-southeast ist.
    AUTO_REGISTER_AGENT_GROUP_ID Die ID-Nummer der privaten Agentengruppe.
    AUTO_REGISTER_ENCRYPTED_USERNAME Ihr verschlüsselter Harmony-Kontoname.
    AUTO_REGISTER_ENCRYPTED_PASSWORD Ihr verschlüsseltes Harmony-Kontopasswort.
    Beispiel
    HARMONY_ORIGIN=https://na-east.jitterbit.com
    AUTO_REGISTER=true
    AUTO_REGISTER_AGENT_GROUP_ID=12345
    AUTO_REGISTER_AGENT_NAME_PREFIX=auto
    AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP=false
    AUTO_REGISTER_ENCRYPTED_USERNAME=$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C
    AUTO_REGISTER_ENCRYPTED_PASSWORD=$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
    
  2. Starten Sie den Docker-Privatagenten und übergeben Sie die Umgebungsvariablen-Datei mit der Option --env-file für docker run:

    Beispiel
    docker run --detach --env-file FILE jitterbit/agent
    

    Tipp

    Alternativ können Sie die Option -e/--env verwenden, um Umgebungsvariablen einzeln festzulegen.

Vergleich der register.json-Parameter und Umgebungsvariablen

Die folgende Tabelle vergleicht die im register.json-Datei verwendeten Parameter mit ihren entsprechenden Umgebungsvariablen:

register.json-Parameter Umgebungsvariable Werttyp Beschreibung
(Keine) AUTO_REGISTER Boolean (true oder false) Automatische Registrierung aktivieren.
cloudUrl HARMONY_ORIGIN String Die URL der Harmony-Cloud: "https://REGION.jitterbit.com" wobei REGION na-east, emea-west oder apac-southeast ist.
username AUTO_REGISTER_ENCRYPTED_USERNAME String Verschlüsselte Version Ihres Harmony-Konto-Benutzernamens. (Erste Zeile der Ausgabe von jitterbit-utils -e USERNAME PASSWORD.) Wird ignoriert, wenn token oder AUTO_REGISTER_TOKEN gesetzt ist.
password AUTO_REGISTER_ENCRYPTED_PASSWORD String Verschlüsselte Version Ihres Harmony-Konto-Passworts. (Zweite Zeile der Ausgabe von jitterbit-utils -e USERNAME PASSWORD.) Wird ignoriert, wenn token oder AUTO_REGISTER_TOKEN gesetzt ist.
token AUTO_REGISTER_TOKEN String Registrierung des Privatagenten Zugriffstoken. Wenn angegeben, werden username und password ignoriert.
deregisterAgentOnDrainstop AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP Boolean (true oder false) Wenn true, wird der Agent entfernt, wenn er gestoppt wird. Auf false setzen, um dem Agenten zu erlauben, sich bei einem Neustart erneut zu registrieren. (Siehe auch DeregisterAgentOnDrainstop.)
agentGroupId AUTO_REGISTER_AGENT_GROUP_ID Integer Die ID-Nummer der privaten Agentengruppe, der beigetreten werden soll.
agentNamePrefix AUTO_REGISTER_AGENT_NAME_PREFIX String Der Name des privaten Agenten. Diese Tokens werden erweitert: %ip%: Server-IP-Adresse; %host%: Server-Hostname; %guid%: eine zufällige 8-Zeichen-ID.
retryCount AUTO_REGISTER_RETRY_COUNT Integer Wie oft versucht werden soll, wenn ein privater Agent die Registrierung nicht erfolgreich abschließt. Bereich: 0-300. Standard: 10.
retryIntervalSeconds AUTO_REGISTER_RETRY_INTERVAL_SECONDS Integer Wie viele Sekunden zwischen den Versuchen. Bereich: 5-600. Standard: 5.
agentMetricsToken AUTO_REGISTER_AGENT_METRICS_TOKEN String Wenn ENABLE_JITTERBIT_METRICS auf true gesetzt ist, das private Agenten-Metriken Zugriffstoken mit dem Umfang Agent Metric, das eine automatische Metrik-Konfiguration mit automatisch registrierten Agenten ermöglicht. Wenn leer, werden keine Metriken gesammelt.
(Keine) ENABLE_JITTERBIT_METRICS Boolean (true oder false) Wenn true, aktivieren Sie die Jitterbit-Privatagenten-Metriken für Agenten, die als Docker Container ausgeführt werden.