Pozorovatelnost aplikací
Dostupnost
API pozorovatelnosti je částečně implementováno. Dnes jsou užitečné dva zdroje dat:
- append-only, ručně doplňovaná časová osa událostí; a
- aktuální alokace zdrojů VM hlášená libvirt.
Následující jsou jen náhledy kontraktu:
- request analytics vrací prázdný seznam rollup, protože ingestion access logů neběží;
- konfigurace uptime-probe se ukládá, ale žádný scheduler neprovádí HTTP kontroly;
- vzorky zdrojů jsou prázdné, protože sampler neběží; a
- streamování logů aplikace není implementováno.
Neexistuje hotový dashboard pozorovatelnosti. Uložená konfigurace probe není důkaz, že byl endpoint zkontrolován.
Současné REST rozhraní
Trasy leží pod /api/app-gateway.
| Method | Path | Co to dnes potvrzuje |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontrakt je dosažitelný; očekává se prázdné rollups. |
PUT | /probes/{slug} | Konfigurace probe byla zvalidována a uložena. |
GET | /probes/{slug} | Uloženou konfiguraci lze přečíst. Runtime status zůstává unset. |
DELETE | /probes/{slug} | Uložená konfigurace byla odstraněna. |
POST | /events/{slug} | Událost dodaná volajícím byla připojena. |
GET | /events/{slug}?limit=100 | Uložené události lze číst od nejnovějších. |
GET | /metrics/{slug}?vm_name={name} | Může být vrácena aktuální alokace; samples je prázdné. |
Konfigurace 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
}Odečet dnes vypadá 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
}Pole runtime s hodnotou null jsou důležitý signál: žádná kontrola neproběhla. Pro alerty dostupnosti používejte externí monitor, dokud nebude scheduler nasazen.
Události
Události jsou trvalé záznamy zapsané přes API, ne automaticky úplný audit trail. Hooky deployment, checkpoint, domain a walker jsou stále pending, takže volající nesmí předpokládat, že se tyto aktivity objeví bez explicitního append.
Metadata událostí ber jako data dodaná volajícím. Nevkládej do nich secrets.
Alokace zdrojů
Trasa metrics může hlásit přiřazené vCPU, paměť a disky, když libvirt zpřístupní odpovídající VM. Zatím nehlásí časovou řadu ani health na úrovni aplikace. Alokace je konfigurace kapacity, ne důkaz, že aplikace tuto kapacitu využila nebo ji přežila.
Provozní doporučení
Dokud nejsou nasazeny ingestion a worker smyčky:
- používej externí HTTP monitor pro uptime;
- sbírej logy aplikace mechanismem spravovaným operátorem;
- používej libvirt nebo telemetrii hostitele pro skutečné využití; a
- připojuj časové značky a zdrojové důkazy k záznamům incidentů místo spoléhání se jen na náhledový seznam událostí.
Funkci lze prezentovat jako hotovou až poté, co restart-safe workery ingest, probe, sampling a log-stream projdou end-to-end testy selhání a obnovy.