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.txtnach der Deregistrierung erhalten und verursacht Authentifizierungsfehler beim Neustart des Containers. Um sich zu erholen, müssen Sie die veraltete Dateicredentials.txtmanuell 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:
-
Gehen Sie zu Management Console > Agents.
-
Fügen Sie eine private Agentengruppe hinzu oder identifizieren Sie eine vorhandene, und fügen Sie dann einen neuen privaten Agenten hinzu.
-
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 anjitterbit-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. |
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 Docker-Privatagenten mit der register.json-Datei
Um einen Docker-Privatagenten automatisch mit einer register.json-Datei zu registrieren, befolgen Sie diese Schritte:
-
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 cloudUrlDie Anmelde-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobeiREGIONeines vonna-east,emea-westoderapac-southeastist.agentGroupIdDie ID-Nummer der privaten Agentengruppe. usernameIhr verschlüsselter Harmony-Konto-Benutzername. passwordIhr verschlüsseltes Harmony-Konto-Passwort. 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-Privatagenten mit dem
conf-Verzeichnis, das im Containerverzeichnis/confeingebunden ist. (Siehe Automatische Registrierung mit derregister.json-Datei für ein Beispiel.)Beispieldocker 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:
-
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_ORIGINDie Anmelde-URL für Ihr Harmony-Konto, https://REGION.jitterbit.com, wobeiREGIONeines vonna-east,emea-westoderapac-southeastist.AUTO_REGISTER_AGENT_GROUP_IDDie ID-Nummer der privaten Agentengruppe. AUTO_REGISTER_ENCRYPTED_USERNAMEIhr verschlüsselter Harmony-Kontoname. AUTO_REGISTER_ENCRYPTED_PASSWORDIhr verschlüsseltes Harmony-Kennwort. BeispielHARMONY_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-Privatagenten und übergeben Sie die Umgebungsvariablen-Datei mit der Option
--env-filefür docker run:Beispieldocker run --detach --env-file FILE jitterbit/agentTipp
Alternativ können Sie die Option
-e/--envverwenden, 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. |