Observabilitatea aplicațiilor
Disponibilitate
API-ul de observabilitate este parțial implementat. Astăzi sunt utile două surse de date:
- o cronologie de evenimente append-only, completată manual; și
- alocarea curentă a resurselor VM raportată de libvirt.
Următoarele sunt doar previzualizări de contract:
- request analytics returnează o listă rollup goală, deoarece ingestion-ul access log-urilor nu rulează;
- configurația uptime-probe persistă, dar niciun scheduler nu execută verificările HTTP;
- eșantioanele de resurse sunt goale, deoarece sampler-ul nu rulează; și
- streaming-ul log-urilor aplicației nu este implementat.
Nu există un panou de observabilitate finalizat. O configurație probe stocată nu dovedește că un endpoint a fost verificat.
Suprafața REST actuală
Rutele stau sub /api/app-gateway.
| Method | Path | Ce confirmă astăzi |
|---|---|---|
GET | /analytics/{slug}?days=7 | Contractul este accesibil; se așteaptă rollups gol. |
PUT | /probes/{slug} | Configurația probe a fost validată și stocată. |
GET | /probes/{slug} | Configurația stocată poate fi citită. Statusul runtime rămâne unset. |
DELETE | /probes/{slug} | Configurația stocată a fost eliminată. |
POST | /events/{slug} | Un eveniment furnizat de apelant a fost adăugat. |
GET | /events/{slug}?limit=100 | Evenimentele stocate pot fi citite de la cele mai noi. |
GET | /metrics/{slug}?vm_name={name} | Poate fi returnată alocarea curentă; samples este gol. |
Configurația 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
}Citirea arată astăzi astfel:
{
"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
}Câmpurile runtime cu valoarea null sunt semnalul important: nicio verificare nu a rulat. Folosiți un monitor extern pentru alertele de disponibilitate până când scheduler-ul este livrat.
Evenimente
Evenimentele sunt înregistrări durabile scrise prin API, nu un audit trail complet automat. Hook-urile deployment, checkpoint, domain și walker sunt încă pending, deci apelanții nu trebuie să presupună că aceste activități vor apărea fără un append explicit.
Tratați metadatele evenimentelor ca date furnizate de apelant. Nu puneți secrets în ele.
Alocarea resurselor
Ruta metrics poate raporta vCPU-uri alocate, memorie și discuri când libvirt pune la dispoziție un VM potrivit. Nu raportează încă o serie temporală sau health la nivel de aplicație. Alocarea este configurație de capacitate, nu dovadă că aplicația a folosit sau a supraviețuit acelei capacități.
Ghid operațional
Până când ingestion-ul și buclele worker sunt implementate:
- folosiți un monitor HTTP extern pentru uptime;
- colectați log-urile aplicației cu un mecanism gestionat de operator;
- folosiți libvirt sau telemetria host-ului pentru utilizarea reală; și
- atașați marcaje temporale și dovezi din sursă înregistrărilor de incident, în loc să vă bazați doar pe lista de evenimente din previzualizare.
Funcția poate fi prezentată ca gata doar după ce worker-ii restart-safe ingest, probe, sampling și log-stream au trecut testele end-to-end de eșec și recuperare.