Skip to Content
TestingObservability de app

Observability de app

Disponibilidade

API de observability está parcialmente implementada. Duas fontes de dados são úteis hoje:

  • timeline de eventos append-only preenchida manualmente; e
  • alocação atual de recurso de VM reportada pelo libvirt.

Seguintes são apenas previews de contrato:

  • analytics de pedido retorna lista rollup vazia porque ingest de access-log não está running;
  • configuração de uptime-probe persiste, mas nenhum scheduler executa checagens HTTP;
  • samples de recurso estão vazios porque sampler não está running; e
  • streaming de logs de app não está implementado.

Não há dashboard de observability concluído. Configuração de probe armazenada não prova que endpoint foi checado.

Superfície REST atual

Rotas ficam abaixo de /api/app-gateway.

MethodPathWhat it proves today
GET/analytics/{slug}?days=7The contract is reachable; rollups is expected to be empty.
PUT/probes/{slug}The probe configuration was validated and stored.
GET/probes/{slug}The stored configuration can be read. Runtime status remains unset.
DELETE/probes/{slug}The stored configuration was removed.
POST/events/{slug}A caller-supplied event was appended.
GET/events/{slug}?limit=100Stored events can be read newest-first.
GET/metrics/{slug}?vm_name={name}Current allocation may be returned; samples is empty.

Configuração de probe

PUT /api/app-gateway/probes/my-app Content-Type: application/json { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }

Leitura atual parece:

{ "config": { "path": "/healthz", "interval_s": 60, "expected_status": 200, "timeout_s": 5, "enabled": true }, "last_run_at": null, "last_status": null, "last_http_status": null, "consecutive_failures": 0 }

Campos runtime null são sinal importante: nenhuma checagem rodou. Use monitor externo para alertas de disponibilidade até scheduler shippar.

Eventos

Eventos são registros duráveis escritos via API, não trilha de auditoria automaticamente completa. Hooks de deployment, checkpoint, domínio e walker ainda estão pending; callers não devem assumir que atividades aparecerão sem append explícito.

Trate metadados de evento como dados fornecidos pelo caller. Não coloque segredos neles.

Alocação de recurso

Rota metrics pode reportar vCPUs, memória e discos atribuídos quando VM correspondente está disponível do libvirt. Ainda não reporta série temporal nem saúde em nível de aplicativo. Alocação é configuração de capacidade, não evidência de que aplicativo usou ou sobreviveu àquela capacidade.

Orientação operacional

Até ingest e worker loops estarem deployados:

  1. use monitor HTTP externo para uptime;
  2. colete logs de aplicativo com mecanismo gerenciado por operador;
  3. use libvirt ou telemetria de host para utilização real; e
  4. anexe timestamps e evidência de origem a registros de incidente em vez de depender só da lista preview de eventos.

Feature pode ser apresentado como pronto só depois que workers de ingest, probe, sampling e log-stream tiverem passado testes end-to-end de falha e recovery.