Sovelluksen observability
Saatavuus
Observability API on osittain toteutettu. Kaksi datalähdettä on hyödyllisiä tänään:
- append-only, käsin täytetty event-aikajana; ja
- libvirtin raportoima VM-resurssien nykyinen allokointi.
Seuraavat ovat vain kontraktin esikatseluja:
- request analytics palauttaa tyhjän rollup-listan, koska access-log ingestion ei ole käynnissä;
- uptime-probe-konfiguraatio tallentuu, mutta mikään scheduler ei suorita HTTP-tarkistuksia;
- resurssi-samplet ovat tyhjiä, koska sampler ei ole käynnissä; ja
- app log streaming ei ole toteutettu.
Valmista observability-kojelautaa ei ole. Tallennettu probe-konfiguraatio ei todista, että endpointia tarkistettiin.
Nykyinen REST-pinta
Reitit ovat polun /api/app-gateway alla.
| Method | Path | Mitä se tänään osoittaa |
|---|---|---|
GET | /analytics/{slug}?days=7 | Kontrakti on tavoitettavissa; rollups odotetaan tyhjäksi. |
PUT | /probes/{slug} | Probe-konfiguraatio validoitiin ja tallennettiin. |
GET | /probes/{slug} | Tallennettua konfiguraatiota voi lukea. Runtime status on edelleen unset. |
DELETE | /probes/{slug} | Tallennettu konfiguraatio poistettiin. |
POST | /events/{slug} | Kutsujan toimittama tapahtuma lisättiin. |
GET | /events/{slug}?limit=100 | Tallennetut eventit luettavissa uusimmasta vanhimpaan. |
GET | /metrics/{slug}?vm_name={name} | Nykyinen allokointi voidaan palauttaa; samples on tyhjä. |
Probe-konfiguraatio
PUT /api/app-gateway/probes/my-app
Content-Type: application/json
{
"path": "/healthz",
"interval_s": 60,
"expected_status": 200,
"timeout_s": 5,
"enabled": true
}Read näyttää tällä hetkellä tältä:
{
"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
}Runtime-kentät arvolla null ovat tärkeä signaali: yhtään tarkistusta ei ole ajettu. Käytä ulkoista monitoria availability-hälytyksiin, kunnes scheduler on käytössä.
Eventit
Eventit ovat API:n kautta kirjoitettuja pysyviä tietueita, eivät automaattisesti täydellinen audit trail. Deployment-, checkpoint-, domain- ja walker-hookit ovat vielä kesken, joten kutsujat eivät saa olettaa, että nämä toiminnot ilmestyvät ilman eksplisiittistä appendia.
Käsittele event metadataa kutsujan toimittamana datana. Älä laita siihen salaisuuksia.
Resurssiallokointi
Metrics-reitti voi raportoida allokoidut vCPU:t, muistin ja levyt, kun libvirt tarjoaa vastaavan VM:n. Se ei vielä raportoi aikasarjaa eikä sovellustason healthia. Allokointi on kapasiteettikonfiguraatiota, ei todiste siitä, että sovellus käytti tai selvisi tuosta kapasiteetista.
Operatiivinen ohje
Kunnes ingestion- ja worker-silmukat on otettu käyttöön:
- käytä ulkoista HTTP-monitoria uptimeen;
- kerää application logit operaattorin hallitsemalla mekanismilla;
- käytä libvirtia tai host telemetryä todelliseen käyttöön; ja
- liitä aikaleimat ja lähdeaineisto incident-tietueisiin sen sijaan, että luotat vain esikatselun event-listaan.
Ominaisuus voidaan esittää valmiina vasta, kun restart-safe ingest-, probe-, sampling- ja log-stream-workerit ovat läpäisseet end-to-end failure- ja recovery-testit.