Documentação completa do KeepGreen: arquitetura, conectores, filtros, IA, canais, escalação, segurança, LGPD, SLA, integrações.
O KeepGreen é uma camada de inteligência que opera entre o seu monitoramento (OpMon, Zabbix) e a sua equipe. Em vez de centenas de alertas crus, entrega incidentes contextualizados: com causa raiz provável, solução sugerida e roteamento por canal correto.
O fluxo de dados percorre cinco etapas. Tudo entre a fonte (monitoramento) e o destino (você) é leitura → análise → notificação. Nenhum caminho de volta toca seu ambiente.
// fluxo de dados [ Seu ambiente ] // você ↓ read-only [ OpMon / Zabbix ] // já existe ↓ TLS · túnel dedicado [ Coletor KeepGreen ] // borda ↓ [ Filtro (6 camadas) ] → descarta 60–80% ↓ [ Analyzer (IA + topologia + histórico) ] ↓ [ Roteador (regras de canal) ] ↓ WhatsApp · Slack · Teams · Ligação IA · E-mail · SMS · Service Desk · Webhook [ Plantonista / supervisão KeepGreen ]
| Componente | Função | Estado |
|---|---|---|
| Coletor | Ingere eventos via webhook ou polling do monitoramento | produção |
| Filtro | Aplica 6 camadas determinísticas em série | produção |
| Analyzer | Correlaciona, classifica, escreve análise | produção |
| Roteador | Decide canal e destinatário por regra | produção |
| Notificador WhatsApp | Envio via WABA + escalação por tique azul | produção |
| Notificador Ligação IA | TTS PT-BR · chamada outbound | produção |
| Service Desk Bridge | Abre/atualiza chamado em GLPI, Jira SM, ServiceNow, Freshservice | produção |
Evento | Sinal bruto do monitoramento. Pode ser duplicado, redundante, sintoma. |
Incidente | Evento(s) consolidado(s) após o filtro. Unidade de notificação. |
Crônico | Incidente que dispara recorrentemente sem ser resolvido na causa. |
Causa × Sintoma | Distinção feita por supressão topológica: você recebe o incidente da causa, não dos sintomas. |
Causa raiz provável | Hipótese da IA com base em topologia e histórico. Não é verdade absoluta. |
MTTA | Mean Time To Acknowledge. Tempo entre detecção e reconhecimento. |
MTTR | Mean Time To Resolution. Tempo entre detecção e recovery. |
Tique azul | WhatsApp: indicação de visualização. Usado como prova de ack em escalação. |
O KeepGreen recebe eventos de fontes de monitoramento existentes. Você não precisa trocar nada.
| Fonte | Modo | Estado |
|---|---|---|
| OpMon | Webhook + polling de complemento | produção |
| Zabbix | Webhook (media type customizado) | produção |
| Prometheus / Alertmanager | Webhook receiver | produção |
| Datadog Monitors | Webhook outbound | produção |
| Genérico | HTTP webhook + schema JSON | produção |
{
"host": "keepgreen-hub",
"service": "process_mysql",
"severity": "disaster",
"state": "PROBLEM",
"message": "MySQL service is down",
"timestamp": "2026-05-17T02:47:18-03:00",
"tags": { "env": "prod", "team": "dba" }
}O filtro roda antes da análise IA. Determinístico, auditável, configurável por cliente. Tudo passa por ele.
host + service + state em janela curta vira 1.| Parâmetro | Default | O que controla |
|---|---|---|
janela_correlacao | 15 min | Janela para considerar eventos relacionados. |
lookback_historico | 72 h | Quanto tempo olhar para trás para detectar recorrência. |
dedup_window | 60 s | Janela de deduplicação. |
chronic_threshold | 5 / 7d | Qty de ocorrências em 7 dias para marcar como crônico. |
throttle_rate | 50 ev/s | Limite de ingestão por host. |
Sobre o stream filtrado, o Analyzer correlaciona o evento atual com:
Em cima disso, gera um incidente contextualizado contendo:
| Campo | Conteúdo |
|---|---|
title | Frase curta em PT-BR descrevendo o problema |
analysis | Parágrafo explicando o que foi observado |
root_cause | Hipótese da causa raiz |
suggested_action | O que tentar primeiro |
profile | Perfil profissional indicado (DBA, SRE, Redes…) |
affected_resources | Lista de hosts/serviços impactados |
confidence | Grau de confiança da IA (low / med / high) |
A IA opera sob calibração contínua do plantão de operações da KeepGreen. Hipóteses de baixa confiança são marcadas e revisadas em ciclo curto. Não é IA solta.
Cada incidente é roteado por regras que cruzam severidade, horário, grupo e plano contratado. O mesmo incidente pode tomar caminhos diferentes em horários diferentes.
| Canal | Quando entra | Estado |
|---|---|---|
| Log completo · todos os incidentes | produção | |
| Slack | Canal por grupo · severidade alta+ | produção |
| Microsoft Teams | Idem Slack | produção |
| Disaster · plantonista de turno | produção | |
| Ligação com voz IA | Disaster · fora do horário comercial | produção |
| SMS | Fallback se WhatsApp falhar | produção |
| Telegram / Statuspage | Opcional | produção |
| Service Desk | Abre chamado automaticamente | produção |
| Webhook | Qualquer destino HTTP que você definir | produção |
{
"name": "db-prod-crítico-noite",
"match": {
"severity": "disaster",
"tags.team": "dba",
"time": "22:00-08:00 BRT"
},
"channels": [
"whatsapp:plantao-dba",
"call:plantao-dba",
"service_desk:db-prod"
],
"escalation": "after_5min_no_ack"
}Escalação automática é por ausência de reconhecimento. O KeepGreen respeita sua tabela de plantão. Quem está OOO é pulado.
/ack.| Severidade | Nível 1 → 2 | Nível 2 → 3 |
|---|---|---|
| Disaster | 5 min | 10 min |
| High | 15 min | 30 min |
| Average | 1 h | n/a |
Quando o recovery é detectado (estado volta para OK e estabiliza), o KeepGreen gera um post-mortem com:
O post-mortem é indexado e usado pela IA como contexto na próxima ocorrência similar.
Descoberta automática a partir das relações declaradas no OpMon (parents/children) e enriquecimento por inferência (ex.: hosts que compartilham dependência de rede).
Hosts com incidente recente mas sem topologia mapeada aparecem como "órfãos" no canto inferior. Sinal de que aquele host precisa de parents configurado.
O KeepGreen abre, atualiza e fecha tickets automaticamente no service desk corporativo. Suportes nativos planejados:
| Ferramenta | Modo | Estado |
|---|---|---|
| GLPI | API REST + plugin oficial | produção |
| Jira Service Management | API REST | produção |
| ServiceNow | API REST | produção |
| Freshservice | API REST | produção |
| Genérico | Webhook bidirecional | produção |
Ticket recebe: título, severidade, host afetado, análise da IA, causa raiz provável, solução sugerida, link de volta para o incidente. Update do ticket reflete no incidente (status, atribuição, comentários).
O KeepGreen aceita webhooks de entrada (eventos) e dispara webhooks de saída (incidentes, transições de estado, recovery, post-mortem).
POST https://seu-destino.example.com/keepgreen-events
Content-Type: application/json
X-KeepGreen-Signature: hmac-sha256(...)
{
"event": "incident.created",
"id": "inc_8f3a",
"severity": "disaster",
"title": "MySQL inoperante por esgotamento de swap",
"host": "keepgreen-hub",
"service": "process_mysql",
"root_cause": "Memória swap esgotada",
"suggested_action": "Reiniciar serviço, investigar leak",
"affected": ["app-api-01", "app-api-02"],
"link": "https://keepgreen.ai/i/inc_8f3a"
}Endpoints para integração programática. Autenticação por token de longa duração (rotacionável).
| Endpoint | Método | O que faz |
|---|---|---|
/v1/events | POST | Ingere evento genérico |
/v1/incidents | GET | Lista incidentes (filtros por host, severidade, janela) |
/v1/incidents/:id | GET | Detalhe completo (timeline, análise, post-mortem) |
/v1/incidents/:id/ack | POST | Reconhece (com motivo opcional) |
/v1/incidents/:id/note | POST | Adiciona nota humana |
/v1/metrics | GET | MTTA, MTTR, volume, crônicos por período |
O KeepGreen tem um SLA contratual: tempo de primeira resposta após detecção de incidente disaster.
| Plano | Cobertura | SLA de 1ª resposta | Compensação |
|---|---|---|---|
| Basic | 8×5 (horário comercial) | 10 min | 5% mensal a cada hora de atraso |
| Professional | 24×5 | 10 min | 5% mensal a cada hora de atraso |
| Enterprise | 24×7 | 5 min | 10% mensal a cada 10 min de atraso, até 100% |
Log de acesso completo. Cada query ao seu monitoramento é registrada com timestamp, origem (analyzer, filtro, supervisão humana) e propósito. Exportável.
O time de operações da KeepGreen tem acesso a dashboards agregados. Acesso a dado individual de incidente é registrado e auditável pelo cliente.
O KeepGreen processa dados de telemetria operacional. Não processa dados pessoais de usuários finais do cliente, exceto se incluídos em payload de monitoramento, situação em que tratamos como dado sensível.
| Tipo de dado | Retenção padrão |
|---|---|
| Eventos brutos descartados | 30 dias |
| Incidentes | 13 meses |
| Post-mortems | indefinido (conhecimento) |
| Logs de acesso | 13 meses |
| Notificações enviadas (WhatsApp, e-mail) | 90 dias |
Solicitações de acesso, correção ou eliminação de dados pessoais podem ser feitas pelo encarregado do cliente (controlador) através do canal de contato. A KeepGreen atua como operadora dos dados.