Skip to Content
TestingObservabilitatea aplicațiilor

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.

MethodPathCe confirmă astăzi
GET/analytics/{slug}?days=7Contractul 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=100Evenimentele 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:

  1. folosiți un monitor HTTP extern pentru uptime;
  2. colectați log-urile aplicației cu un mecanism gestionat de operator;
  3. folosiți libvirt sau telemetria host-ului pentru utilizarea reală; și
  4. 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.