Opazovanje aplikacij
Razpoložljivost
API za opazovanje je delno implementiran. Danes sta uporabna dva vira podatkov:
- append-only, ročno dopolnjena časovnica dogodkov; in
- trenutna dodelitev virov VM, ki jo poroča libvirt.
Naslednje so le predogledi pogodbe:
- request analytics vrne prazen seznam rollup, ker ingestion access logov ne teče;
- konfiguracija uptime-probe se shrani, vendar noben scheduler ne izvaja HTTP prever;
- vzorci virov so prazni, ker sampler ne teče; in
- pretakanje dnevnikov aplikacije ni implementirano.
Ni dokončane nadzorne plošče za opazovanje. Shranjena konfiguracija probe ni dokaz, da je bil endpoint preverjen.
Trenutna REST površina
Poti ležijo pod /api/app-gateway.
| Method | Path | Kaj to danes potrdi |
|---|---|---|
GET | /analytics/{slug}?days=7 | Pogodba je dosegljiva; pričakuje se prazen rollups. |
PUT | /probes/{slug} | Konfiguracija probe je bila potrjena in shranjena. |
GET | /probes/{slug} | Shranjeno konfiguracijo je mogoče prebrati. Runtime status ostaja unset. |
DELETE | /probes/{slug} | Shranjena konfiguracija je bila odstranjena. |
POST | /events/{slug} | Dogodek, ki ga je posredoval klicatelj, je bil dodan. |
GET | /events/{slug}?limit=100 | Shranjene dogodke je mogoče brati od najnovejših. |
GET | /metrics/{slug}?vm_name={name} | Lahko vrne trenutno dodelitev; samples je prazen. |
Konfiguracija 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
}Branje trenutno izgleda takole:
{
"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
}Polja runtime z vrednostjo null so pomemben signal: nobeno preverjanje se ni izvedlo. Za opozorila o razpoložljivosti uporabite zunanji monitor, dokler scheduler ni nameščen.
Dogodki
Dogodki so trajni zapisi, zapisani prek API-ja, ne samodejno popoln audit trail. Kljuke deployment, checkpoint, domain in walker so še pending, zato klicatelji ne smejo predpostavljati, da se te dejavnosti pojavijo brez eksplicitnega append.
Metapodatke dogodkov obravnavajte kot podatke, ki jih posreduje klicatelj. Vanje ne vnašajte secrets.
Dodelitev virov
Pot metrics lahko poroča dodeljene vCPU, pomnilnik in diske, ko libvirt omogoči ustrezno VM. Še ne poroča časovne vrste niti health na ravni aplikacije. Dodelitev je konfiguracija kapacitete, ne dokaz, da je aplikacija to kapaciteto uporabila ali jo preživela.
Operativna navodila
Dokler ingestion in worker zanke niso nameščene:
- uporabite zunanji HTTP monitor za uptime;
- zbirajte dnevnike aplikacije z mehanizmom, ki ga upravlja operater;
- uporabite libvirt ali telemetrijo gostitelja za dejansko izkoriščenost; in
- k zapisom incidentov priložite časovne žige in izvorne dokaze namesto zanašanja samo na predogledni seznam dogodkov.
Funkcijo lahko predstavite kot pripravljeno šele, ko restart-safe workerji ingest, probe, sampling in log-stream prestanejo end-to-end teste okvare in obnovitve.