Skip to Content
TestingСпостережність застосунків

Спостережність застосунків

Availability

Observability API partially implemented. Two data sources useful today:

  • append-only, manually populated event timeline; and
  • current VM resource allocation reported by libvirt.

Following contract previews only:

  • request analytics returns empty rollup list because access-log ingestion not running;
  • uptime-probe configuration persists, but no scheduler performs HTTP checks;
  • resource samples empty because sampler not running; and
  • app log streaming not implemented.

No completed observability dashboard. Stored probe configuration not proof endpoint checked.

Current REST surface

Routes sit below /api/app-gateway.

MethodPathWhat it proves today
GET/analytics/{slug}?days=7Contract reachable; rollups expected empty.
PUT/probes/{slug}Probe configuration validated and stored.
GET/probes/{slug}Stored configuration can be read. Runtime status remains unset.
DELETE/probes/{slug}Stored configuration removed.
POST/events/{slug}Caller-supplied event appended.
GET/events/{slug}?limit=100Stored events read newest-first.
GET/metrics/{slug}?vm_name={name}Current allocation may return; 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 important signal: no check ran. Use external monitor for availability alerting until scheduler ships.

Events

Events durable records written through API, not automatically complete audit trail. Deployment, checkpoint, domain, walker hooks still pending, callers must not assume those activities appear without explicit append.

Treat event metadata as caller-supplied data. Do not place secrets in it.

Resource allocation

Metrics route can report assigned vCPUs, memory, disks when matching VM available from libvirt. Does not yet report time series or application-level health. Allocation is capacity configuration, not evidence application used or survived capacity.

Operational guidance

Until ingestion and worker loops deployed:

  1. use external HTTP monitor for uptime;
  2. collect application logs with operator-managed mechanism;
  3. use libvirt or host telemetry for actual utilization; and
  4. attach timestamps and source evidence to incident records rather than relying on preview event list alone.

Feature can be presented as ready only after restart-safe ingest, probe, sampling, log-stream workers passed end-to-end failure and recovery tests.