Saltar para o conteúdo
🎉 Bem-vindo! Sinfonia by 27Devs é uma plataforma completa de orquestração de robôs, solicite já seu acesso.

Linux

O agente para Linux roda na máquina onde seus bots serão executados. Ele se conecta ao orquestrador do Sinfonia por HTTPS, recebe as execuções da fila e envia de volta os logs e o status. É compatível com distribuições Linux.

Nota

Este agente executa os bots dos tipos Script, Zip e Git. Para outros ambientes, veja o agente para Windows ou, para bots do tipo Docker, o agente para Docker. A comparação entre eles está na visão geral de Agentes.

Um único executável

O agente é distribuído como um único binário estático, o agent. Não há instalador, runtime ou biblioteca extra para configurar: basta copiar o arquivo para a máquina e executá-lo.

  • Sem instalação: um só executável, que já traz tudo o que o agente precisa para rodar.
  • Execução contínua: pode ser configurado como serviço systemd, para iniciar com o servidor e se recuperar de falhas.
  • Diferentes arquiteturas: funciona em processadores x86_64 e ARM64.

Nota

O agente não precisa de instalação, mas os seus bots continuam precisando das próprias dependências na máquina, como o Python 3.12+ para bots Python ou o Node 22+ para bots JavaScript. Confira os pré-requisitos e os requisitos de hardware, principalmente a liberação de rede para o orquestrador.

Baixe o agente

Acesse https://sinfonia.live/agents e clique no ícone de download no canto superior esquerdo. Preencha os campos:

Download do agente

Nome do Agente

  • Descrição: Nome usado para identificar o agente na plataforma. Use algo que indique a máquina, por exemplo LNX-FINANCEIRO-01.

OS

  • Descrição: Sistema operacional da máquina onde o agente será executado.
  • Opções disponíveis: Linux, Windows. Selecione Linux.

Token

  • Descrição: Token que autentica o agente no orquestrador.
  • Como obter: Por padrão a plataforma gera um token master ao configurar sua conta. Você também pode criar tokens na seção de tokens.

Atualização Automática

  • Descrição: Define se o agente se atualiza sozinho quando houver uma nova versão.
  • Opções disponíveis: Habilitado, Desabilitado.

Copie os arquivos para a máquina

Envie os arquivos baixados para a máquina onde o agente vai rodar e mantenha todos na mesma pasta. O agente precisa de permissão de leitura e escrita nessa pasta.

Inicie o agente

mkdir -p /home/<usuario>/sinfonia
# copie os arquivos baixados para esta pasta
cd /home/<usuario>/sinfonia
chmod +x agent
./agent

Esse comando roda o agente em primeiro plano, o que é útil para validar a conexão. Para mantê-lo em execução de forma contínua, configure-o como serviço ou use uma das outras formas descritas em Manter o agente em execução.

Confirme a conexão

Volte para https://sinfonia.live/agents. O agente deve aparecer com o nome escolhido e o status ONLINE. A partir daí ele já pode ser selecionado ao publicar bots e configurar gatilhos.

Manter o agente em execução

Executar ./agent direto no terminal serve para testar, mas o agente para quando a sessão é encerrada. Para uso contínuo, escolha uma das formas abaixo:

FormaSobrevive ao fim da sessãoInicia com o servidorReinicia se o processo cairIndicado para
Serviço systemdSimSimSimProdução. É a forma recomendada.
nohupSimNãoNãoTestes e uso temporário.
tmux ou screenSimNãoNãoAcompanhar a saída do agente de forma interativa.
cron com @rebootSimSimNãoMáquinas sem systemd ou sem acesso de administrador.

Em todas elas o agente lê o arquivo .env da pasta onde o binário está, e precisa de permissão de leitura e escrita nessa pasta.

Atenção

Use apenas uma forma por vez. Antes de trocar, encerre o agente que já está rodando para não manter dois processos com o mesmo nome de agente.

Serviço systemd (recomendado)

Como serviço, o agente inicia junto com o servidor, é reiniciado automaticamente se o processo cair e tem os logs centralizados no journald.

Crie o arquivo do serviço

Crie o arquivo /etc/systemd/system/sinfonia-agent.service com o conteúdo abaixo, trocando <usuario> pelo usuário que vai executar os bots:

/etc/systemd/system/sinfonia-agent.service
[Unit]
Description=Sinfonia Agent
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=<usuario>
WorkingDirectory=/home/<usuario>/sinfonia
ExecStart=/home/<usuario>/sinfonia/agent
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
  • User: usuário do sistema que executa o agente e os bots. Evite root.
  • WorkingDirectory e ExecStart: pasta e caminho completo do binário do agente.
  • Restart e RestartSec: reiniciam o agente 10 segundos depois de qualquer encerramento.

Habilite e inicie o serviço

sudo systemctl daemon-reload
sudo systemctl enable --now sinfonia-agent

O enable faz o serviço iniciar a cada boot, e o --now o inicia imediatamente.

Verifique o status e os logs

systemctl status sinfonia-agent
journalctl -u sinfonia-agent -f

Comandos do dia a dia:

AçãoComando
Reiniciar, por exemplo depois de alterar o .envsudo systemctl restart sinfonia-agent
Pararsudo systemctl stop sinfonia-agent
Desabilitar o início automáticosudo systemctl disable sinfonia-agent
Ver os logs da última horajournalctl -u sinfonia-agent --since "1 hour ago"

Nota

Um serviço do systemd roda com um PATH reduzido e sem as configurações do seu shell. Se o Python ou o Node dos bots foi instalado com ferramentas como pyenv ou nvm, adicione o caminho na seção [Service], por exemplo Environment=PATH=/home/<usuario>/.pyenv/shims:/usr/local/bin:/usr/bin:/bin.

Importante

Um serviço de sistema não tem acesso à sessão gráfica. Nele o agente opera sem interface gráfica, o que atende aos modos Headless. Para bots em modo Headed, inicie o agente dentro da sessão gráfica do usuário, por exemplo com nohup ou tmux em um terminal dessa sessão.

nohup

O nohup mantém o agente em segundo plano depois que o terminal é fechado. É a forma mais simples, mas o agente não volta sozinho após uma reinicialização do servidor ou uma falha do processo.

cd /home/<usuario>/sinfonia
nohup ./agent > agent.log 2>&1 &

Para acompanhar a saída e encerrar o agente:

tail -f agent.log
pkill -f /home/<usuario>/sinfonia/agent

tmux ou screen

Um multiplexador de terminal mantém o agente em uma sessão que continua ativa depois que você se desconecta, e permite voltar a ela para ver a saída. Assim como o nohup, não inicia com o servidor.

tmux new -s sinfonia
cd /home/<usuario>/sinfonia && ./agent

Pressione Ctrl+B e depois D para sair da sessão sem parar o agente. Para voltar a ela:

tmux attach -t sinfonia

Com o screen, os comandos equivalentes são screen -S sinfonia, Ctrl+A e depois D para sair, e screen -r sinfonia para voltar.

cron com @reboot

Em máquinas sem systemd, ou quando você não tem acesso de administrador, o cron do próprio usuário pode iniciar o agente a cada boot. Abra o agendador com crontab -e e adicione a linha:

@reboot cd /home/<usuario>/sinfonia && nohup ./agent > agent.log 2>&1 &

O agente inicia no próximo boot. O cron não reinicia o agente se o processo cair.

Dica

Para acompanhar CPU, memória, logs em tempo real e o histórico do agente, veja Agentes.

Próximo passo

Última modificação em