Pular para o conteúdo principal

Escalação de Alertas

A escalação é um mecanismo automático que destaca alertas não tratados dentro do prazo esperado, garantindo que nenhuma ocorrência passe despercebida.

Como funciona​

Um job agendado (EscalateUnacknowledgedAlertsJob) roda a cada 30 segundos — para cada site ativo — e procura alertas que:

  1. Ainda estão com status Ativo
  2. Não foram reconhecidos por nenhum operador
  3. Ainda não foram escalados (is_escalated = false)
  4. Ultrapassaram o tempo limite de escalação definido para o tipo de alerta

Quando essas condições são atendidas, o alerta é marcado como escalado. A verificação só considera tipos de alerta cujo tratador (handler) declara ser escalável.

Tempos de escalação por tipo​

Cada tipo de alerta tem seu próprio tempo de escalação, definido pelo módulo que o registrou:

Tipo de alertaTempoEscalável
Botão de Pânico2 minSim
Dispositivo OfflineConfigurávelSim
Antena OfflineConfigurávelSim
Bateria BaixaConfigurávelSim
Entrada em Zona RestritaConfigurávelSim
Atenção

Alertas de Botão de Pânico têm apenas 2 minutos antes de serem escalados. Isso reflete a criticidade do cenário — uma pessoa em emergência precisa de resposta imediata.

Configuração do prazo

O tempo limite de escalação é definido pela variável LOCATION_ESCALATION_TIMEOUT em config/location.php (padrão 120 segundos = 2 minutos). Cada tratador de alerta pode expor seu próprio prazo; os tempos exatos por tipo dependem do módulo que registrou o alerta.

O que acontece na escalação​

Quando um alerta é escalado:

  1. O campo is_escalated é marcado como verdadeiro
  2. Um evento de severidade alta é registrado (AlertEscalated)
  3. O evento é transmitido via WebSocket para todos os operadores conectados
  4. O alerta ganha destaque visual na interface (badge de escalação)
Escalação e cadeia de acionamento

A escalação descrita aqui é o degrau interno: marca o alerta e avisa quem já está na tela. Para avisar quem está fora da tela (e-mail, Telegram), o pânico usa a cadeia de acionamento, com degraus e contatos próprios por site. Ver Botão de Pânico.

Impacto visual​

Alertas escalados são diferenciados visualmente:

  • Badge "Escalado" — Exibido na lista de alertas e nos detalhes
  • Severidade elevada — O evento de escalação é registrado como severidade Alta
  • Registro detalhado — O evento AlertEscalated inclui: tipo do alerta, horário em que foi disparado (triggered_at), tempo decorrido em segundos, a zona (id e nome) e a identificação da origem do alerta

Como prevenir escalação​

A escalação é prevenida quando um operador reconhece o alerta dentro do prazo:

Alerta criado → Reconhecido em < 2 min → NÃO é escalado ✓
Alerta criado → Sem ação por > 2 min → ESCALADO ⚠

Após a escalação, o alerta ainda pode ser reconhecido e resolvido normalmente. A flag de escalação é apenas um indicador histórico.

Monitoramento​

Os alertas escalados podem ser filtrados na lista de alertas e aparecem nos relatórios de performance, permitindo análise de tempos de resposta da equipe de operação.