Strategier for innsamling av måltall
Oppdag ulike metoder for å samle inn måltall, inkludert push- og pull-modeller. Utforsk vanlige agenter og biblioteker for uthenting av måltall.
Strategier for innsamling av måltall er en gratis leksjon i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.
Velkommen til innsamling av metrikker!
I denne leksjonen skal vi se nærmere på hvordan De kan samle inn de verdifulle metrikene vi diskuterte tidligere. Tenk på det som å sette opp systemets «ører» og «øyne»!
Innsamling av metrikker er avgjørende for å forstå hvordan applikasjonene og infrastrukturen Deres fungerer. Det hjelper Dem med å oppdage problemer raskt og sikre at alt kjører som det skal.
To hovedtilnærminger: push eller pull
Når det gjelder å hente metrikker fra systemene Deres, finnes det to grunnleggende strategier:
- Push-modellen: Applikasjonen eller en dedikert agent sender metrikker til en sentral innsamler.
- Pull-modellen: En sentral innsamler henter metrikker fra applikasjonene eller agentene.
Hver tilnærming har sine egne styrker og svakheter, som vi skal se nærmere på nå.
Forstå push-modellen
I push-modellen sender applikasjonen eller en lokal agent aktivt metrikker til et sentralt metrikklager eller en sentral innsamler. Det er som om appen roper ut statusoppdateringene sine!
- Fordeler: Ofte enklere med brannmurer (bare utgående tilkoblinger), godt egnet for kortvarige jobber som kan forsvinne før en innsamler rekker å hente data, og kan håndtere nettverksbrudd ved å bufre data.
- Ulemper: Innsamleren må håndtere potensielt uforutsigbar innkommende belastning, og det er vanskeligere å oppdage nye mål automatisk.
Eksempel på push-modellen (konseptuelt)
Her er et enkelt Java-program som konseptuelt demonstrerer hvordan en metrikk kan sendes. I et virkelig scenario ville dette innebære å sende data via HTTP til et endepunkt for en metrikkinnsamler.
Prøv å kjøre det for å se ideen!
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)");
}
}Forstå pull-modellen
Med pull-modellen ber en sentral metrikkin samler aktivt om metrikker fra applikasjonene eller agentene Deres, eller «skraper» dem, med jevne mellomrom. Det er som om innsamleren spør: «Hei, hva er statusen Deres?»
- Fordeler: Enklere tjenesteoppdaging (innsamleren finner målene), innsamleren styrer hyppigheten og belastningen ved innhentingen, og målkonfigurasjonen er enklere.
- Ulemper: Krever inngående nettverkstilgang til målene, målene må være langvarige for å kunne skrapes, og modellen er mer kompleks i svært dynamiske miljøer.
Eksempel på pull-modellen (konseptuelt)
Dette Java-eksempelet simulerer en applikasjon som eksponerer et metrikkendepunkt og er klar for at en innsamler skal hente data fra det. En virkelig applikasjon ville kjørt en liten webserver.
Kjør det for å se hvordan en app kan gjøre data tilgjengelig.
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 + ")");
}
}Dedikerte innsamlingsagenter
Mange systemer bruker dedikerte innsamlingsagenter. Dette er små programmer som kjører på serveren eller i containeren Deres, samler inn metrikker på systemnivå eller fungerer som en proxy for applikasjonsmetrikker.
- Prometheus Node Exporter: En populær agent som eksponerer maskinvare- og operativsystemmetrikker (CPU, minne og disk-I/O) i et format som Prometheus (et pull-basert system) kan skrape.
- Telegraf: En plugin-basert agent som kan samle inn metrikker fra ulike kilder (databaser, meldingskøer og systemstatistikk) og sende dem til ulike mål (push eller pull).
Biblioteker i applikasjonen
For applikasjonsspesifikke metrikker integrerer De ofte klientbiblioteker direkte i koden. Disse bibliotekene gjør det mulig å instrumentere applikasjonen slik at den eksponerer egendefinerte metrikker.
- Micrometer (Java): En leverandøruavhengig fasade for applikasjonsmetrikker. De instrumenterer koden én gang med Micrometer, og deretter kan metrikker eksporteres til ulike overvåkingssystemer (for eksempel Prometheus, Datadog og Graphite).
- Prometheus Client Libraries: Språkspesifikke biblioteker (for eksempel Java, Python og Go) som lar Dem definere og eksponere metrikker direkte fra applikasjonen i Prometheus' skrapeformat.
Velg innsamlingsstrategi
Om De bør velge push eller pull, eller bruke agenter fremfor biblioteker, avhenger av det spesifikke miljøet Deres:
- Miljø: Skybasert, lokalt eller serverløse funksjoner.
- Network Topology: Brannmurregler og tjenestenett.
- Datavolum og -hastighet: Hvor mye data og hvor ofte?
- Eksisterende verktøy: Hvilke overvåkingssystemer bruker De allerede?
Ofte brukes en hybridtilnærming som kombinerer agenter for systemmetrikker og biblioteker for applikasjonsmetrikker.
Kort kontroll av metrikker
De har lært om de to viktigste modellene for innsamling av metrikker. La oss se om De kan skille mellom dem.
Oppsummering: få metrikker i bruk
Godt jobbet! Nå har De fått tak på de viktigste strategiene for innsamling av metrikker.
- Vi utforsket push-modellen, der applikasjoner sender metrikker.
- Vi så også på pull-modellen, der en sentral innsamler henter metrikker.
- De lærte om dedikerte innsamlingsagenter (som Node Exporter og Telegraf) og biblioteker i applikasjonen (som Micrometer og Prometheus-klientbiblioteker) som implementerer disse strategiene.
Å forstå disse innsamlingsmetodene er avgjørende for å bygge et robust oppsett for observerbarhet!
Lær deg Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Strategier for innsamling av måltall» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry), inkludert «Strategier for innsamling av måltall», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) inneholder totalt 4 leksjoner.
Hva lærer jeg i «Strategier for innsamling av måltall»?
Oppdag ulike metoder for å samle inn måltall, inkludert push- og pull-modeller. Utforsk vanlige agenter og biblioteker for uthenting av måltall. Du øver på Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)?
Ingen tidligere erfaring er nødvendig. Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Strategier for innsamling av måltall»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjonen?
Ja. Alle Systemobservabilitet: logging, metrikker og tracing (ELK + OpenTelemetry)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Forklaring av måttypene
- Strategier for innsamling av måltall
- Visualisering og varsling av måltall
- Metrikk-kardinalitet og beste praksis for labeling