App Observability
Verfügbarkeit
Observability API ist partially implemented. Two data sources useful today:
- append-only, manually populated event timeline; und
- current VM resource allocation reported by libvirt.
Following sind contract previews only:
- request analytics returns empty rollup list because access-log ingestion not running;
- uptime-probe configuration persists, no scheduler performs HTTP checks;
- resource samples empty because sampler not running; und
- app log streaming not implemented.
No completed observability dashboard. Stored probe configuration kein Nachweis endpoint was checked.
Current REST surface
Routes sit below /api/app-gateway.
| Method | Path | What it proves today |
|---|---|---|
GET | /analytics/{slug}?days=7 | Contract reachable; rollups expected empty. |
PUT | /probes/{slug} | Probe configuration validated und stored. |
GET | /probes/{slug} | Stored configuration readable. Runtime status remains unset. |
DELETE | /probes/{slug} | Stored configuration removed. |
POST | /events/{slug} | Caller-supplied event appended. |
GET | /events/{slug}?limit=100 | Stored events readable newest-first. |
GET | /metrics/{slug}?vm_name={name} | Current allocation may returned; samples empty. |
Probe configuration
PUT /api/app-gateway/probes/my-app
Content-Type: application/json
{
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
}Read currently looks like:
{
"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
}null runtime fields sind important signal: no check has run. External monitor für availability alerting until scheduler ships.
Events
Events durable records written through API, not automatically complete audit trail. Deployment, checkpoint, domain und walker hooks still pending, callers must not assume those activities appear without explicit append.
Treat event metadata as caller-supplied data. No secrets in it.
Resource allocation
Metrics route can report assigned vCPUs, memory und disks when matching VM available from libvirt. Reports time series oder application-level health noch nicht. Allocation ist capacity configuration, kein Nachweis application used or survived that capacity.
Operational guidance
Until ingestion und worker loops deployed:
- external HTTP monitor für uptime;
- application logs with operator-managed mechanism;
- libvirt or host telemetry für actual utilization; und
- timestamps und source evidence to incident records rather than relying on preview event list alone.
Feature presentable as ready only after restart-safe ingest, probe, sampling und log-stream workers passed end-to-end failure und recovery tests.