OR
OpenRemedy

Como funciona

O pipeline de fechamento de ciclo, cena por cena.

O OpenRemedy é construído em torno de um único ciclo agêntico: vigiar continuamente, reconhecer o desvio, classificar e encaminhar, propor uma correção, aprovar onde importa, executar, verificar e escrever o post-mortem. Cada servidor passa por três modos de confiança escalonados — observar, simulação, ao vivo — de modo que a autonomia é um gradiente concedido por etapas, não um interruptor único. As páginas a seguir percorrem o ciclo cena por cena.

01Vigiar

Sinais do servidor, da plataforma e de fora.

O OpenRemedy roda um pequeno daemon em cada servidor gerenciado. Ele reporta fatos a cada quinze segundos e executa as verificações de saúde que a plataforma enviou — cada uma assinada com HMAC, de modo que uma configuração adulterada não consiga injetar comandos arbitrários no host.

Servidores sem agente também ficam cobertos. Sondagens programadas rodam a partir da plataforma em uma cadência configurável, e as patrulhas de IA inspecionam periodicamente a frota em busca de condições para as quais ninguém escreveu uma regra. Cada sinal alimenta o mesmo pipeline de fechamento de ciclo mais adiante.

journalctl -u openremedy-client -f
12:04:18 INFO [reporter] cycle #1842 — 7 monitors, discovery=false
12:04:18 INFO [reporter] evidence sent OK
12:04:33 INFO [reporter] cycle #1843 — 7 monitors, discovery=false
12:04:33 WARN [collector/cpu] threshold exceeded: load1m=4.21 (max=3.0)
12:04:33 INFO [reporter] alert cpu_high queued for next evidence push
12:04:33 INFO [reporter] evidence sent OK
12:04:48 INFO [tasks] platform pushed config: 7 monitors, 2 with HMAC signatures
02Detectar

Um incidente se abre no momento em que algo sai do lugar.

Seja o sinal vindo do daemon, de uma sondagem programada, de um agente em patrulha ou de uma fonte de alerta externa como Alertmanager ou Datadog, ele cai no mesmo lugar: um novo incidente com severidade, tipo, contexto do servidor e a evidência relevante já anexada.

O piso de detecção é de cerca de quinze segundos para condições de limiar no daemon, e de menos de um segundo para alertas por push. A maioria dos problemas chega aqui muito antes de afetar qualquer usuário.

highcpu_high

Sustained CPU on api-prod-03

opened 41 seconds ago · daemon · resolved automatically

resolved
  1. Triage · Atlas

    Pattern matches a recurring spike from the daily ingest job. Routed to the diagnose stage.

  2. Diagnose · Forge

    Captured a fresh top -bn1 snapshot. Top consumer: python ingest_worker.py at 89% (expected behaviour during ingest).

  3. Resolved · Default SRE

    Transient — load returning to baseline. No action taken. Marked for monitoring.

3 tool calls · 2.4s wallView incident
03Classificar

A triagem encaminha para o especialista certo.

Um agente de triagem lê o incidente, procura resoluções anteriores para condições parecidas e decide quem cuida dele. Padrões recorrentes são casados com soluções conhecidas; problemas inéditos recebem mais investigação.

O agente registra o próprio raciocínio conforme avança, de modo que a trilha da decisão fica visível depois — nada de um opaco "a IA fez alguma coisa".

Linha do tempo de triagem · Atlas

  1. Busca por resoluções anteriores

    Encontrados 3 incidentes correspondentes em api-prod-03 nos últimos 30 dias. Todos resolvidos pela mesma receita.

  2. Classificado

    cpu_high · severidade alta · padrão: pico de tarefa agendada

  3. Repassado

    Encaminhado para a etapa de diagnóstico com o contexto do pico recorrente anexado.

04Diagnosticar

Evidência em primeiro lugar, só com ferramentas em sandbox.

