Agentes privados de Jitterbit en Docker
Introducción
Los ejemplos en esta página muestran cómo ejecutar uno o más agentes privados en contenedores utilizando la imagen de Docker hub de Jitterbit. La sección de Solución de problemas explica cómo usar el servicio de verificación de estado en un contenedor en ejecución y proporciona algunos problemas comunes y sus soluciones.
Nota
La imagen de Docker no se actualiza al mismo tiempo que los paquetes de agente de Windows o Linux. Consulta la página de etiquetas de la imagen para ver qué versiones están disponibles.
Los siguientes ejemplos muestran cómo ejecutar un solo agente:
Los siguientes ejemplos muestran cómo ejecutar múltiples agentes:
Importante
Los comandos en esta página se proporcionan con fines de prueba, o como base para un desarrollo adicional. Debes consultar la documentación de Docker para obtener información sobre cómo hacerlos adecuados para sistemas de producción.
Requisitos previos
Debes tener lo siguiente para todos los ejemplos en esta página:
-
Tu nombre de usuario y contraseña de la cuenta de Harmony.
-
El nombre de tu organización en Harmony.
Además, debes tener lo siguiente para ejecutar los ejemplos de múltiples agentes:
Inicio rápido
Este ejemplo utiliza el comando jitterbit-config
para solicitar la información de registro del agente, el comando jitterbit
para iniciar el agente, y tail -F
para esperar y mostrar el archivo de registro del agente.
-
Selecciona Consola de Gestión > Agentes en el menú del Portal Harmony, luego agrega un grupo de agentes privado, o anota el nombre y ID de uno existente.
-
En una terminal, ejecuta este comando y responde a las indicaciones:
docker run -it jitterbit/agent sh -c "\ jitterbit-config; \ jitterbit start; \ tail -F log/jitterbit-agent.log"
-
Para verificar el estado de tu agente, actualiza la página Consola de Gestión > Agentes.
-
En la terminal, presiona
Control+C
para detener el agente, o utiliza el comandodocker container stop
. -
(Opcional) Elimina el agente utilizando la Consola de Gestión. (Los agentes iniciados de esta manera no se eliminan automáticamente al detenerse.)
Registro manual con variables de entorno
En el ejemplo de inicio rápido, debes ingresar la información de registro del agente cuando se te solicite. En este ejemplo, esta información se proporciona utilizando variables de entorno.
-
Agrega un agente a tu grupo de agentes y anota su nombre.
-
Crea un archivo que contenga lo siguiente, con valores establecidos de acuerdo con la tabla a continuación:
HARMONY_ORIGIN= HARMONY_USERNAME= HARMONY_PASSWORD= HARMONY_ORG_NAME= HARMONY_AGENT_GROUP_NAME= HARMONY_AGENT_NAME=
Variable Descripción del Valor HARMONY_ORIGIN
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com
, dondeREGION
es uno dena-east
,emea-west
oapac-southeast
.HARMONY_USERNAME
Tu nombre de usuario de la cuenta de Harmony. HARMONY_PASSWORD
Tu contraseña de la cuenta de Harmony. HARMONY_ORG_NAME
El nombre de tu organización en Harmony. HARMONY_AGENT_GROUP_NAME
El nombre del grupo de agentes y el nombre del entorno, separados por un guion bajo. HARMONY_AGENT_NAME
El nombre del agente. EjemploHARMONY_ORIGIN=https://na-east.jitterbit.com HARMONY_USERNAME=example@jbexample.com HARMONY_PASSWORD=P@55w0rd HARMONY_ORG_NAME=Example Org HARMONY_AGENT_GROUP_NAME=Example Agent Group_Example Env HARMONY_AGENT_NAME=Example Agent 1
-
En una terminal, ejecuta este comando para iniciar el agente, reemplazando
FILE
con el nombre del archivo creado en el paso 2:docker run --env-file FILE jitterbit/agent
-
Para verificar el estado de tu agente, actualiza la página Consola de Gestión > Agentes.
-
En la terminal, presiona
Control+C
para detener el agente, o utiliza el comandodocker container stop
. -
(Opcional) Elimina el agente utilizando la Consola de Gestión. (Los agentes iniciados de esta manera no se eliminan automáticamente al detenerse.)
Registro automático con variables de entorno
Hay dos desventajas con el ejemplo de registro manual: debes agregar manualmente un agente en la Consola de Gestión, y tus credenciales de Harmony son visibles para cualquiera que tenga acceso al sistema.
Este ejemplo evita ambos problemas. Utiliza registro automático para agregar automáticamente un agente a Harmony. Los valores de registro requeridos se pasan al contenedor utilizando variables de entorno (la mayoría de las cuales están precedidas por AUTO_REGISTER
). Para la autenticación, puedes usar un par de nombre de usuario/contraseña encriptado, o un token de acceso. (Ambos métodos se muestran aquí.)
-
Elige un método de autenticación:
-
En una terminal, ejecuta el siguiente comando de
jitterbit-utils
para encriptar tus credenciales, reemplazandoUSERNAME
yPASSWORD
con tu nombre de usuario y contraseña de Harmony:docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Ejemplo de comandodocker run jitterbit/agent jitterbit-utils -e example@jbexample.com P@55w0rd
Ejemplo de salida$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C $003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
-
Copia los valores para usarlos en el siguiente paso (usando la primera línea para
AUTO_REGISTER_ENCRYPTED_USERNAME
y la segunda línea paraAUTO_REGISTER_ENCRYPTED_PASSWORD
). -
Crea un archivo que contenga lo siguiente, con los 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=
Ejemplo de archivo de variable de entorno
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=
Variable Descripción del valor HARMONY_ORIGIN
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com
, dondeREGION
es uno dena-east
,emea-west
oapac-southeast
.AUTO_REGISTER_AGENT_GROUP_ID
El número de identificación del grupo de agentes. AUTO_REGISTER_ENCRYPTED_USERNAME
La primera línea de salida de jitterbit-utils -e
.AUTO_REGISTER_ENCRYPTED_PASSWORD
La segunda línea de salida de jitterbit-utils -e
.-
Selecciona Consola de administración > Tokens de acceso en el menú del Portal de Harmony, luego crea un token de acceso. Elige el entorno con el que está asociado tu grupo de agentes privado y establece el alcance en Registro de agentes.
-
Copia el token para establecer el valor de
AUTO_REGISTER_TOKEN
en el siguiente paso. -
Crea 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_TOKEN=
Ejemplo de archivo de variable de entorno
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_TOKEN=jb_d86ec8a0-0693-4392-b345-ef4e134dab42
Variable Descripción del valor HARMONY_ORIGIN
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com
, dondeREGION
es uno dena-east
,emea-west
oapac-southeast
.AUTO_REGISTER_AGENT_GROUP_ID
El número de identificación del grupo de agentes. AUTO_REGISTER_TOKEN
Token de acceso con el alcance Registro de Agentes. -
-
Ejecuta este comando para iniciar el agente privado en contenedor, donde
FILE
es el nombre del archivo creado en el paso anterior:docker run --detach --env-file FILE jitterbit/agent
Consejo
Para habilitar la observabilidad nativa de Jitterbit con este método, agrega
AUTO_REGISTER_AGENT_METRICS_TOKEN
a la lista de variables de entorno pasadas al contenedor. El valor es un token de acceso con el alcance Métrica de Agente. -
Para verificar el estado de tu agente, actualiza la página Consola de Administración > Agentes.
-
Para detener el agente, utiliza la Consola de Administración para detener el drenaje del agente.
-
Para detener el contenedor, encuentra el ID del contenedor con
docker ps
, luego usadocker container stop CONTAINER_ID
. -
Si
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP
está configurado comotrue
, el agente se elimina automáticamente cuando se detiene. Si no, elimina el agente en la Consola de Administración.
Registro automático con el archivo register.json
Una alternativa al uso de variables de entorno es establecer los valores requeridos en un archivo register.json
. Este archivo se puede colocar en un subdirectorio conf
, desde donde el contenedor del agente lo lee y lo utiliza para registrar el agente. Al igual que en el ejemplo anterior, se puede autenticar utilizando un nombre de usuario y contraseña, o un token de acceso.
-
Elige un método de autenticación:
-
En una terminal, ejecuta el siguiente
jitterbit-utils
command para cifrar tus credenciales, reemplazandoUSERNAME
yPASSWORD
con tu nombre de usuario y contraseña de Harmony:docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Comando de ejemplodocker run jitterbit/agent jitterbit-utils -e example@jbexample.com P@55w0rd
Salida de ejemplo$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C $003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=
-
Crea un directorio y un archivo
conf/register.json
que contenga lo siguiente, con los valores establecidos (resaltados) 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": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
Parámetro Descripción del valor cloudUrl
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com
, dondeREGION
es uno dena-east
,emea-west
oapac-southeast
.agentGroupId
El número de identificación del grupo de agentes. username
La primera línea de salida de jitterbit-utils -e
.password
La segunda línea de salida de jitterbit-utils -e
.Ejemplo conf/register.json
{ "cloudUrl": "https://na-east.jitterbit.com", "agentGroupId": 12345, "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C", "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
-
Selecciona Consola de gestión > Tokens de acceso en el menú del Portal Harmony, luego crea un token de acceso. Elige el entorno con el que está asociado tu grupo de agentes privado, y establece el alcance en Registro de Agente.
-
Copia el token para establecer el valor de `` en el siguiente paso.
-
Crea un directorio y archivo
conf/register.json
que contenga lo siguiente, con los valores establecidos (resaltados) de acuerdo con la tabla a continuación:conf/register.json{ "cloudUrl": "https://REGION.jitterbit.com", "agentGroupId": GROUP_ID, "token": "ACCESS_TOKEN", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
Parámetro Descripción del valor cloudUrl
La URL de inicio de sesión para tu cuenta de Harmony, https://REGION.jitterbit.com
, dondeREGION
es uno dena-east
,emea-west
oapac-southeast
.agentGroupId
El número de identificación del grupo de agentes. token
Token de acceso con alcance Registro de Agente. Ejemplo conf/register.json
{ "cloudUrl": "https://na-east.jitterbit.com", "agentGroupId": 12345, "token": "jb_21b0cda9-18f7-4953-bd71-8616def9d6bd", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 }
-
-
Ejecuta este comando para iniciar el agente privado en contenedor:
docker run --detach --name jitterbit-agent --rm --volume ./conf:/conf jitterbit/agent
Consejo
Para habilitar la observabilidad nativa de Jitterbit con este método, agrega el parámetro
agentMetricsToken
al archivoregister.json
. El valor es un token de acceso con alcance Métrica de Agente. -
Para verificar el estado de tu agente, actualiza la página Consola de Gestión > Agentes.
-
Para detener el agente, utiliza la Consola de Gestión para drain stop el agente.
-
Para detener el contenedor, encuentra el ID del contenedor con
docker ps
, luego usadocker stop CONTAINER_ID
. -
Si
deregisterAgentOnDrainstop
está configurado comotrue
, el agente se elimina automáticamente cuando se detiene. Si no, elimina el agente en la Consola de Gestión.
Múltiples agentes con docker compose
En este ejemplo, tres agentes privados con configuraciones idénticas se ejecutan en un grupo de agentes.
-
Crea un archivo de variables de entorno como se muestra arriba.
-
Crea un archivo
docker-compose.yml
que contenga lo siguiente:docker-compose.ymlservices: agent1: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent1 agent2: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent2 agent3: env_file: FILE image: jitterbit/agent container_name: jitterbit-agent3
FILE
: El nombre del archivo de variables de entorno creado en el paso 1.
-
Ejecuta este comando para iniciar el grupo de agentes privados:
docker compose up -d
Consejo
Ejecuta
docker compose logs -f
para ver los archivos de registro de todos los agentes, odocker stats
para monitorear el uso de recursos de cada agente. -
Para verificar el estado de tu agente, actualiza la página Consola de Gestión > Agentes.
-
Ejecuta este comando para detener el grupo de agentes privados y eliminar sus contenedores:
docker compose down -d
Múltiples agentes con helm
y kubernetes
Jitterbit proporciona un Helm chart que puedes usar para ejecutar un clúster de agentes utilizando Kubernetes.
-
Inicia un clúster de Kubernetes.
Consejo
En Docker Desktop, selecciona Configuración > Kubernetes > Habilitar Kubernetes.
-
Ejecuta este comando para encriptar tu nombre de usuario y contraseña de Harmony:
docker run jitterbit/agent jitterbit-utils -e USERNAME PASSWORD
Tip
Puedes usar la misma salida de ejemplos anteriores.
- Crea un archivo
values.yaml
que contenga lo siguiente, con valores sustituidos de acuerdo con la tabla a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Línea | Valor | Reemplazar con |
---|---|---|
9 | REGION | La región de tu cuenta de Harmony (na-east , emea-west o apac-southeast ). |
10 | GROUP_ID | El número de ID del grupo de agentes. |
11 | ENCRYPTED_USERNAME | La primera línea de salida del paso 2. |
12 | ENCRYPTED_PASSWORD | La segunda línea de salida del paso 2. |
Caution
Esta configuración especifica que Kubernetes debe ejecutar al menos 3 y como máximo 5 agentes si el Horizontal Pod Autoscaler está activo, o 4 agentes si no lo está. Dado que cada agente privado de Docker necesita aproximadamente 0.25 núcleos de CPU y 2 GB de memoria, debes verificar que las especificaciones de tu host puedan soportar este número de agentes. También puedes agregar un elemento resources
para establecer los límites de utilización de recursos. Para más detalles, consulta el ejemplo de Jitterbit value.yml
file.
- Ejecuta estos comandos para agregar y actualizar el repositorio del gráfico de Helm:
helm repo add jitterbit https://jitterbit.github.io/charts
helm repo update
- Ejecuta este comando para iniciar el clúster de agentes privados:
helm upgrade -i -f values.yaml private-agent-group jitterbit/agent-group
Tip
Ejecuta kubectl -n default get pods --watch
para monitorear el estado del clúster, o kubectl exec -it private-agent-group-0 -- curl localhost:46912/axis/v1/cdk/internal/members
para listar los miembros del clúster del servicio en escucha.
-
Ejecuta este comando para detener el clúster y eliminar los contenedores:
helm uninstall private-agent-group
Variables de entorno
Las siguientes variables de entorno son reconocidas por la imagen Docker del agente privado de Jitterbit:
Categoría | Variable | Requerido | Predeterminado | Valores permitidos | Descripción |
---|---|---|---|---|---|
Inicio de sesión | HARMONY_ORIGIN | https://na-east.jitterbit.com https://emea-west.jitterbit.com https://apac-southeast.jitterbit.com | La URL de inicio de sesión para tu cuenta de Harmony. | ||
HARMONY_USERNAME | Cadena | Tu nombre de usuario de la cuenta de Harmony. | |||
HARMONY_PASSWORD | Cadena | Tu contraseña de la cuenta de Harmony. | |||
HARMONY_ORG_NAME | Cadena | El nombre de tu organización en Harmony. | |||
Identificación del agente | HARMONY_AGENT_GROUP_NAME | Cadena | El nombre del grupo de agentes y el nombre del entorno, separados por un guion bajo. | ||
HARMONY_AGENT_NAME | Cadena | El nombre del agente. | |||
Observabilidad | JITTERBIT_ENABLE_METRICS | Datadog Elasticsearch | Habilitar observabilidad del agente privado para la plataforma especificada. | ||
DD_API_KEY | (si JITTERBIT_ENABLE_METRICS=Datadog ) | Cadena | Clave API de Datadog. | ||
DD_SITE | datadoghq | Cadena | URL del sitio de Datadog. | ||
DD_HOST_NAME | Automático (del nombre de host del sistema) | Cadena | Nombre de host del agente de Datadog. | ||
ES_API_KEY | (si JITTERBIT_ENABLE_METRICS=Elasticsearch ) | Cadena | Clave API de Elasticsearch. | ||
ES_URL | (si JITTERBIT_ENABLE_METRICS=Elasticsearch ) | Cadena | URL de Elasticsearch. | ||
METRICS_AGENT_NAME | Automático (de la información de auto-registro) | Cadena | Nombre del agente privado. | ||
METRICS_AGENT_GROUP_NAME | Automático (de la información de auto-registro) | Cadena | Nombre del grupo de agentes privados. | ||
METRICS_ENVIRONMENT_NAME | Automático (de la información de auto-registro) | Cadena | Nombre del entorno. | ||
SKIP_METRICS_CONFIG | Cadena | Si true , no configurar automáticamente las métricas de Jitterbit. (Equivalente a la opción -k /--skip-metrics-config de jitterbit-config .) | |||
ENABLE_JITTERBIT_METRICS | Cadena | Si true , habilitar métricas de Jitterbit. Ignorado si SKIP_METRICS_CONFIG es true . |
Puertos
Al ejecutarse como un contenedor, se pueden exponer los siguientes puertos:
Puerto | Descripción |
---|---|
46908 | Apache HTTP |
46909 | Apache HTTPS |
46912 | Servidor Tomcat |
3000 | Servicio de verificación de estado |
Solución de problemas
Servicio de verificación de estado
Para ver el estado de un agente privado, mapea el puerto 3000 en el contenedor a un puerto local, luego emite una solicitud HTTP GET
a localhost en el puerto mapeado. Puedes hacer esto utilizando la opción -p
/--publish
en los comandos docker run
, o configurando la clave ports
en docker compose
:
docker run -p 3000:3000 <otras opciones> jitterbit/agent
services:
agent:
env_file: FILE
image: jitterbit/agent
container_name: jitterbit-agent
ports:
- "3000"
Para llamar al servicio, utiliza un navegador web o curl
para hacer una solicitud en el puerto 3000:
curl -i localhost:3000
La respuesta está en formato JSON, con campos que indican (como true
o false
) el estado general del agente privado y el estado de los servicios individuales:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 04 Aug 2025 09:10:11 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 112
{"agent":true,"servers":{"apache_http":true,"apache_https":true,"tomcat_http":true,"tomcat_shutdown_http":true}}
Los códigos de respuesta HTTP son los siguientes:
Código | Descripción |
---|---|
200 | Éxito (Todos los servicios en ejecución) |
500 | Fallo (Uno o más servicios no están en ejecución) |
Recursos
Estas secciones en la página de solución de problemas pueden ayudar al solucionar problemas de agentes privados que se ejecutan en Docker: