Skip to Content
TestingSovelluksen observability

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.

MethodPathMitä se tänään osoittaa
GET/analytics/{slug}?days=7Kontrakti 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=100Tallennetut 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:

  1. käytä ulkoista HTTP-monitoria uptimeen;
  2. kerää application logit operaattorin hallitsemalla mekanismilla;
  3. käytä libvirtia tai host telemetryä todelliseen käyttöön; ja
  4. 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.