Instalação e atualização
O instalador baixa o binário certo para a arquitetura (amd64 ou arm64), confere o SHA256SUMS,
cria o serviço argus-agent no systemd e, quando há um token de site, aplica o perfil daquele site.
Requisitos
- Linux com systemd, x86_64 ou ARM64.
- Acesso
root(viasudo) para instalar. - Saída HTTPS para
argus-homolog.eulabs.net.br(download) e para a API do Argus (envio dos dados). O agente só faz conexões de saída; nenhuma porta precisa ser aberta no host. - Um token: o token do site, gerado no Admin, é o recomendado.
Comando gerado no Admin (recomendado)
Em Admin → Projetos/Sites → Add Node, escolha empresa, site, ambiente e grupo, marque o que o site monitora e quais rotinas rodam sozinhas, e clique em Gerar API e comando. O comando já vem com o token do site e aplica o perfil do site no host.
curl -fsSL "https://argus-homolog.eulabs.net.br/install-argus-agent.sh?v=$(date +%s)" | sudo bash -s -- \
--project "Empresa" \
--site "Matriz" \
--environment "production" \
--group "linux" \
--install-base-url "https://argus-homolog.eulabs.net.br" \
--server-url "https://argus-api-homolog.eulabs.net.br" \
--token "token-do-site"
?v=$(date +%s) evita pegar um instalador antigo de cache. Se o checksum do binário não bater, a instalação
para com erro e nada é trocado.
Instalação interativa
Para instalar host a host, respondendo perguntas:
curl -fsSL "https://argus-homolog.eulabs.net.br/install-argus-agent.sh?v=$(date +%s)" -o /tmp/install-argus-agent.sh
sudo bash /tmp/install-argus-agent.sh --interactive
O instalador pergunta, nesta ordem:
- servidor (API), URL de download e token (ou mantém o token já configurado no host);
- projeto, ambiente e site;
- tipo de host: Linux, Docker, Swarm, Kubernetes ou Proxmox, com o detectado como padrão;
- nome do cluster (Swarm/K8s, o mesmo em todos os nós) e o papel RKE2;
- serviços monitorados: detecção automática, lista ou nenhum, com DSN opcional de MySQL/PostgreSQL;
- se a limpeza automática de disco fica ligada (só com Docker).
Antes de alterar qualquer coisa, ele mostra um resumo do que será feito e pede confirmação. Se já existe um
config.yml, pergunta se deve substituí-lo (com backup); se a resposta for não, as respostas vão para
config.yml.new e não são aplicadas. Sem token e com terminal disponível, o modo interativo começa sozinho.
Automação (Ansible, cloud-init, scripts)
Todas as escolhas do modo interativo existem como opções ou variáveis de ambiente:
| Opção | Variável | Valores |
|---|---|---|
--token | ARGUS_AGENT_TOKEN | token do site (ou o token legado) |
--server-url | ARGUS_SERVER_URL | URL da API do Argus |
--install-base-url | ARGUS_INSTALL_BASE_URL | de onde baixar binários e checksums |
--project, --site | ARGUS_PROJECT, ARGUS_AGENT_SITE | empresa e site do host |
--environment | ARGUS_AGENT_ENVIRONMENT | production (padrão), staging… |
--group | ARGUS_AGENT_GROUP | grupo do agente (padrão linux) |
--platform | ARGUS_PLATFORM | auto, linux, docker, swarm, k8s, proxmox |
--cluster-name | ARGUS_CLUSTER_NAME | nome do cluster Swarm/K8s, igual em todos os nós |
--k8s-role | ARGUS_K8S_ROLE | server, agent, other (k3s, kubeadm, gerenciado) |
--services | ARGUS_SERVICES | auto, none ou lista (nginx,redis,…) |
--auto-cleanup | ARGUS_AUTO_CLEANUP | true libera a limpeza controlada de Docker; false só alerta |
--with-apm | ARGUS_WITH_APM | instala também o Argus APM (argus-apm.service, não iniciado). Nada é coletado até a política do site ligar o APM; exige token de site |
--apm-propagation | ARGUS_APM_PROPAGATION | concede ao argus-apm as capabilities extras da propagação de contexto eBPF (CAP_NET_ADMIN, CAP_SYS_ADMIN); desligado por padrão |
--allow-apm-activation | ARGUS_APM_ACTIVATION | permite que o agente escreva o drop-in systemd do nível 2 de planos aprovados (APM); nunca reinicia o serviço; desligado por padrão |
--force-config | ARGUS_FORCE_CONFIG | recria o config.yml (o anterior vira backup) |
--interactive | ARGUS_INTERACTIVE | modo de perguntas |
Sem essas opções, a configuração gerada usa detecção automática para tudo e não libera nenhuma rotina.
--auto-cleanup true libera no host a limpeza controlada de Docker (imagens sem uso, build cache, containers
parados e logs de container acima de 100 MB, quando / passa de 90 %; nunca volumes) e a limpeza do journald
(só com aprovação).
Perfil do site
Quando o host é instalado com um token de site, o instalador busca o perfil desse site e aplica no
/etc/argus-agent/config.yml com argus-agent config merge:
- chave que falta é adicionada; valor que já existe no host é mantido;
- item marcado no perfil é ligado, mesmo que estivesse
falseouauto; rotina automática marcada entra emremediation.allowed_actions; - item desmarcado nunca é alterado: o perfil nunca desliga nem remove nada;
- o resultado é validado antes de gravar, e o arquivo anterior vai para
config.yml.bak.<data>. O log da instalação lista cada mudança.
Para ver o que mudaria, sem gravar:
sudo argus-agent config merge --config /etc/argus-agent/config.yml --overlay /tmp/overlay.json --dry-run
O monitoramento só muda quando o comando é rodado de novo no host. Já as rotinas marcadas como automáticas valem na hora para o site inteiro, sem reinstalar, sempre presas às travas de segurança. Token inválido ou revogado aborta a instalação.
Arquivos instalados
/usr/local/bin/argus-agent # binário
/etc/argus-agent/config.yml # configuração
/etc/argus-agent/argus-agent.env # token e URL do servidor (modo 0600)
/etc/systemd/system/argus-agent.service # unidade systemd
/var/lib/argus-agent/spool # fila offline
Comandos do dia a dia:
sudo systemctl status argus-agent
sudo journalctl -u argus-agent -f
sudo systemctl restart argus-agent
Atualizar o agente
Rode de novo o mesmo comando de instalação (o gerado no Admin). O instalador troca o binário pela versão publicada
(veja VERSION), mantém o config.yml atual, aplica o que for novo no perfil do site e
reinicia o serviço. Sem o comando em mãos, use o modo interativo e mantenha o token já configurado:
curl -fsSL "https://argus-homolog.eulabs.net.br/install-argus-agent.sh?v=$(date +%s)" -o /tmp/install-argus-agent.sh
sudo bash /tmp/install-argus-agent.sh --interactive
sudo systemctl status argus-agent
Para recriar o config.yml do zero num host já instalado (o perfil do site é aplicado por cima):
sudo ARGUS_AGENT_TOKEN="token-do-site" \
ARGUS_SERVER_URL="https://argus-api-homolog.eulabs.net.br" \
ARGUS_FORCE_CONFIG=true \
bash /tmp/install-argus-agent.sh
Mover o host de projeto ou site
- Pelo painel (admin): botão “Mover host para outro projeto/site” na lista de Hosts ou no detalhe do host. Alertas, checks, métricas e serviços vão junto.
- Reinstalando com outro projeto:
sudo bash /tmp/install-argus-agent.sh --project "Novo Projeto". O servidor move o host e os dados no próximo registro. Um simples restart do agente não desfaz uma mudança feita pelo painel.
Remover o agente
sudo bash /tmp/install-argus-agent.sh uninstall
# também apaga a fila offline em /var/lib/argus-agent:
sudo ARGUS_PURGE_SPOOL=true bash /tmp/install-argus-agent.sh uninstall
Remove o serviço, o binário, o arquivo de ambiente e o config.yml.