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.
| Method | Path | What it proves today |
|---|---|---|
GET | /analytics/{slug}?days=7 | The 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=100 | Stored 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:
- use monitor HTTP externo para uptime;
- colete logs de aplicativo com mecanismo gerenciado por operador;
- use libvirt ou telemetria de host para utilização real; e
- 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.