Pular para o conteúdo principal
POST
/
api
/
v1
/
incidents
/
{name}
/
resolve
Resolver Incidente
curl --request POST \
  --url https://api.example.com/api/v1/incidents/{name}/resolve \
  --header 'Content-Type: application/json' \
  --data '
{
  "resolution": "<string>"
}
'
{
  "apiVersion": "v1",
  "kind": "Incident",
  "metadata": {
    "name": "INC-20260319-001",
    "namespace": "production",
    "annotations": {
      "aiops.chatcli.io/resolved-by": "operator",
      "aiops.chatcli.io/resolved-at": "2026-03-19T16:45:00Z",
      "aiops.chatcli.io/manual-resolution": "true"
    }
  },
  "spec": {
    "resourceRef": {
      "kind": "Deployment",
      "name": "payment-service",
      "namespace": "production"
    },
    "severity": "critical",
    "signalType": "oom_kill"
  },
  "status": {
    "state": "Resolved",
    "resolution": "Memory leak fixed in payment-service v2.4.1 hotfix deployed manually. Verified stable for 15 minutes.",
    "resolvedAt": "2026-03-19T16:45:00Z",
    "detectedAt": "2026-03-19T14:30:00Z",
    "remediationAttempts": 3,
    "escalatedAt": "2026-03-19T15:15:00Z"
  }
}
name
string
obrigatório
Nome único do incidente (ex.: INC-20260319-001)
namespace
string
padrão:"default"
Namespace Kubernetes do incidente
resolution
string
Descrição de como o incidente foi resolvido. Se omitido, assume o valor padrão "Manually resolved via dashboard".Boa pratica: sempre forneca uma mensagem de resolucao significativa para postmortem e trilha de auditoria.

Quando Usar Este Endpoint

Este endpoint e critico nos seguintes cenarios:

1. Incidentes Escalados (Acao Humana Necessaria)

Quando a plataforma AIOps esgota todas as tentativas de remediação automática (padrão: 3 tentativas), o incidente transiciona para o estado Escalated. Neste ponto:
  • O sistema de notificação alerta a equipe de plantao pelos canais configurados (Slack, PagerDuty, etc.)
  • A politica de escalacao progride através dos níveis (L1 → L2 → L3) com base nos tempos limite
  • Nenhuma remediação automática adicional será tentada
  • O incidente permanece no estado Escalated até que um humano o resolva por este endpoint, pelo painel web ou pela CLI

2. Verificacao Manual Após Remediação Automatica

Mesmo quando a remediação automática e bem-sucedida, operadores podem querer verificar manualmente e fechar o incidente com contexto adicional.

3. Falsos Positivos

Quando um incidente e detectado mas o operador determina que e um falso positivo, use este endpoint com uma resolucao como "False positive — metric spike caused by scheduled batch job".

Fluxo de Resolucao para Incidentes Escalados

Incidente Detectado

  Análise IA → Remediação Runbook/Agentica
      ↓                    ↓
  Sucesso → Resolvido    Falha (retry até 3x)

                    Todas tentativas esgotadas

                      ESCALADO ← Você está aqui

         ┌─────────────────┼──────────────────┐
         ↓                 ↓                  ↓
    API Resolver      Botao Dashboard     Comando CLI
  POST /resolve      Botao "Resolver"   (versão futura)
         ↓                 ↓                  ↓
         └─────────────────┼──────────────────┘

                    Estado: Resolvido
                    PostMortem gerado
                    Cache de dedup limpo
                    Evento de auditoria registrado

O Que Acontece Após a Resolucao

  1. Mudanca de Estado: O incidente transiciona de Escalated (ou qualquer estado ativo) para Resolved
  2. Anotações Adicionadas:
    • aiops.chatcli.io/resolved-by — o papel/usuario autenticado
    • aiops.chatcli.io/resolved-at — timestamp da resolucao
    • aiops.chatcli.io/manual-resolution — definido como "true"
  3. Cache de Dedup Limpo: A entrada de deduplicacao do recurso e invalidada, permitindo que novas anomalias sejam detectadas para o mesmo recurso
  4. PostMortem Gerado: Um postmortem automático e criado com os detalhes da resolucao
  5. Evento de Auditoria: Um evento de auditoria imutavel e registrado para conformidade
{
  "apiVersion": "v1",
  "kind": "Incident",
  "metadata": {
    "name": "INC-20260319-001",
    "namespace": "production",
    "annotations": {
      "aiops.chatcli.io/resolved-by": "operator",
      "aiops.chatcli.io/resolved-at": "2026-03-19T16:45:00Z",
      "aiops.chatcli.io/manual-resolution": "true"
    }
  },
  "spec": {
    "resourceRef": {
      "kind": "Deployment",
      "name": "payment-service",
      "namespace": "production"
    },
    "severity": "critical",
    "signalType": "oom_kill"
  },
  "status": {
    "state": "Resolved",
    "resolution": "Memory leak fixed in payment-service v2.4.1 hotfix deployed manually. Verified stable for 15 minutes.",
    "resolvedAt": "2026-03-19T16:45:00Z",
    "detectedAt": "2026-03-19T14:30:00Z",
    "remediationAttempts": 3,
    "escalatedAt": "2026-03-19T15:15:00Z"
  }
}
{
  "apiVersion": "v1",
  "kind": "Error",
  "error": {
    "code": 404,
    "message": "Incident not found",
    "details": "No incident named 'INC-20260319-999' found in namespace 'production'"
  }
}
{
  "apiVersion": "v1",
  "kind": "Error",
  "error": {
    "code": 409,
    "message": "Incident already resolved",
    "details": "The incident 'INC-20260319-001' was already resolved at 2026-03-19T16:45:00Z"
  }
}