Agent-Registrierung für private Jitterbit-Agenten
Einführung
Bevor ein privater Agent Integrationsprojektvorgänge verarbeiten kann, muss er sich bei einem Harmony-Server registrieren. Die erforderlichen Informationen umfassen die Harmony-Server-URL für die Region deiner Organisation, deine Harmony-Kontoanmeldedaten, den Namen der Agentgruppe für private Agenten, der der Agent beitreten soll, und den Namen des Agenten selbst. Um den Namen eines privaten Agenten zu erhalten, musst du zunächst einen über die Seite Agents der Management Console hinzufügen. Anschließend kannst du ihn als eines der erforderlichen Registrierungsinformationen während des Installationsschritts unter Windows (mit manueller Eingabe in das Installationsprogramm), des Konfigurationsschritts unter Linux (mit manueller Eingabe oder Parametern für jitterbit-config) oder beim Starten eines Docker-Containers (mit Umgebungsvariablen) angeben. Dieser Registrierungsansatz wird als manuelle Registrierung bezeichnet.
Wenn du containerisierte private Agenten automatisch bereitstellen und entfernen möchtest (beispielsweise mit Kubernetes), musst du die Funktion Auto-Registrierung für private Jitterbit-Agenten verwenden. Damit musst du keinen Agent über die Seite Agents der Management Console hinzufügen. Das System fügt einen privaten Agent automatisch zu einer benannten Agentgruppe hinzu, generiert einen Agentennamen und registriert ihn dann. Das System kann den privaten Agent optional auch deregistrieren und aus der Agentgruppe entfernen, wenn der Agent stoppt. (Es gibt einen Nachteil: Du kannst keinen Proxy mit automatischer Registrierung verwenden.)
Tipp
Obwohl die automatische Registrierung für die automatische Skalierung mit containerisierten Agenten konzipiert wurde, kann sie auch auf Linux-Agenten verwendet werden.
Funktionsweise
Dieser Abschnitt bietet einen Überblick über die Schlüsselkonzepte und Einstellungen, die steuern, wie sich ein Agent registriert und deregistriert, 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 nach einem Neustart bei Harmony zu authentifizieren und erneut zu verbinden. Sie muss beibehalten werden, damit der Agent neu gestartet werden kann.
Agent-Verhalten beim Neustart
Der Parameter deregisterAgentOnDrainstop der Datei register.json steuert, was geschieht, wenn ein privater Agent stoppt oder neu gestartet wird. (Dieser Parameter kann in automatisierten Umgebungen auch als Umgebungsvariable übergeben werden.) Die zulässigen 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 in einem Stopped-Status aufgelistet.Beim Neustart des Agenten verwendet dieser 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, besonders wenn Agenten über geplante oder ungeplante Neustarts hinweg bestehen bleiben müssen. -
deregisterAgentOnDrainstop=true: Damit deregistriert sich der Agent aktiv selbst bei Harmony, wenn er stoppt, und wird aus der Agentenliste der Agentgruppe in der Management Console entfernt.Ab Docker-Agent-Version 12.4 deregistriert das Neustarten des Containers den vorhandenen Agent automatisch und registriert einen neuen, ohne dass eine manuelle Bereinigung erforderlich ist. Dies macht diese Konfiguration gut geeignet für Umgebungen mit automatischer Skalierung, in denen Agenten als austauschbar betrachtet werden und häufig erstellt und gelöscht werden. Beachte, dass das Neustarten des Jitterbit-Agent-Prozesses in einem laufenden Container (ohne Neustart des Containers selbst) immer noch dazu führt, dass sich der Agent deregistriert und aus Harmony entfernt wird, aber keine neue Registrierung auslöst. Zum Wiederherstellen musst du den Container neu starten.
Bei Docker-Agenten mit früheren Versionen und bei Linux-Agenten bleibt
credentials.txtnach der Deregistrierung bestehen und verursacht Authentifizierungsfehler beim Neustart. Zum Wiederherstellen musst du die veraltete Dateicredentials.txtmanuell entfernen, was eine neue Registrierung beim nächsten Start erzwingt.
Registrierungsmethoden
Es gibt zwei Mechanismen zum Registrieren eines privaten Agenten:
-
Manuell: Bei dieser Methode fügen Sie zunächst einen Agenten in der Management Console hinzu, um einen Agenteneintrag zu erstellen. Anschließend geben Sie die Details des Agenten während des Installationsvorgangs (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. Er verwendet eine
register.json-Konfigurationsdatei oder Umgebungsvariablen, um die erforderlichen Informationen bereitzustellen. Dieser Ansatz ist ideal für automatisierte, automatisch skalierbare Bereitstellungen.
Manuelle Registrierung
Führen Sie diese Schritte aus, um einen Agenten manuell zu registrieren:
-
Gehen Sie zu Management Console > Agents.
-
Fügen Sie eine private Agentgruppe hinzu, oder identifizieren Sie eine vorhandene, und fügen Sie dann einen neuen privaten Agenten hinzu.
-
Geben Sie die Registrierungsinformationen an. Der Zeitpunkt hängt vom Agenten-Host-Typ ab:
Während der Installation werden Sie in der Benutzeroberfläche aufgefordert, auszuwählen, welcher Agentgruppe Sie beitreten möchten und welcher Agent registriert werden soll.
Während der Konfiguration werden Sie vom
jitterbit-config-Befehl aufgefordert, auszuwählen, welcher Agentgruppe Sie beitreten möchten und welcher Agent registriert werden soll. (Alternativ können diese Werte als Parameter fürjitterbit-configbereitgestellt werden.)Verwenden Sie beim Ausführen des Containers die Umgebungsvariablen unten.
Manuelle Registrierung eines privaten Docker-Agenten mit Umgebungsvariablen
Um die manuelle Registrierung mit containerisierten privaten Agenten zu verwenden, legen Sie Werte für die folgenden Umgebungsvariablen fest und übergeben Sie sie an den Container:
| Umgebungsvariable | Beschreibung |
|---|---|
HARMONY_ORIGIN |
Die Login-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobei REGION einer von na-east, emea-west oder apac-southeast ist. |
HARMONY_USERNAME |
Ihr Harmony-Kontoname im Klartext. |
HARMONY_PASSWORD |
Ihr Harmony-Kontokennwort im Klartext. |
HARMONY_ORG_NAME |
Ihr Harmony-Organisationsname. |
HARMONY_AGENT_GROUP_NAME |
Der Name der privaten Agentgruppe und der zugehörige Umgebungsname, getrennt durch einen Unterstrich. |
HARMONY_AGENT_NAME |
Der Name des privaten Agenten. |
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
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 privaten Docker-Agenten mit der register.json-Datei
Führen Sie diese Schritte aus, um einen privaten Docker-Agenten automatisch mit einer register.json-Datei zu registrieren:
-
Erstellen Sie ein Verzeichnis und eine Datei
conf/register.jsonmit folgendem Inhalt, 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 cloudUrlDie Login-URL für dein Harmony-Konto, https://REGION.jitterbit.com, wobeiREGIONeiner der folgenden Werte ist:na-east,emea-westoderapac-southeast.agentGroupIdDie ID-Nummer der privaten Agent-Gruppe. usernameDein verschlüsselter Harmony-Kontoname. passwordDein verschlüsseltes Harmony-Kontokennwort. agentNamePrefixEin 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 } -
Starten Sie den Docker-Private-Agent mit dem
conf-Verzeichnis, das im/conf-Verzeichnis des Containers bereitgestellt wird. (Siehe Automatische Registrierung mitregister.json-Datei für ein Beispiel.)Beispieldocker run --detach --name jitterbit-agent --rm --volume ./conf:/conf --volume local_resources:/opt/jitterbit/Resources jitterbit/agent
Es muss entweder eine credentials.txt-Datei oder eine register.json-Datei verwendet werden. Der Private Agent startet nicht, wenn das conf-Verzeichnis beide Dateien enthält. Die register.json-Datei wird in eine credentials.txt-Datei konvertiert und anschließend gelöscht. Bei Docker Agent Version 12.4 oder später wird der Container beim Neustart mit aktiviertem deregisterAgentOnDrainstop=true automatisch deregistriert und ein neuer Agent registriert. Bei früheren Docker-Versionen bleibt credentials.txt nach der Deregistrierung bestehen und muss manuell gelöscht werden, bevor der Agent neu gestartet werden kann.
Um die register.json-Datei auf nicht containerisierten Linux-Private-Agents zu verwenden, löschen Sie die Datei /opt/jitterbit/Resources/credentials.txt, erstellen Sie eine /opt/jitterbit/Resources/register.json-Datei wie oben gezeigt, und starten Sie den Agent neu.
Docker-Private-Agent mit Umgebungsvariablen registrieren
Um einen Docker-Private-Agent automatisch mit Umgebungsvariablen zu registrieren, führen Sie diese Schritte aus:
-
Erstellen Sie eine Datei mit folgendem Inhalt und ersetzen Sie die Werte gemäß der nachstehenden Tabelle:
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_ORIGINDie Login-URL für dein Harmony-Konto, https://REGION.jitterbit.com, wobeiREGIONeiner der folgenden Werte ist:na-east,emea-westoderapac-southeast.AUTO_REGISTER_AGENT_GROUP_IDDie ID-Nummer der privaten Agent-Gruppe. AUTO_REGISTER_ENCRYPTED_USERNAMEDein verschlüsselter Harmony-Kontoname. AUTO_REGISTER_ENCRYPTED_PASSWORDDein verschlüsseltes Harmony-Kontokennwort. ExampleHARMONY_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= -
Starten Sie den Docker Private Agent und übergeben Sie die Umgebungsvariablendatei mit der Option
--env-filefür docker run:Exampledocker run --detach --env-file FILE jitterbit/agentTipp
Alternativ können Sie die Option
-e/--envverwenden, um Umgebungsvariablen einzeln festzulegen.
Vergleich von register.json-Parametern und Umgebungsvariablen
Die folgende Tabelle vergleicht die Parameter in der Datei register.json 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 des Benutzernamens Ihres Harmony-Kontos. (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 des Passworts Ihres Harmony-Kontos. (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 | Private Agent-Registrierungs-Zugriffstoken. Falls angegeben, werden username und password ignoriert. |
deregisterAgentOnDrainstop |
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP |
Boolean (true oder false) |
Falls true, wird der Agent beim Stoppen entfernt. Setzen Sie auf false, um dem Agent zu ermöglichen, sich beim Neustart erneut zu registrieren. (Siehe auch DeregisterAgentOnDrainstop.) |
agentGroupId |
AUTO_REGISTER_AGENT_GROUP_ID |
Integer | Die ID-Nummer der Private Agent-Gruppe, der beigetreten werden soll. |
agentNamePrefix |
AUTO_REGISTER_AGENT_NAME_PREFIX |
String | Der Name des Private Agent. Diese Token werden erweitert: %ip%: Server-IP-Adresse; %host%: Server-Hostname; %guid%: eine zufällige 8-stellige ID. |
retryCount |
AUTO_REGISTER_RETRY_COUNT |
Integer | Wie oft versucht werden soll, wenn ein Private Agent die Registrierung nicht durchführt. Bereich: 0–300. Standard: 10. |
retryIntervalSeconds |
AUTO_REGISTER_RETRY_INTERVAL_SECONDS |
Integer | Wie viele Sekunden zwischen Wiederholungen. Bereich: 5–600. Standard: 5. |
agentMetricsToken |
AUTO_REGISTER_AGENT_METRICS_TOKEN |
String | Wenn ENABLE_JITTERBIT_METRICS auf true gesetzt ist, das Private Agent-Metriken-Zugriffstoken mit dem Bereich Agent Metric, das die automatische Metrikkonfiguration mit automatisch registrierten Agents ermöglicht. Falls leer, werden keine Metriken erfasst. |
| (Keine) | ENABLE_JITTERBIT_METRICS |
Boolean (true oder false) |
Falls true, aktivieren Sie Jitterbit Private Agent-Metriken für Agents, die als Docker-Container ausgeführt werden. |