App-observability
Tilgængelighed
Observability API er delvist implementeret. To datakilder er nyttige i dag:
- en append-only, manuelt udfyldt event-tidslinje; og
- aktuel VM-ressourceallokering rapporteret af libvirt.
Følgende er kun kontraktforhåndsvisninger:
- request analytics returnerer en tom rollup-liste, fordi access-log ingestion ikke kører;
- uptime-probe-konfiguration gemmes, men ingen scheduler udfører HTTP-tjek;
- ressourceprøver er tomme, fordi samplern ikke kører; og
- app log streaming er ikke implementeret.
Der findes intet færdigt observability-dashboard. Gemt probe-konfiguration er ikke bevis for, at et endpoint blev tjekket.
Aktuel REST-flade
Ruterne ligger under /api/app-gateway.
| Method | Path | Hvad det viser i dag |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontrakten kan nås; rollups forventes tom. |
PUT | /probes/{slug} | Probe-konfigurationen blev valideret og gemt. |
GET | /probes/{slug} | Gemt konfiguration kan læses. Runtime status er stadig unset. |
DELETE | /probes/{slug} | Gemt konfiguration blev fjernet. |
POST | /events/{slug} | Et kalderleveret event blev tilføjet. |
GET | /events/{slug}?limit=100 | Gemte events kan læses nyeste først. |
GET | /metrics/{slug}?vm_name={name} | Aktuel allokering kan returneres; samples er tom. |
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 sådan ud:
{
"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-felterne med null er det vigtige signal: intet tjek er kørt. Brug en ekstern monitor til availability-alarmer, indtil schedulern er ude.
Events
Events er varige poster skrevet via API’et, ikke et automatisk komplet audit trail. Deployment-, checkpoint-, domain- og walker-hooks venter stadig, så kaldere må ikke antage, at de aktiviteter vises uden eksplicit append.
Behandl event metadata som kalderleverede data. Læg ikke secrets i dem.
Ressourceallokering
Metrics-ruten kan rapportere tildelte vCPU’er, hukommelse og diske, når libvirt har en matchende VM. Den rapporterer endnu ikke tidsserie eller health på applikationsniveau. Allokering er kapacitetskonfiguration, ikke bevis for, at applikationen brugte eller overlevede den kapacitet.
Operativ vejledning
Indtil ingestion og worker-løkker er udrullet:
- brug en ekstern HTTP-monitor til uptime;
- indsaml application logs med en operatørstyret mekanisme;
- brug libvirt eller host telemetry til faktisk udnyttelse; og
- vedhæft tidsstempler og kildebevis til hændelsesposter i stedet for kun at stole på forhåndslisten med events.
Funktionen kan først præsenteres som klar, når restart-safe ingest-, probe-, sampling- og log-stream-workers har bestået end-to-end fejl- og gendannelsestests.