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.txtjetzt ungültig ist und Harmony den Agenten nicht mehr erkennt. Um diesen Agenten wiederherzustellen, müssen Sie die veraltete Dateicredentials.txtentfernen (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.jsonoder 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:
-
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 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 anjitterbit-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. |
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 Verzeichnis/confdes Containers gemountet 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. 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:
-
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-Kontopasswort. 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 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. |