Metriikkojen keräämisstrategiat
Tutustukaa erilaisiin tapoihin kerätä metriikkoja, kuten push- ja pull-malleihin. Perehtykää yleisiin agentteihin ja metriikkojen keräämiseen käytettäviin kirjastoihin.
Metriikkojen keräämisstrategiat on ilmainen Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-kurssilla on yhteensä 4 oppituntia.
Tervetuloa mittareiden keräämisen pariin!
Tässä oppitunnissa tutustumme siihen, miten aiemmin käsittelemiämme arvokkaita mittareita kerätään. Ajatelkaa sitä järjestelmänne "korvien" ja "silmien" asentamisena!
Mittareiden kerääminen on ratkaisevan tärkeää sovellustenne ja infrastruktuurinne toiminnan ymmärtämiseksi. Sen avulla havaitsette ongelmat nopeasti ja voitte varmistaa, että kaikki toimii sujuvasti.
Kaksi päämenetelmää: push tai pull
Kun mittareita haetaan järjestelmistä, käytössä on kaksi keskeistä strategiaa:
- Push-malli: Sovellus tai erillinen agentti lähettää mittarit keskitetylle kerääjälle.
- Pull-malli: Keskitetty kerääjä noutaa mittarit sovelluksilta tai agenteilta.
Kummallakin menetelmällä on omat vahvuutensa ja heikkoutensa, joihin tutustumme seuraavaksi.
Push-mallin ymmärtäminen
Push-mallissa sovellus tai paikallinen agentti lähettää aktiivisesti mittaritietonsa keskitettyyn mittarivarastoon tai kerääjälle. Se on kuin sovelluksenne huutaisi tilapäivityksensä!
- Edut: Toimii usein palomuurien kanssa helpommin (vain lähtevät yhteydet), sopii hyvin lyhytikäisille töille, jotka saattavat kadota ennen kuin kerääjä ehtii noutaa niiden tiedot, ja pystyy käsittelemään verkkoyhteyksien katkeamisia puskuroimalla tietoja.
- Haitat: Kerääjän on käsiteltävä mahdollisesti ennakoimatonta saapuvaa kuormaa, ja uusien kohteiden automaattinen löytäminen on vaikeampaa.
Esimerkki push-mallista (käsitteellinen)
Tässä on yksinkertainen Java-ohjelma, joka havainnollistaa käsitteellisesti mittarin lähettämistä. Todellisessa tilanteessa tiedot lähetettäisiin HTTP:n välityksellä mittarikerääjän päätepisteeseen.
Kokeilkaa ohjelman suorittamista nähdäksenne idean käytännössä!
public class MetricPusher {
public static void main(String[] args) {
double cpuUsage = 65.2;
String metricName = "cpu_usage_percent";
// Simulate sending the metric to a collector
System.out.println("Pushing metric: " + metricName + " = " + cpuUsage);
System.out.println(" (Imagine this is an HTTP POST to a collector)");
}
}Pull-mallin ymmärtäminen
Pull-mallissa keskitetty mittarikerääjä pyytää tai "haravoi" aktiivisesti mittareita sovelluksilta tai agenteilta säännöllisin väliajoin. Se on kuin kerääjä kysyisi: "Hei, mikä tilanteenne on?"
- Edut: Palveluiden löytäminen on helpompaa (kerääjä löytää kohteet), kerääjä hallitsee haravoinnin tiheyden ja kuormituksen, ja kohteiden määritys on yksinkertaisempaa.
- Haitat: Kohteisiin tarvitaan verkon sisääntuleva yhteys, kohteiden on oltava pitkäikäisiä haravointia varten, ja menetelmä on monimutkaisempi erittäin dynaamisissa ympäristöissä.
Esimerkki pull-mallista (käsitteellinen)
Tämä Java-esimerkki simuloi sovellusta, joka tarjoaa mittaripäätepisteen ja on valmis kerääjän noudettavaksi. Todellinen sovellus suorittaisi pientä verkkopalvelinta.
Suorittakaa esimerkki nähdäksenne, miten sovellus voi asettaa tietoja saataville.
public class MetricExposer {
public static void main(String[] args) {
String appStatus = "healthy";
int activeUsers = 150;
// Simulate an application making metrics available at an endpoint
System.out.println("Application running...");
System.out.println("Metrics ready for scraping at /metrics endpoint.");
System.out.println(" (Imagine a collector fetches: app_status='" + appStatus + "', active_users=" + activeUsers + ")");
}
}Erilliset kerääjäagentit
Monissa järjestelmissä käytetään erillisiä kerääjäagentteja. Ne ovat pieniä ohjelmia, jotka suoritetaan palvelimella tai säilössä ja jotka keräävät järjestelmätason mittareita tai toimivat sovellusten mittareiden välityspalvelimina.
- Prometheus Node Exporter: Suosittu agentti, joka tarjoaa laitteisto- ja käyttöjärjestelmämittareita (suoritin, muisti ja levyn I/O) muodossa, jota Prometheus (pull-pohjainen järjestelmä) voi haravoida.
- Telegraf: Laajennuksiin perustuva agentti, joka voi kerätä mittareita useista lähteistä (tietokannat, viestijonot ja järjestelmätilastot) ja lähettää ne eri kohteisiin (push tai pull).
Sovellukseen integroitavat kirjastot
Sovelluskohtaisten mittareiden tapauksessa integroitte usein asiakaskirjastot suoraan koodiin. Näiden kirjastojen avulla voitte instrumentoid[a] sovelluksenne tarjoamaan mukautettuja mittareita.
- Micrometer (Java): Toimittajariippumaton sovellusmittareiden julkisivu. Instrumentoitte koodinne kerran Micrometerilla, minkä jälkeen se voi viedä mittarit useisiin seurantajärjestelmiin (esimerkiksi Prometheus, Datadog ja Graphite).
- Prometheus Client Libraries: Kielikohtaisia kirjastoja (esimerkiksi Java, Python ja Go), joiden avulla voitte määrittää ja tarjota mittareita suoraan sovelluksesta Prometheuksen haravointimuodossa.
Keräysstrategian valinta
Valinta push- ja pull-mallin sekä agenttien ja kirjastojen välillä riippuu ympäristönne erityispiirteistä:
- Ympäristö: Pilvinatiivi ympäristö, oma palvelinkeskus tai palvelimettomat funktiot.
- Verkkotopologia: Palomuurisäännöt ja palveluverkko.
- Datan määrä ja nopeus: Kuinka paljon dataa kerätään ja kuinka usein?
- Nykyiset työkalut: Mitä seurantajärjestelmiä käytätte jo?
Usein käytetään yhdistelmäratkaisua, jossa agentit keräävät järjestelmämittareita ja kirjastot sovellusmittareita.
Mittareiden pikatarkistus
Olette tutustuneet kahteen pääasialliseen mittareiden keräysmalliin. Katsotaan, osaatteko erottaa ne toisistaan.
Kertaus: mittareiden saaminen käyttöön
Hienoa työtä! Hallitsette nyt mittareiden keräämisen keskeiset strategiat.
- Tutustuimme push-malliin, jossa sovellukset lähettävät mittareita.
- Käsittelimme myös pull-mallin, jossa keskitetty kerääjä noutaa mittarit.
- Tutustuitte erillisiin kerääjäagentteihin (kuten Node Exporter ja Telegraf) sekä sovellukseen integroitaviin kirjastoihin (kuten Micrometer ja Prometheus-asiakaskirjastot), jotka toteuttavat näitä strategioita.
Näiden keräysmenetelmien ymmärtäminen on olennaista vankan observability-ratkaisun rakentamisessa!
Opi Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry) 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
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Metriikkojen keräämisstrategiat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolun 3 oppituntia, myös oppitunnin “Metriikkojen keräämisstrategiat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Metriikkojen keräämisstrategiat”?
Tutustukaa erilaisiin tapoihin kerätä metriikkoja, kuten push- ja pull-malleihin. Perehtykää yleisiin agentteihin ja metriikkojen keräämiseen käytettäviin kirjastoihin. Harjoittelet Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Metriikkojen keräämisstrategiat”-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ä Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunnilla?
Kyllä. Jokainen Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-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
- Metriikkatyypit selitettynä
- Metriikkojen keräämisstrategiat
- Metriikkojen visualisointi ja hälytykset
- Metrikoiden kardinaliteetti ja nimeämisen parhaat käytännöt