Registro de agente para agentes privados Jitterbit
Introdução
Antes que um agente privado possa processar operações de projeto de integração, ele deve se registrar em um servidor Harmony. As informações necessárias para o registro incluem a URL do servidor Harmony para a região da sua organização, suas credenciais de conta Harmony, o nome do grupo de agentes privados ao qual ele deve se juntar e o nome do próprio agente. Para obter o nome de um agente privado, você deve primeiro adicionar um usando a página Agentes do Console de Gerenciamento. Você pode então fornecê-lo como uma das informações obrigatórias de registro durante o passo de instalação no Windows (com entrada manual no instalador), o passo de configuração no Linux (com entrada manual ou parâmetros para jitterbit-config), ou ao iniciar um contêiner Docker (com variáveis de ambiente). Essa abordagem de registro é conhecida como registro manual.
Se você deseja provisionar e descartar automaticamente agentes privados em contêiner (por exemplo, usando Kubernetes), deve usar o recurso de auto-registro do agente privado Jitterbit. Com isso, você não precisa adicionar um agente na página Agentes do Console de Gerenciamento. O sistema adiciona automaticamente um agente privado a um grupo de agentes nomeado, gera um nome de agente e, em seguida, o registra. O sistema também pode opcionalmente desregistrar e remover o agente privado do grupo de agentes quando o agente para. (Há uma desvantagem: você não pode usar um proxy com registro automático.)
Dica
Embora o registro automático tenha sido projetado para autoescalonamento com agentes em contêiner, ele também pode ser usado em agentes Linux.
Como funciona
Esta seção é uma visão geral dos conceitos e configurações principais que governam como um agente se registra e desregistra, e como ele se comporta após uma reinicialização.
O arquivo credentials.txt
Quando um agente privado se registra no Harmony pela primeira vez, ele cria o arquivo JITTERBIT_HOME/Resources/credentials.txt. Este arquivo contém as credenciais criptografadas do agente e é usado para autenticar e reconectar ao Harmony após uma reinicialização. Ele deve ser preservado para permitir que o agente reinicie.
Comportamento do agente na reinicialização
O parâmetro deregisterAgentOnDrainstop do arquivo register.json controla o que acontece quando um agente privado para ou reinicia. (Esse parâmetro também pode ser passado como uma variável de ambiente em ambientes automatizados.) Os valores permitidos são true e false. Cada valor tem o seguinte comportamento:
-
deregisterAgentOnDrainstop=false: Este é o valor padrão. Com isso, um agente não é removido do Harmony quando para, mas permanece listado em um estado Parado.Quando o agente reinicia, ele usa seu arquivo existente
credentials.txtpara reautenticar-se com o Harmony e retomar as operações. Esta é a abordagem recomendada para a maioria dos casos de uso, especialmente quando você precisa que os agentes persistam entre reinicializações planejadas ou não planejadas. -
deregisterAgentOnDrainstop=true: Com isso, o agente se desregistra ativamente do Harmony quando é parado e é removido da lista de agentes do grupo de agentes no Console de Gerenciamento.Se você tentar reiniciar o agente, ele falha ao inicializar. Isso acontece porque seu arquivo
credentials.txtagora é inválido e o Harmony não reconhece mais o agente. Para recuperar esse agente, você deve remover (deletar) o arquivocredentials.txtobsoleto. Isso força o agente a realizar um novo registro na próxima vez que iniciar. Esse comportamento é tipicamente usado em ambientes de autoescalonamento, onde os agentes são considerados descartáveis e são frequentemente criados e destruídos.
Métodos de registro
Existem dois mecanismos para registrar um agente privado:
-
Manual: Com esse método, você primeiro adiciona um agente no Console de Gerenciamento para criar uma entrada de agente. Em seguida, você fornece os detalhes do agente durante o processo de instalação (no Windows e Linux), ou com variáveis de ambiente (para Docker).
-
Automático: Essa abordagem é usada principalmente para agentes conteinerizados com plataformas como Docker e Kubernetes. Ela permite que um agente crie e registre-se automaticamente no Harmony. Utiliza um arquivo de configuração
register.jsonou variáveis de ambiente para fornecer as informações necessárias. Essa abordagem é ideal para implantações automatizadas e de autoescalonamento.
Registro manual
Para registrar um agente manualmente, siga estas etapas:
-
Vá para Console de Gerenciamento > Agentes.
-
Adicione um grupo de agentes privado ou identifique um existente e, em seguida, adicione um novo agente privado a ele.
-
Forneça as informações de registro. Quando você fizer isso depende do tipo de host do agente:
Durante a instalação, a interface do usuário solicita que você selecione a qual grupo de agentes se juntar e qual agente registrar.
Durante a configuração, o comando
jitterbit-configsolicita que você selecione a qual grupo de agentes se juntar e qual agente registrar. (Alternativamente, esses valores podem ser fornecidos como parâmetros parajitterbit-config.)Ao executar o contêiner, use as variáveis de ambiente abaixo.
Registro manual de um agente privado Docker usando variáveis de ambiente
Para usar o registro manual com agentes privados em contêiner, defina valores para as seguintes variáveis de ambiente e passe-os para o contêiner:
| Variável de ambiente | Descrição |
|---|---|
HARMONY_ORIGIN |
A URL de login para sua conta Harmony, https://REGION.jitterbit.com, onde REGION é um dos na-east, emea-west ou apac-southeast. |
HARMONY_USERNAME |
Seu nome de usuário da conta Harmony em texto simples. |
HARMONY_PASSWORD |
Sua senha da conta Harmony em texto simples. |
HARMONY_ORG_NAME |
O nome da sua organização Harmony. |
HARMONY_AGENT_GROUP_NAME |
O nome do grupo de agentes privado e seu nome de ambiente associado, separados por um sublinhado. |
HARMONY_AGENT_NAME |
O nome do 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
Dica
Use a opção --env-file do Docker em vez de várias opções -e.
Registro automático
Com o registro automático, existem duas maneiras de fornecer informações de registro: em um arquivo register.json ou como variáveis de ambiente.
Registrar um agente privado Docker usando o arquivo register.json
Para registrar automaticamente um agente privado Docker usando um arquivo register.json, siga estas etapas:
-
Crie um diretório e um arquivo
conf/register.jsoncontendo o seguinte, com valores definidos de acordo com a tabela abaixo: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 Descrição do valor cloudUrlA URL de login para sua conta Harmony, https://REGION.jitterbit.com, ondeREGIONé uma dasna-east,emea-westouapac-southeast.agentGroupIdO número de identificação do grupo de agentes privados. usernameSeu nome de usuário da conta Harmony criptografado. passwordSua senha da conta Harmony criptografada. agentNamePrefixUm prefixo para o nome do agente privado gerado automaticamente. Exemplo conf/register.json{ "cloudUrl": "https://na-east.jitterbit.com", "agentGroupId": 12345, "username": "$00HD1uP3SoM3odoS5NklwBp3VBeg1O4COW31ohIMqBBfWOcUrlzADwMawtI8lAcg6C", "password": "$003k9pLM1SJvrnh4CeMzw6jBdzsr0TY6s92wNuMiBuIVs=", "agentNamePrefix": "test", "deregisterAgentOnDrainstop": false, "retryCount": 10, "retryIntervalSeconds": 5 } -
Inicie o agente privado do Docker com o diretório
confmontado no diretório/confdo contêiner. (Veja Registro automático com o arquivoregister.jsonpara um exemplo.)Exemplodocker run --detach --name jitterbit-agent --rm --volume ./conf:/conf --volume local_resources:/opt/jitterbit/Resources jitterbit/agent
Você deve usar um arquivo credentials.txt ou um arquivo register.json. O agente privado não iniciará se o diretório conf contiver ambos. O arquivo register.json é convertido em um arquivo credentials.txt e, em seguida, removido. O arquivo credentials.txt nunca é removido e permanece quando o contêiner é parado e o agente desregistrado.
Para usar o arquivo register.json em agentes privados Linux não conteinerizados, remova o arquivo /opt/jitterbit/Resources/credentials.txt, crie um arquivo /opt/jitterbit/Resources/register.json conforme mostrado acima e, em seguida, reinicie o agente.
Registrar um agente privado do Docker usando variáveis de ambiente
Para registrar automaticamente um agente privado do Docker usando variáveis de ambiente, siga estas etapas:
-
Crie um arquivo contendo o seguinte, com valores substituídos de acordo com a tabela abaixo:
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=Variável Descrição do valor HARMONY_ORIGINA URL de login para sua conta Harmony, https://REGION.jitterbit.com, ondeREGIONé um dosna-east,emea-westouapac-southeast.AUTO_REGISTER_AGENT_GROUP_IDO número de identificação do grupo do agente privado. AUTO_REGISTER_ENCRYPTED_USERNAMESeu nome de usuário da conta Harmony criptografado. AUTO_REGISTER_ENCRYPTED_PASSWORDSua senha da conta Harmony criptografada. Exemplo2. Inicie o agente privado do Docker, passando o arquivo de variáveis de ambiente usando a opçãoHARMONY_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=--env-filepara docker run:Exemplodocker run --detach --env-file FILE jitterbit/agentDica
Como alternativa, use a opção
-e/--envpara definir variáveis de ambiente individualmente.
Comparação de parâmetros register.json e variáveis de ambiente
A tabela a seguir compara os parâmetros usados no arquivo register.json com seus equivalentes em variáveis de ambiente:
Parâmetro register.json |
Variável de ambiente | Tipo de valor | Descrição |
|---|---|---|---|
| (Nenhum) | AUTO_REGISTER |
Booleano (true ou false) |
Habilitar registro automático. |
cloudUrl |
HARMONY_ORIGIN |
String | A URL da nuvem Harmony: "https://REGION.jitterbit.com" onde REGION é na-east, emea-west ou apac-southeast. |
username |
AUTO_REGISTER_ENCRYPTED_USERNAME |
String | Versão criptografada do nome de usuário da sua conta Harmony. (Primeira linha da saída de jitterbit-utils -e USERNAME PASSWORD.) Ignorado se token ou AUTO_REGISTER_TOKEN estiver definido. |
password |
AUTO_REGISTER_ENCRYPTED_PASSWORD |
String | Versão criptografada da senha da sua conta Harmony. (Segunda linha da saída de jitterbit-utils -e USERNAME PASSWORD.) Ignorado se token ou AUTO_REGISTER_TOKEN estiver definido. |
token |
AUTO_REGISTER_TOKEN |
String | Token de acesso para registro do agente privado access token. Se fornecido, username e password são ignorados. |
deregisterAgentOnDrainstop |
AUTO_REGISTER_DEREGISTER_ON_DRAINSTOP |
Booleano (true ou false) |
Se true, o agente é removido quando parado. Defina como false para permitir que o agente se registre novamente ao ser reiniciado. (Veja também DeregisterAgentOnDrainstop.) |
agentGroupId |
AUTO_REGISTER_AGENT_GROUP_ID |
Inteiro | O número de identificação do grupo de agentes privados a ser integrado. |
agentNamePrefix |
AUTO_REGISTER_AGENT_NAME_PREFIX |
String | O nome do agente privado. Esses tokens são expandidos: %ip%: endereço IP do servidor; %host%: nome do host do servidor; %guid%: um ID aleatório de 8 caracteres. |
retryCount |
AUTO_REGISTER_RETRY_COUNT |
Inteiro | Quantas vezes tentar quando um agente privado falha ao se registrar. Intervalo: 0-300. Padrão: 10. |
retryIntervalSeconds |
AUTO_REGISTER_RETRY_INTERVAL_SECONDS |
Inteiro | Quantos segundos entre as tentativas. Intervalo: 5-600. Padrão: 5. |
agentMetricsToken |
AUTO_REGISTER_AGENT_METRICS_TOKEN |
String | Quando ENABLE_JITTERBIT_METRICS é true, o token de acesso às métricas do agente privado access token com escopo Agent Metric que permite configuração automática de métricas com agentes registrados automaticamente. Se vazio, as métricas não são coletadas. |
| (Nenhum) | ENABLE_JITTERBIT_METRICS |
Booleano (true ou false) |
Se true, habilita as métricas do agente privado Jitterbit para agentes executando como contêineres Docker. |