Pozorovateľnosť aplikácií
Dostupnosť
API pozorovateľnosti je čiastočne implementované. Dnes sú užitočné dva zdroje dát:
- append-only, ručne dopĺňaná časová os udalostí; a
- aktuálna alokácia zdrojov VM hlásená libvirt.
Nasledujúce sú len náhľady kontraktu:
- request analytics vracia prázdny zoznam rollup, pretože ingestion access logov nebeží;
- konfigurácia uptime-probe sa ukladá, ale žiadny scheduler nevykonáva HTTP kontroly;
- vzorky zdrojov sú prázdne, pretože sampler nebeží; a
- streamovanie logov aplikácie nie je implementované.
Neexistuje hotový dashboard pozorovateľnosti. Uložená konfigurácia probe nie je dôkaz, že bol endpoint skontrolovaný.
Súčasné REST rozhranie
Trasy ležia pod /api/app-gateway.
| Method | Path | Čo to dnes potvrdzuje |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontrakt je dosiahnuteľný; očakáva sa prázdne rollups. |
PUT | /probes/{slug} | Konfigurácia probe bola zvalidovaná a uložená. |
GET | /probes/{slug} | Uloženú konfiguráciu možno prečítať. Runtime status zostáva unset. |
DELETE | /probes/{slug} | Uložená konfigurácia bola odstránená. |
POST | /events/{slug} | Udalosť dodaná volajúcim bola pripojená. |
GET | /events/{slug}?limit=100 | Uložené udalosti možno čítať od najnovších. |
GET | /metrics/{slug}?vm_name={name} | Môže byť vrátená aktuálna alokácia; samples je prázdne. |
Konfigurácia 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
}Odčítanie dnes vyzerá takto:
{
"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
}Polia runtime s hodnotou null sú dôležitý signál: žiadna kontrola neprebehla. Na alerty dostupnosti používaj externý monitor, kým nebude scheduler nasadený.
Udalosti
Udalosti sú trvalé záznamy zapísané cez API, nie automaticky úplný audit trail. Hooky deployment, checkpoint, domain a walker sú stále pending, takže volajúci nesmú predpokladať, že sa tieto aktivity objavia bez explicitného append.
Metadáta udalostí ber ako dáta dodané volajúcim. Nevkladaj do nich secrets.
Alokácia zdrojov
Trasa metrics môže hlásiť priradené vCPU, pamäť a disky, keď libvirt sprístupní zodpovedajúcu VM. Zatiaľ nehlási časovú radu ani health na úrovni aplikácie. Alokácia je konfigurácia kapacity, nie dôkaz, že aplikácia túto kapacitu využila alebo ju prežila.
Prevádzkové odporúčania
Kým nie sú nasadené ingestion a worker slučky:
- používaj externý HTTP monitor pre uptime;
- zbieraj logy aplikácie mechanizmom spravovaným operátorom;
- používaj libvirt alebo telemetriu hostiteľa pre skutočné využitie; a
- pripájaj časové značky a zdrojové dôkazy k záznamom incidentov namiesto spoliehania sa len na náhľadový zoznam udalostí.
Funkciu možno prezentovať ako hotovú až potom, čo restart-safe workery ingest, probe, sampling a log-stream prejdú end-to-end testy zlyhania a obnovy.