Registro de agentes para agentes privados de Jitterbit
Introducción
Antes de que un agente privado pueda procesar operaciones de proyectos de integración, debe registrarse con un servidor Harmony. La información que necesita para registrarse incluye la URL del servidor Harmony para la región de su organización, sus credenciales de cuenta de Harmony, el nombre del grupo de agentes privados al que se unirá y el nombre del propio agente. Para obtener el nombre de un agente privado, primero debe agregar uno utilizando la página Agentes de la Consola de Administración. Luego puede proporcionarlo como una de las piezas requeridas de información de registro durante el paso de instalación en Windows (con entrada manual en el instalador), el paso de configuración en Linux (con entrada manual o parámetros para jitterbit-config), o al iniciar un contenedor Docker (con variables de entorno). Este enfoque para el registro se conoce como registro manual.
Si desea aprovisionar y eliminar automáticamente agentes privados en contenedores (por ejemplo, utilizando Kubernetes), debe utilizar la función de auto-registro del agente privado de Jitterbit. Con esto, no es necesario agregar un agente con la página Agentes de la Consola de Administración. El sistema agrega automáticamente un agente privado a un grupo de agentes nombrado, genera un nombre de agente y luego lo registra. El sistema también puede, opcionalmente, desregistrar y eliminar el agente privado del grupo de agentes cuando el agente se detiene. (Hay una desventaja: no se puede usar un proxy con el registro automático.)
Consejo
Aunque el registro automático fue diseñado para escalado automático con agentes en contenedores, también se puede utilizar en agentes de Linux.
Cómo funciona
Esta sección es una visión general de los conceptos clave y configuraciones que rigen cómo un agente se registra y desregistra, y cómo se comporta después de un reinicio.
El archivo credentials.txt
Cuando un agente privado se registra con Harmony por primera vez, crea el archivo JITTERBIT_HOME/Resources/credentials.txt. Este archivo contiene las credenciales encriptadas del agente y se utiliza para autenticar y reconectar a Harmony después de un reinicio. Debe ser preservado para permitir que el agente se reinicie.
Comportamiento del agente al reiniciar
El parámetro deregisterAgentOnDrainstop del archivo register.json controla lo que sucede cuando un agente privado se detiene o reinicia. (Este parámetro también se puede pasar como una variable de entorno en entornos automatizados). Los valores permitidos son true y false. Cada valor tiene el siguiente comportamiento:
-
deregisterAgentOnDrainstop=false: Este es el valor predeterminado. Con esto, un agente no se elimina de Harmony cuando se detiene, sino que permanece listado en un estado de Detenido.Cuando el agente se reinicia, utiliza su archivo existente
credentials.txtpara re-autenticarse con Harmony y reanudar operaciones. Este es el enfoque recomendado para la mayoría de los casos de uso, especialmente cuando se necesita que los agentes persistan a través de reinicios planificados o no planificados. -
deregisterAgentOnDrainstop=true: Con esto, el agente se desregistra activamente de Harmony cuando se detiene y se elimina de la lista de agentes del grupo de agentes en la Consola de Administración.Si intentas reiniciar el agente, no logra inicializarse. Esto sucede porque su archivo
credentials.txtahora es inválido y Harmony ya no reconoce al agente. Para recuperar este agente, debes eliminar (borrar) el archivocredentials.txtobsoleto. Esto obliga al agente a realizar un nuevo registro la próxima vez que se inicie. Este comportamiento se utiliza típicamente en entornos de autoescalado donde los agentes se consideran desechables y se crean y destruyen con frecuencia.
Métodos de registro
Existen dos mecanismos para registrar un agente privado:
-
Manual: Con este método, primero agregas un agente en la Consola de Administración para crear una entrada de agente. Luego proporcionas los detalles del agente durante el proceso de instalación (en Windows y Linux), o con variables de entorno (para Docker).
-
Automático: Este enfoque se utiliza principalmente para agentes en contenedores con plataformas como Docker y Kubernetes. Permite que un agente se cree y registre automáticamente en Harmony. Utiliza un archivo de configuración
register.jsono variables de entorno para proporcionar la información necesaria. Este enfoque es ideal para implementaciones automatizadas y de autoescalado.
Registro manual
Para registrar manualmente un agente, sigue estos pasos:
-
Ve a Consola de Administración > Agentes.
-
Agrega un grupo de agentes privado, o identifica uno existente, y luego agrega un nuevo agente privado a él.
-
Proporciona la información de registro. Cuándo lo hagas depende del tipo de host del agente:
Durante la instalación, la interfaz de usuario te solicita seleccionar a qué grupo de agentes unirte y qué agente registrar.
Durante la configuración, el comando
jitterbit-configte solicita seleccionar a qué grupo de agentes unirte y qué agente registrar. (Alternativamente, estos valores pueden ser proporcionados como parámetros ajitterbit-config.)Al ejecutar el contenedor, utiliza las variables de entorno a continuación.
Registro manual de un agente privado de Docker utilizando variables de entorno
Para usar el registro manual con agentes privados en contenedores, establece valores para las siguientes variables de entorno y pásalos al contenedor:
| Variable de entorno | Descripción |
|---|---|
HARMONY_ORIGIN |
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com, donde REGION es uno de na-east, emea-west o apac-southeast. |
HARMONY_USERNAME |
Tu nombre de usuario de cuenta de Harmony en texto plano. |
HARMONY_PASSWORD |
Tu contraseña de cuenta de Harmony en texto plano. |
HARMONY_ORG_NAME |
El nombre de tu organización en Harmony. |
HARMONY_AGENT_GROUP_NAME |
El nombre del grupo de agentes privado y su nombre de entorno asociado, separados por un guion bajo. |
HARMONY_AGENT_NAME |
El nombre del agente privado. |
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
Consejo
Usa la opción de Docker --env-file en lugar de múltiples opciones -e.
Registro automático
Con el registro automático, hay dos formas de proporcionar información de registro: en un archivo register.json, o como variables de entorno.
Registrar un agente privado Docker usando el archivo register.json
Para registrar automáticamente un agente privado Docker usando un archivo register.json, sigue estos pasos:
-
Crea un directorio y un archivo
conf/register.jsonque contenga lo siguiente, con valores establecidos de acuerdo con la tabla a continuación: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 }Parámetro Descripción del valor cloudUrlLa URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com, dondeREGIONes uno dena-east,emea-westoapac-southeast.agentGroupIdEl número de identificación del grupo de agentes privados. usernameTu nombre de usuario de cuenta de Harmony encriptado. passwordTu contraseña de cuenta de Harmony encriptada. agentNamePrefixUn prefijo para el nombre del agente privado generado automáticamente. Ejemplo conf/register.json{ "cloudUrl": "https://na-east.jitterbit.com", "agentGroupId": 12345, "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C", "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 } -
Inicie el agente privado de Docker con el directorio
confmontado en el directorio/confdel contenedor. (Vea Registro automático con el archivoregister.jsonpara un ejemplo.)Ejemplodocker run --detach --name jitterbit-agent --rm --volume ./conf:/conf --volume local_resources:/opt/jitterbit/Resources jitterbit/agent
Debe usar un archivo credentials.txt o un archivo register.json. El agente privado no se iniciará si el directorio conf contiene ambos. El archivo register.json se convierte en un archivo credentials.txt y luego se elimina. El archivo credentials.txt nunca se elimina y permanece cuando el contenedor se detiene y el agente se desregistra.
Para usar el archivo register.json en agentes privados de Linux no contenedorizados, elimine el archivo /opt/jitterbit/Resources/credentials.txt, cree un archivo /opt/jitterbit/Resources/register.json como se muestra arriba y luego reinicie el agente.
Registrar un agente privado de Docker usando variables de entorno
Para registrar automáticamente un agente privado de Docker usando variables de entorno, siga estos pasos:
-
Cree un archivo que contenga lo siguiente, con valores sustituidos de acuerdo con la tabla a continuación:
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 Descripción del valor HARMONY_ORIGINLa URL de inicio de sesión para su cuenta de Harmony, https://REGION.jitterbit.com, dondeREGIONes uno dena-east,emea-westoapac-southeast.AUTO_REGISTER_AGENT_GROUP_IDEl número de identificación del grupo de agentes privados. AUTO_REGISTER_ENCRYPTED_USERNAMESu nombre de usuario de cuenta de Harmony encriptado. AUTO_REGISTER_ENCRYPTED_PASSWORDSu contraseña de cuenta de Harmony encriptada. EjemploHARMONY_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= -
Inicie el agente privado de Docker, pasando el archivo de variables de entorno usando la opción
--env-filepara docker run:Ejemplodocker run --detach --env-file FILE jitterbit/agentConsejo
Alternativamente, use la opción
-e/--envpara establecer variables de entorno individualmente.
Comparación de parámetros de register.json y variables de entorno
La siguiente tabla compara los parámetros utilizados en el archivo register.json con sus equivalentes en variables de entorno:
Parámetro de register.json |
Variable de entorno | Tipo de valor | Descripción |
|---|---|---|---|
| (Ninguno) | AUTO_REGISTER |
Booleano (true o false) |
Habilitar el registro automático. |
cloudUrl |
HARMONY_ORIGIN |
Cadena | La URL de la nube de Harmony: "https://REGION.jitterbit.com" donde REGION es na-east, emea-west o apac-southeast. |
username |
AUTO_REGISTER_ENCRYPTED_USERNAME |
Cadena | Versión encriptada de su nombre de usuario de la cuenta de Harmony. (Primera línea de salida de jitterbit-utils -e USERNAME PASSWORD.) Ignorado si se establece token o AUTO_REGISTER_TOKEN. |
password |
AUTO_REGISTER_ENCRYPTED_PASSWORD |
Cadena | Versión encriptada de su contraseña de la cuenta de Harmony. (Segunda línea de salida de jitterbit-utils -e USERNAME PASSWORD.) Ignorado si se establece token o AUTO_REGISTER_TOKEN. |
token |
AUTO_REGISTER_TOKEN |
Cadena | Token de acceso de registro del agente privado token de acceso. Si se proporciona, se ignoran username y password. |
deregisterAgentOnDrainstop |
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP |
Booleano (true o false) |
Si es true, el agente se elimina cuando se detiene. Establezca en false para permitir que el agente se vuelva a registrar al reiniciarse. (Ver también DeregisterAgentOnDrainstop.) |
agentGroupId |
AUTO_REGISTER_AGENT_GROUP_ID |
Entero | El número de identificación del grupo de agentes privados al que unirse. |
agentNamePrefix |
AUTO_REGISTER_AGENT_NAME_PREFIX |
Cadena | El nombre del agente privado. Estos tokens se expanden: %ip%: dirección IP del servidor; %host%: nombre del host del servidor; %guid%: un ID aleatorio de 8 caracteres. |
retryCount |
AUTO_REGISTER_RETRY_COUNT |
Entero | Cuántas veces intentar nuevamente cuando un agente privado falla al registrarse. Rango: 0-300. Predeterminado: 10. |
retryIntervalSeconds |
AUTO_REGISTER_RETRY_INTERVAL_SECONDS |
Entero | Cuántos segundos entre reintentos. Rango: 5-600. Predeterminado: 5. |
agentMetricsToken |
AUTO_REGISTER_AGENT_METRICS_TOKEN |
Cadena | Cuando ENABLE_JITTERBIT_METRICS es true, el token de acceso de métricas del agente privado token de acceso con el alcance Métrica del Agente que permite la configuración automática de métricas con agentes registrados automáticamente. Si está vacío, no se recopilan métricas. |
| (Ninguno) | ENABLE_JITTERBIT_METRICS |
Booleano (true o false) |
Si es true, habilitar métricas del agente privado de Jitterbit para agentes que se ejecutan como contenedores de Docker. |