O Projeto Atlas evolui para o Grafana. Com a camada Silver estabilizada e os modelos Gold expostos, a LogiTrack precisa transformar dados em decisões operacionais. A diretoria exige um painel único que responda a três perguntas: “onde estão os caminhões agora?”, “qual carga corre risco térmico?” e “qual rota está comprometendo a integridade da mercadoria?”. O estudo desta semana aborda o desenho do primeiro dashboard no Grafana, do levantamento de requisitos à validação com usuários reais.
A sessão de descoberta reúne Juliana (dados), Carlos (operações), Renata (qualidade) e Mauro (manutenção). Carlos pede um mapa em tempo real com status por veículo e semáforo de risco: verde, amarelo e vermelho. Renata solicita métricas térmicas em janelas de 5 minutos — temp_max, tempo_acima_limite e histórico clicável. Mauro quer um painel de vibração p95 por trecho, para detectar trechos que aceleram desgaste. Marina (software) define restrições: dados devem vir da camada Gold, refresh de 60 segundos e controle de acesso por papel.
Juliana projeta as fontes de dados no Grafana:
gold.fato_localizacao_atual — device_id, lat, lon, route_id, event_time, status_operacional;gold.fato_entrega_termica — agregações de 5 minutos (temp_max, temp_p95, tempo_acima_limite, alerta_termico);gold.fato_integridade_viagem — vibracao_p95, trecho, km_marcador, indice_severidade.Regras visuais: vermelho se temp_max > 8°C por mais de 10 minutos, amarelo entre 2–8°C com tendência de alta, verde fora de risco. Vibração crítica quando p95 do trecho excede 2 desvios do histórico.
No Grafana, Pedro provisiona a fonte ClickHouse e cria folders por área: Operações, Qualidade, Manutenção e Diretoria. Permissões são aplicadas no nível de pasta. Juliana constrói o dashboard Operacional com:
Mapa da Frota via plugin Geomap, tooltip com device_id, rota e tempo da leitura.
Painel Térmico com cartões de temp_max e tempo_acima_limite coloridos dinamicamente via thresholds.
Integridade de Trechos com gráfico de barras de vibracao_p95 e marcadores de evento.
Filtros globais controlam período, rota e tipo de carga. Um clique em card vermelho abre a Ficha do Veículo, um dashboard drilldown com consultas SQL parametrizadas listando leituras normalizadas, origem (MQTT/HTTP-backfill) e flags de qualidade (suspect, late_data).
O primeiro teste identifica falhas. Três veículos aparecem sem dados. A causa: join incorreto na visão de localização. Marina aplica ROW_NUMBER() OVER (PARTITION BY device_id ORDER BY event_time DESC) = 1 e o mapa estabiliza. Outro erro: filtro usava created_at em vez de event_time. Após correção, o tempo de referência se alinha. A atualização de 15 s sobrecarregava o servidor; a cadência é ajustada para 60 s no operacional e 5 min no executivo, com query caching configurado no Grafana e TTL coerente.
Durante a validação, surgem refinamentos. Carlos quer alertas rastreáveis — cada mudança de estado deve mostrar o instante e a causa. Juliana adiciona um panel repeat com timeline de leituras e gatilhos. Renata pede selo visível “Dados de Gold — atualização hh:mm:ss” para transparência. Mauro solicita campo de anotações nos gráficos de vibração para registrar trocas e manutenções; é criada a tabela dim_evento_operacional integrada ao painel.
Critérios de aceite do dashboard:
Métricas de observabilidade são incluídas: latência de query, acerto de cache, taxa de erro SQL e discrepância Gold vs Silver monitoradas pelo Grafana Loki + Prometheus.