O agente de diagnóstico coleta evidências usando um conjunto curado de ferramentas somente leitura — status de serviço, trechos de log, capturas de processo, introspecção de containers. Ele raciocina sobre a causa raiz e propõe uma correção.

O LLM nunca tem acesso a um shell livre. Cada chamada de diagnóstico é um verbo tipado contra o catálogo em sandbox da plataforma. Operadores podem estender esse catálogo, mas cada nova ferramenta passa pelo mesmo mecanismo de escape de parâmetros e de lista de hosts permitidos que as ferramentas embutidas.

agente · diagnóstico · Forge
tool_call: run_diagnostic_command ({
verb: "top_snapshot",
arg: "30"
})
Captura de 30 linhas do top (1,4 KB)
tool_call: propose_recipe ({
slug: "throttle-ingest-worker",
risk: "medium"
})
05Decidir

Correções de baixo risco rodam. As arriscadas esperam por você.

Cada receita carrega um nível de risco explícito, definido pelo operador que a escreveu. Agentes autônomos podem executar por conta própria as correções de baixo risco; as de risco médio ou acima sempre pausam esperando aprovação humana. O LLM não tem como avaliar a própria segurança.

As solicitações de aprovação mostram o contexto completo: o que o agente propõe, por quê, o que poderia dar errado e como foram as execuções anteriores da mesma receita. Um clique e a plataforma executa; um clique e ela desiste.

Approval requested

Restart nginx on edge-04?

Proposed recipe

systemd-restart-service

risk: medium · trust: supervised · expected duration: ~8 s

Why this fix

nginx.service has been in failed for 4 min. Last 12 lines of the journal show recurring SIGSEGV after a config reload. A clean restart is the standard remedy and reproduces past resolutions on this server.

Anyone with role admin can approve
06Remediar

O Ansible aplica a correção. A plataforma cuida da auditoria.

A receita aprovada é despachada para um worker que executa o playbook de Ansible correspondente via SSH. A saída é transmitida ao painel em tempo real, para que você acompanhe a execução, intervenha se precisar, e veja exatamente o que mudou no host. No modo simulação, o mesmo playbook simula sem tocar no estado real — você vê o que teria acontecido antes de deixar acontecer de verdade.

Um agente revisor verifica a resolução depois que o playbook termina — o serviço voltou a funcionar, as métricas voltaram ao normal, não há regressão em outro lugar — e só então encerra o incidente.

execução · saída em tempo realem execução
PLAY [Reiniciar e verificar o nginx]
TASK [capturar estado anterior]
ok: [edge-04]
TASK [reiniciar o nginx]
changed: [edge-04]
TASK [esperar ficar saudável]
ok: [edge-04]
── resumo ── ok=3 changed=1 failed=0
07Reportar

Cada incidente escreve o seu próprio post-mortem.

A plataforma costura a linha do tempo, as evidências, o raciocínio do agente, a cadeia de aprovações e o resultado da execução em um único relatório. Se uma pessoa interveio, o raciocínio dela fica registrado junto ao do agente.

Padrões recorrentes se tornam candidatos a novos playbooks pré-aprovados. O runbook da equipe cresce por conta própria, curado pelo trabalho que a plataforma realmente vem fazendo.

Post-incident report · auto-generated

nginx restart on edge-04

Tue, 14:08 UTC · 12 minutes total · approved by alberto@…

What happened
nginx.service crashed with SIGSEGV after a config reload at 14:01. The daemon detected the failed state within 12 seconds and opened an incident.
Root cause
A reload pulled in a partially-written /etc/nginx/sites-enabled/api.conf. The deploy pipeline had no atomic-write step.
What we did
Approved the systemd-restart-service recipe at 14:09. Service back to active (running) in 6 s. Verified with three follow-up health probes.
Follow-up
Open ticket against the deploy pipeline to add atomic file-replace. Add a proactive policy to alert on partial config files.

Essa é a forma completa.

Toda fonte de detecção, todo agente, toda receita segue o mesmo ciclo. O painel, a trilha de auditoria e a documentação são organizados em torno dele.