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 Installationsschritts unter Windows (mit manueller Eingabe in den Installer), des Konfigurationsschritts 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 automatischer Registrierung verwenden.)

Hinweis

Obwohl die automatische Registrierung für das automatische Skalieren mit containerisierten Agenten entwickelt 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 Anmeldeinformationen 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 folgendes 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 deregistriert sich der Agent aktiv von Harmony, wenn er gestoppt wird, und wird aus der Agentenliste der Agentengruppe in der Management-Konsole entfernt.

    Ab der Docker-Agent-Version 12.4 deregistriert das Neustarten des Containers den vorhandenen Agenten und registriert automatisch einen neuen, ohne manuelle Bereinigung. Diese Konfiguration eignet sich gut für Auto-Scaling-Umgebungen, in denen Agenten als entbehrlich betrachtet werden und häufig erstellt und zerstört werden. Beachten Sie, dass das Neustarten des Jitterbit-Agentenprozesses innerhalb eines laufenden Containers (ohne den Container selbst neu zu starten) weiterhin dazu führt, dass der Agent deregistriert wird, wodurch er aus Harmony entfernt wird, jedoch keine neue Registrierung ausgelöst wird. Um sich zu erholen, starten Sie den Container neu.

    Bei Docker-Agenten, die frühere Versionen ausführen, und bei Linux-Agenten bleibt die Datei credentials.txt nach der Deregistrierung erhalten und verursacht Authentifizierungsfehler beim Neustart des Containers. Um sich zu erholen, müssen Sie die veraltete Datei credentials.txt manuell entfernen, was eine frische Registrierung beim nächsten Start erzwingt.

Registrierungsverfahren

Es gibt zwei Mechanismen zur Registrierung eines privaten Agenten:

  • Manuell: Bei dieser Methode fügen Sie zunächst 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 in Harmony zu erstellen und zu registrieren. Dabei wird eine register.json-Konfigurationsdatei oder Umgebungsvariablen verwendet, um die erforderlichen Informationen bereitzustellen. Dieser Ansatz ist ideal für automatisierte, automatisch 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 Typ des Agentenhosts 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-Privatagenten mit Umgebungsvariablen

Um die manuelle Registrierung mit containerisierten Privatagenten 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 Containerverzeichnis /conf eingebunden 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. Bei Docker-Agent-Version 12.4 oder höher wird beim Neustart des Containers, wenn deregisterAgentOnDrainstop=true aktiviert ist, der vorhandene Agent abgemeldet und automatisch ein neuer registriert. Bei früheren Docker-Versionen bleibt die credentials.txt nach der Abmeldung erhalten und muss manuell entfernt werden, bevor der Agent neu gestartet werden kann.

Um die register.json-Datei bei nicht-containerisierten Linux-Privatagenten zu verwenden, entfernen Sie die /opt/jitterbit/Resources/credentials.txt-Datei, erstellen Sie eine /opt/jitterbit/Resources/register.json-Datei 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-Kennwort.
    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 in der 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 Privater Agentenregistrierungs-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 Platzhalter 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 Agentenmetriken-Zugriffstoken mit dem Geltungsbereich Agent Metric, das eine automatische Metrik-Konfiguration mit automatisch registrierten Agenten ermöglicht. Wenn leer, werden keine Metriken erfasst.
(Keine) ENABLE_JITTERBIT_METRICS Boolean (true oder false) Wenn true, Jitterbit-Privatagentenmetriken für Agenten aktivieren, die als Docker Container ausgeführt werden.