App-observability
Tillgänglighet
Observability API är delvis implementerat. Två datakällor är användbara i dag:
- en append-only, manuellt ifylld event-tidslinje; och
- aktuell VM-resursallokering rapporterad av libvirt.
Följande är endast kontraktsförhandsvisningar:
- request analytics returnerar en tom rollup-lista eftersom access-log ingestion inte körs;
- uptime-probe-konfiguration sparas, men ingen scheduler kör HTTP-kontrollerna;
- resursprover är tomma eftersom samplern inte körs; och
- app log streaming är inte implementerat.
Det finns ingen färdig observability-dashboard. Sparad probe-konfiguration bevisar inte att en endpoint kontrollerades.
Aktuell REST-yta
Rutterna ligger under /api/app-gateway.
| Method | Path | Vad det visar i dag |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontraktet går att nå; rollups förväntas vara tomt. |
PUT | /probes/{slug} | Probe-konfigurationen validerades och sparades. |
GET | /probes/{slug} | Sparad konfiguration kan läsas. Runtime status är fortfarande unset. |
DELETE | /probes/{slug} | Sparad konfiguration togs bort. |
POST | /events/{slug} | Ett anroparspecificerat event lades till. |
GET | /events/{slug}?limit=100 | Sparade events kan läsas nyast först. |
GET | /metrics/{slug}?vm_name={name} | Aktuell allokering kan returneras; samples är tomt. |
Probe-konfiguration
PUT /api/app-gateway/probes/my-app
Content-Type: application/json
{
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
}En read ser i dag ut så här:
{
"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
}Runtime-fälten med null är den viktiga signalen: ingen kontroll har körts. Använd en extern monitor för availability-varningar tills schedulern finns.
Events
Events är beständiga poster skrivna via API:et, inte ett automatiskt komplett audit trail. Deployment-, checkpoint-, domain- och walker-hooks väntar fortfarande, så anropare får inte anta att de aktiviteterna syns utan explicit append.
Behandla event metadata som anroparspecificerad data. Lägg inte secrets där.
Resursallokering
Metrics-rutten kan rapportera tilldelade vCPU:er, minne och diskar när libvirt har en matchande VM. Den rapporterar ännu inte tidsserie eller health på applikationsnivå. Allokering är kapacitetskonfiguration, inte bevis att applikationen använde eller överlevde den kapaciteten.
Operativ vägledning
Tills ingestion och worker-loopar är utrullade:
- använd en extern HTTP-monitor för uptime;
- samla application logs med en operatörsstyrd mekanism;
- använd libvirt eller host telemetry för faktisk utnyttjandegrad; och
- bifoga tidsstämplar och källbevis till incidentposter i stället för att bara lita på förhandslistan med events.
Funktionen kan presenteras som klar först när restart-safe ingest-, probe-, sampling- och log-stream-workers har klarat end-to-end-fel- och återhämtningstester.