PROMQL Introduksjon og eksempler

PROMQL Introduksjon og eksempler
Den viktigste måten å spørre beregninger i Prometheus er gjennom PromQL, som står for Prometheus Querying Language. Resultatet av et uttrykk kan sees på som en graf eller eksportert ved hjelp av HTTP API. Skalarer, rekkeviddevektorer og øyeblikkelig vektorer er de tre datatypene som brukes av PROMQL. Strenger brukes også, men bare som litteraturer. Når du blir mer kjent med Prometheus -spørsmål, vil denne introduksjonen gi grunnleggende PROMQL -eksempler og prinsipper å forstå.

Introduksjon til promql

Prometheus Monitoring Systems spørringsspråk heter PROMQL. Den er laget for å lage en sterk, men likevel enkel graf, våken og avledet tidsserier (aka opptaksregler). PROMQL er et helt nytt spørsmålsspråk for tidsseriedatabaser som ikke har noe til felles med tidligere spørringsspråk, for eksempel SQL i TimescaledB, InfluxQL eller Flux.

Når du først ankommer den spennende verdenen av Prometheus, kan det være vanskelig å komme i gang med promql. Denne opplæringen vil utvilsomt hjelpe deg i gang. Fordi Prometheus bruker en tidsserie-datamodell for å lagre data, er spørsmål i en Prometheus-server forskjellig fra SQL-spørsmål.

Å lære å konstruere gode, utførende promql -spørsmål starter med å forstå hvordan data opprettholdes i Prometheus.

PROMQL -datatyper

Prometheus bruker tre datatyper for beregninger: Scalar, Instant Vector og Range Vector. Skalaren representerer en flytende punktverdi, som er Prometheus mest grunnleggende datatype. Skalarer inkluderer tall som 0, 18.12 og 1 000 000. I Prometheus gjøres alle beregninger i flytende punkt.

Grupperingsskalaene skaper en øyeblikkelig vektortatatype som et sett med målinger på et enkelt tidspunkt. Resultatet er en øyeblikkelig vektor når du utfører en spørring som bare ber om navnet på en beregning, for eksempel en sykkelavstandsmålere totalt. Fordi beregninger har både navn og etiketter, kan et enkelt navn ha mange verdier, så det er en vektor i stedet for en skalar.

Områdevektoren oppnås ved å plotte en rekke vektorer over tid. Verken Grafana eller den innebygde Prometheus Expression Browser lager grafer direkte fra rekkeviddevektorer; I stedet bruker de øyeblikkelige vektorer eller skalarer produsert uavhengig av tydelige punkter i tid.

Trinn for å installere Prometheus Server på Ubuntu

Alle trinnene for å forstå Prometheus -installasjonsprosedyren på Ubuntu er detaljert nedenfor.

La oss begynne med å opprette en bruker og gruppe for Prometheus -systemet. Du må skrive og kjøre følgende instruksjon:

Lag en Prometheus System -bruker og koble den deretter til den primære gruppen som er nyopprettet.

For å lagre dataene, vil Prometheus kreve en katalog. Plasseringen av katalogen er/var/lib/prometheus.

Den primære konfigurasjonsfilkatalogen for Prometheus er/etc/prometheus/. Det vil ha forskjellige underkataloger.

For å få tilgang til binære filer, må vi først laste ned det nyeste Prometheus -arkivet og trekke ut det. Installer WGET -programmet etter det. Utgangen er avbildet i det festede bildet:

Her har vi utført installasjons -kommandoen for å gjøre det. Utgangen er avbildet i det festede bildet:

Deretter, for Prometheus, last ned det siste binære arkivet. Utgangen er avbildet i det festede bildet:

Etter det må du trekke ut filen som følger. Utgangen er avbildet i det festede bildet:

Overfør nå alle binære filer til katalogen som ligger på/usr/local/bin/. Se den gitte kommandoen vi har spesifisert stedet. Utgangen er avbildet i følgende bilde:

Bekreft den installerte versjonen ved å utføre den vedlagte kommandoen. Utgangen er avbildet i det festede bildet:

I katalogen /etc -katalogen må du kopiere Prometheus -konfigurasjonsmalen slik vi har gjort på skjermdumpen nedenfor:

Dette trinnet krever å flytte konsollene, så vel som konsollbiblioteker. For det, skriv og kjør kommandoen utført nedenfor:

På Ubuntu 22.04/20.04/18.04, du må konfigurere Prometheus. Nå, opprette eller oppdatere/etc/Prometheus/Prometheus.YML -konfigurasjonsfil for Prometheus.

Malinnstillingene skal se ut som pålagt bilde. Du kan lagre filen etter å ha gjort nødvendige endringer. Utgangen er avbildet i følgende bilde.

Nå må du nå lage en Prometheus Systemd Service Unit -fil. Denne enhetsfilen må eksplisitt defineres for å administrere Prometheus -tjenesten med SystemD. Utgangen er avbildet i det festede bildet:

Endre Prometheus -brukeren og gruppen for å eie disse katalogene. Se følgende tre skjermbilder:

La oss starte tjenesten ved å laste inn Systemd Daemon:

Kjør instruksjonen “SystemCTL Status Prometheus” for å bekrefte statusen. Utgangen er avbildet i det festede bildet:

Du må åpne port 9090 hvis serveren din har en brannmurtjeneste aktiv. Se følgende kommando. Utgangen er avbildet i det medfølgende bildet.

I din relevante nettleser, sjekk Prometheus -serveren IP -adresse for å se om du kan lenke til port 9090.

Hvordan få tilgang til Prometheus fra nettgrensesnittet?

Hvis brannmuren din (UFW) er oppe og fungerer ordentlig, må du åpne Prometheus -porten. Den kobles til på TCP -port 9090 som standard. Prometheus er nå i gang og klar til å ta nettforespørsler. Du kan komme til det ved å skrive http: // server-ip-or-hostname: 9090 i nettleseren din.

Naviger til status hvis du vil få informasjonen om konfigurasjon, status, regler, mål osv.

Her har vi klikket på mål. Dette gjøres for å bekrefte nodens status.

Nå kan du bruke PROMQL til å hente ut interessante og handlingsrike data fra Kubernetes -klyngen din ved hjelp av en rekke spørsmål. Disse spørsmålene vil gi informasjon om Node Health, Pod Health, Cluster Resource Use, etc.

Vi har ikke brukt noen spørsmål for å trekke relevante og handlingsrike beregninger fra Kubernetes -klyngen din, som vist i forrige øyeblikksbilde.

Konklusjon:

PROMQL, som et hvilket som helst modent spørringsspråk, er et bredt og komplisert emne. Dette innlegget ga en oversikt over ideene for å hjelpe deg med å komme i gang med å konstruere spørsmål som returnerer nyttige tidsserier og beregninger. Du kan følge alle de essensielle trinnene for å installere Prometheus -serveren som er oppført. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og opplæringsprogrammer.