Programos stebimumas
Prieinamumas
Stebimumo API įgyvendintas iš dalies. Šiandien naudingi du duomenų šaltiniai:
- tik append-only, rankiniu būdu pildomas įvykių timeline; ir
- dabartinis VM resursų paskirstymas, kurį praneša libvirt.
Toliau pateikta tik kontrakto peržiūra:
- užklausų analitika grąžina tuščią rollup sąrašą, nes access-log ingestion neveikia;
- uptime-probe konfigūracija išsaugoma, bet joks scheduler nevykdo HTTP patikrų;
- resource samples tušti, nes sampler neveikia; ir
- app log streaming neįgyvendintas.
Nėra baigto stebimumo dashboard. Išsaugota probe konfigūracija neįrodo, kad endpoint buvo patikrintas.
Dabartinis REST paviršius
Maršrutai yra po /api/app-gateway.
| Metodas | Kelias | Ką tai įrodo šiandien |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontraktas pasiekiamas; rollups tikimasi tuščias. |
PUT | /probes/{slug} | Probe konfigūracija patvirtinta ir išsaugota. |
GET | /probes/{slug} | Išsaugotą konfigūraciją galima skaityti. Runtime būsena lieka nenustatyta. |
DELETE | /probes/{slug} | Išsaugota konfigūracija pašalinta. |
POST | /events/{slug} | Caller pateiktas įvykis pridėtas. |
GET | /events/{slug}?limit=100 | Išsaugotus įvykius galima skaityti nuo naujausių. |
GET | /metrics/{slug}?vm_name={name} | Gali būti grąžintas dabartinis paskirstymas; samples tuščias. |
Probe konfigūracija
PUT /api/app-gateway/probes/my-app
Content-Type: application/json
{
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
}Skaitymas šiuo metu atrodo taip:
{
"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
}Svarbus ženklas yra null runtime laukai: jokia patikra nevykdyta. Naudokite išorinį monitorių availability alertingui, kol scheduler bus išleistas.
Įvykiai
Įvykiai yra ilgaamžiai įrašai, rašomi per API, o ne automatiškai pilnas audit trail. Deployment, checkpoint, domain ir walker hooks vis dar laukia, todėl caller neturėtų manyti, kad šie veiksmai pasirodys be explicit append.
Laikykite įvykių metaduomenis caller pateiktais duomenimis. Nedėkite į juos secrets.
Resursų paskirstymas
Metrics maršrutas gali pranešti priskirtus vCPU, atmintį ir diskus, kai libvirt turi atitinkamą VM. Jis dar nepraneša time series ar application-level health. Paskirstymas yra capacity konfigūracija, o ne įrodymas, kad programa panaudojo ar išgyveno tą capacity.
Operacinės rekomendacijos
Kol ingestion ir worker loop neįdiegti:
- naudokite išorinį HTTP monitorių uptime;
- renkite application logs operator-managed mechanizmu;
- naudokite libvirt ar host telemetriją faktiniam utilization; ir
- pridėkite timestamps ir source evidence prie incident records, o ne remkitės tik peržiūros įvykių sąrašu.
Funkciją galima skelbti paruošta tik po to, kai restart-safe ingest, probe, sampling ir log-stream worker praeina end-to-end failure ir recovery testus.