Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät · Oppitunti

Mukautetut mittarit Micrometerilla

Tallentakaa sovelluksen omia mittareita.

Oppitunti 3/413 vaihetta

Mukautetut mittarit Micrometerilla on ilmainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.

Micrometer: metriikoiden julkisivu

Spring Boot käyttää Micrometeria toimittajariippumattomana metriikoiden julkisivuna — metriikoiden SLF4J:nä. Instrumentoitte koodin yhden rajapinnan avulla ja viette tiedot sitten Prometheukseen, Datadogiin, CloudWatchiin ja muihin järjestelmiin lisäämällä rekisterin.

MeterRegistry

Keskeinen komponentti on MeterRegistry. Boot määrittää yhden automaattisesti ja rekisteröi sen beaniksi, joten voitte injektoida sen suoraan kaikkialle, missä tarvitsette mittausten kirjaamista.

@Service
public class OrderService {
    private final MeterRegistry registry;
    public OrderService(MeterRegistry registry) {
        this.registry = registry;
    }
}

Laskurit

Counter tallentaa vain kasvavan arvon — se sopii erinomaisesti tapahtumien, kuten tehtyjen tilausten tai havaittujen virheiden, laskemiseen. Luokaa se kerran ja kasvattakaa sen arvoa tapahtumien yhteydessä.

@Service
public class OrderService {
    private final Counter ordersPlaced;
    public OrderService(MeterRegistry registry) {
        this.ordersPlaced = registry.counter("orders.placed");
    }
    public void place(Order o) {
        // ... business logic
        ordersPlaced.increment();
    }
}

Tagit (ulottuvuudet)

Lisätkää metriikkaan tagit, jotta voitte tarkastella sitä ulottuvuuden, kuten kanavan, alueen tai tilan, mukaan. Jokainen yksilöllinen tagiyhdistelmä muodostaa erillisen aikasarjan, joten pitäkää tagien kardinaliteetti rajattuna.

registry.counter("orders.placed",
        "channel", "web",
        "region", "eu")
    .increment();

Ajastimet

Timer mittaa sekä tapahtuman esiintymistiheyden että sen keston ja tuottaa lukumäärän, kokonaisajan ja enimmäisajan. Käyttäkää sitä toimintojen viiveen seuraamiseen.

Timer timer = registry.timer("orders.process.time");
timer.record(() -> processOrder(order));

Ajan kirjaaminen manuaalisesti

Kun ette voi kääriä suoritettavaa työtä lambdan sisään, ottakaa alussa talteen Timer.Sample ja pysäyttäkää se lopussa ajastinta vasten.

Timer.Sample sample = Timer.start(registry);
try {
    processOrder(order);
} finally {
    sample.stop(registry.timer("orders.process.time"));
}

Mittarit

Gauge ilmoittaa arvon, joka voi kasvaa tai pienentyä — esimerkiksi jonon koon, aktiivisten istuntojen määrän tai välimuistin koon. Rekisteröitte funktion, jota Micrometer mittaa tarvittaessa.

registry.gauge("orders.queue.size",
    orderQueue, q -> q.size());

Jakaumayhteenvedot

DistributionSummary seuraa mielivaltaisten arvojen jakaumaa, kuten pyyntöjen hyötykuormien kokoja, ja tarjoaa lukumäärän, kokonaismäärän sekä persentiilit.

DistributionSummary summary = registry.summary("orders.amount");
summary.record(order.getTotal().doubleValue());

Deklaratiivinen ajoitus @Timed-annotaatiolla

@Timed-annotaatio mittaa metodin suoritusajan ilman manuaalista instrumentointia. Se edellyttää, että TimedAspect-bean on rekisteröity.

@Bean
TimedAspect timedAspect(MeterRegistry registry) {
    return new TimedAspect(registry);
}

@Timed(value = "orders.process.time")
public void process(Order o) { /* ... */ }

Vienti Prometheukseen

Lisätkää Prometheus-rekisterin riippuvuus ja tuokaa prometheus-päätepiste näkyviin. Tämän jälkeen Micrometer julkaisee keräyspäätepisteen, joka sisältää kaikki mittarinne.

# dependency: micrometer-registry-prometheus
management:
  endpoints:
    web:
      exposure:
        include: prometheus,metrics,health
# scrape: /actuator/prometheus

Kardinaliteetin hallinta

Metriikoiden suurin sudenkuoppa ovat suuren kardinaliteetin tagit. Älkää koskaan käyttäkö tageina käyttäjätunnuksia, pyyntötunnuksia tai käsittelemättömiä URL-osoitteita — jokainen yksilöllinen arvo moninkertaistaa aikasarjojen määrän ja voi kuormittaa taustajärjestelmän liikaa.

Pikatarkistus

Testatkaa, miten hyvin ymmärrätte mittarityypit.

Kertaus

Micrometer instrumentoi sovelluksenne.

  • Injektoikaa automaattisesti määritetty MeterRegistry
  • Käyttäkää Counter-mittaria monotonisiin lukumääriin ja Timer-mittaria viiveisiin
  • Käyttäkää Gauge-mittaria vaihteleviin arvoihin ja DistributionSummary-mittaria jakaumiin
  • Käyttäkää rajattuja tageja ja välttäkää suurta kardinaliteettia
  • Viekää tiedot Prometheukseen ja vastaaviin järjestelmiin rekisteririippuvuuden avulla
Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
24
Oppitunnit
93

Usein kysytyt kysymykset

Onko oppitunti ”Mukautetut mittarit Micrometerilla” ilmainen?

Kyllä – oppitunnin ”Mukautetut mittarit Micrometerilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssin, päivitä CoddyKit PROhon. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Mukautetut mittarit Micrometerilla”?

Tallentakaa sovelluksen omia mittareita. Harjoittelet Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Mukautetut mittarit Micrometerilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunnilla?

Kyllä. Jokainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Actuator-päätepisteiden käyttöönotto
  2. Terveysmittarit
  3. Mukautetut mittarit Micrometerilla
  4. Actuator-päätepisteiden suojaaminen
← Takaisin: Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät