Eesti

Avastage mõõdikute kogumine Prometheusega ja Grafanaga. Õppige, kuidas neid võimsaid avatud lähtekoodiga tööriistu tõhusalt kasutada.

Mõõdikute kogumine: põhjalik juhend Prometheusega ja Grafanaga

Tänapäeva keerulises IT-maastikus on tõhus monitooring ülimalt oluline rakenduste ja infrastruktuuri tervise ja jõudluse säilitamiseks. Mõõdikute kogumine pakub selle monitooringu aluse, võimaldades teil jälgida peamisi tulemusnäitajaid (KPI-sid), tuvastada potentsiaalseid probleeme ja optimeerida ressursside kasutamist. See põhjalik juhend uurib, kuidas kasutada Prometheust ja Grafanat, kahte võimsat avatud lähtekoodiga tööriista, et saada tugev mõõdikute kogumine ja visualiseerimine.

Mis on mõõdikute kogumine?

Mõõdikute kogumine hõlmab numbriliste andmete kogumist, mis esindavad erinevate süsteemide, rakenduste ja infrastruktuuri komponentide olekut ja käitumist aja jooksul. Need mõõdikud võivad sisaldada CPU kasutust, mälukulu, võrguliiklust, vastuseaegu, veamäärasid ja paljusid muid asjakohaseid näitajaid. Neid mõõdikuid analüüsides saate väärtuslikku teavet oma keskkonna jõudluse ja tervise kohta.

Miks on mõõdikute kogumine oluline?

Prometheuse ja Grafana tutvustus

Prometheus on avatud lähtekoodiga süsteemide monitooringu ja häiresignaali komplekt, mis algselt arendati SoundCloudis. See paistab silma ajareana andmete kogumisel ja salvestamisel, mis on ajatemplitega indekseeritud andmed. Prometheus kasutab tõmbepõhist mudelit, et kraapida mõõdikuid sihtmärkidest (nt serverid, rakendused) regulaarsete ajavahemike järel. See pakub võimsat päringukeelt (PromQL) kogutud andmete analüüsimiseks ja häirereeglite määratlemiseks.

Grafana on avatud lähtekoodiga andmete visualiseerimise ja monitooringu platvorm. See võimaldab luua interaktiivseid armatuurlaudu ja graafikuid, et visualiseerida andmeid erinevatest allikatest, sealhulgas Prometheusest. Grafana pakub rikkalikku visualiseerimisvõimaluste komplekti, sealhulgas graafikuid, tabeleid ja näidikuid. Samuti toetab see häiresignaale, võimaldades teil saada teateid teatud künniste ületamisel.

Koos moodustavad Prometheus ja Grafana võimsa ja paindliku monitooringulahenduse, mida saab kohandada paljude keskkondade ja kasutusjuhtumitega. Neid kasutatakse laialdaselt DevOpsi ja SRE (Saidikindluse Inseneeria) praktikates kogu maailmas.

Prometheuse arhitektuur ja mõisted

Prometheuse põhikomponentide mõistmine on tõhusa rakendamise ja kasutamise jaoks oluline:

Prometheuse töövoog

  1. Sihtmärgid (rakendused, serverid jne) eksponeerivad mõõdikuid. Need mõõdikud eksponeeritakse tavaliselt HTTP-lõpp-punkti kaudu.
  2. Prometheuse server kraapib mõõdikuid konfigureeritud sihtmärkidest. See tõmbab perioodiliselt mõõdikuid neist lõpp-punktidest.
  3. Prometheus salvestab kraabitud mõõdikud oma ajareana andmebaasi.
  4. Kasutajad päringutavad mõõdikuid PromQL-i abil. See võimaldab neil andmeid analüüsida ning luua graafikuid ja armatuurlaudu.
  5. Häire reegleid hinnatakse salvestatud mõõdikute põhjal. Kui reegli tingimus on täidetud, käivitatakse häire.
  6. Alertmanager haldab käivitatud häiresignaale. See de-dublitseerib, rühmitab ja suunab need sobivatesse teavituskanitesse.

Grafana arhitektuur ja mõisted

Grafana täiendab Prometheust, pakkudes kasutajasõbralikku liidest kogutud mõõdikute visualiseerimiseks ja analüüsimiseks:

Grafana töövoog

  1. Konfigureerige andmeallikad: ühendage Grafana oma Prometheuse serveriga.
  2. Looge armatuurlauad: kujundage armatuurlauad oma mõõdikute visualiseerimiseks.
  3. Lisage paneelid armatuurlaudadele: lisage paneele, et kuvada konkreetseid andmepunkte Prometheusest, kasutades PromQL-päringuid.
  4. Konfigureerige häiresignaalid (valikuline): seadistage Grafanas häirereeglid, et saada teatisi konkreetsete mõõdikute lävede alusel.
  5. Jagage armatuurlaudu: jagage armatuurlaudu oma meeskonnaga monitooringu ja analüüsi osas koostöö tegemiseks.

Prometheuse ja Grafana seadistamine

See jaotis annab samm-sammult juhiseid Prometheuse ja Grafana seadistamiseks.

Prometheuse installimine

1. Laadige alla Prometheus:

Laadige Prometheuse uusim versioon alla ametlikult veebisaidilt: https://prometheus.io/download/. Valige oma operatsioonisüsteemile sobiv pakett (nt Linux, Windows, macOS).

2. Väljastage arhiiv:

Väljastage allalaaditud arhiiv valitud kataloogi.

3. Konfigureerige Prometheus:

Looge konfiguratsioonifail `prometheus.yml`. See fail määrab sihtmärgid, mida Prometheus kraabib, ja muid konfiguratsioonivalikuid. Põhikonfiguratsioon võib välja näha selline:


global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

See konfiguratsioon määrab kaks kraapimistööd: üks Prometheuse enda jaoks (oma mõõdikute kraapimine) ja üks node_exporteri jaoks, mis töötab localhosti pordis 9100. `scrape_interval` määrab, kui sageli Prometheus sihtmärke kraabib.

4. Käivitage Prometheus:

Käivitage Prometheuse käivitatav fail kataloogist, kuhu arhiivi väljastasite:

./prometheus --config.file=prometheus.yml

Prometheus käivitub ja kuulab vaikimisi pordis 9090. Saate Prometheuse veebiliidesele oma brauseris juurdepääsu aadressil http://localhost:9090.

Grafana installimine

1. Laadige alla Grafana:

Laadige Grafana uusim versioon alla ametlikult veebisaidilt: https://grafana.com/grafana/download. Valige oma operatsioonisüsteemile sobiv pakett.

2. Installige Grafana:

Järgige oma operatsioonisüsteemi installijuhiseid. Näiteks Debian/Ubuntu puhul:


sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana

3. Käivitage Grafana:

Käivitage Grafana teenus:

sudo systemctl start grafana-server

4. Juurdepääs Grafanale:

Grafana käivitub ja kuulab vaikimisi pordis 3000. Saate Grafana veebiliidesele oma brauseris juurdepääsu aadressil http://localhost:3000.

Vaikimisi kasutajanimi ja parool on `admin` ja `admin`. Teile palutakse parool esimesel sisselogimisel muuta.

Grafana ühendamine Prometheusega

Et visualiseerida mõõdikuid Prometheusest Grafanas, peate konfigureerima Prometheuse andmeallikana Grafanas.

1. Lisage andmeallikas:

Liikuge Grafana veebiliideses jaotisse Configuration > Data Sources ja klõpsake nuppu Add data source.

2. Valige Prometheus:

Valige andmeallika tüübiks Prometheus.

3. Konfigureerige Prometheuse ühendus:

Sisestage Prometheuse serveri URL (nt `http://localhost:9090`). Konfigureerige muid võimalusi vastavalt vajadusele (nt autentimine).

4. Salvesta ja testi:

Klõpsake nuppu Save & Test, et kontrollida, kas Grafana saab edukalt Prometheusega ühenduse luua.

Armatuurlaudade loomine Grafanas

Kui olete Grafana Prometheusega ühendanud, saate luua armatuurlaudu oma mõõdikute visualiseerimiseks.

1. Looge uus armatuurlaud:

Klõpsake Grafana veebiliideses külgribal ikooni + ja valige Dashboard.

2. Lisage paneel:

Klõpsake nuppu Add an empty panel, et lisada armatuurlauale uus paneel.

3. Konfigureerige paneel:


rate(process_cpu_seconds_total{job="node_exporter"}[5m])

See päring arvutab node_exporteri poolt kogutud protsesside poolt kasutatud CPU aja muutumiskiiruse 5-minutilisel intervallil.

4. Salvestage armatuurlaud:

Klõpsake armatuurlaua salvestamiseks salvestusikooni.

PromQL: Prometheuse päringukeel

PromQL on võimas päringukeel, mida kasutatakse Prometheuses salvestatud mõõdikute hankimiseks ja manipuleerimiseks. See võimaldab teil teha mitmesuguseid toiminguid, sealhulgas:

PromQL-i näited


rate(process_cpu_seconds_total{job="node_exporter"}[5m])

node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) / node_filesystem_size_bytes{mountpoint="/"} * 100

rate(http_requests_total[5m])

PromQL-i õppimine on Prometheuse ja Grafana tõhusaks kasutamiseks hädavajalik. Kogu keele kohta vaadake Prometheuse dokumentatsiooni.

Häiresignaalid Prometheusega ja Alertmanageriga

Prometheus pakub tugevat häiresignalisatsioonisüsteemi, mis võimaldab teil määratleda reegleid mõõdikute väärtuste põhjal. Kui reegli tingimus on täidetud, käivitatakse häire ja Alertmanager haldab teavitamisprotsessi.

Häire reeglite määratlemine

Häire reeglid määratletakse konfiguratsioonifailis `prometheus.yml`. Siin on näide häire reeglist, mis käivitub, kui CPU kasutamine ületab 80%:


rule_files:
  - "rules.yml"

Seejärel pange faili nimega `rules.yml` sellised reeglid:


groups:
- name: example
  rules:
  - alert: HighCPUUsage
    expr: rate(process_cpu_seconds_total{job="node_exporter"}[5m]) > 0.8
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "High CPU usage detected"
      description: "CPU usage is above 80% on {{ $labels.instance }}"

Selgitus:

Alertmanageri konfigureerimine

Alertmanager haldab häirete marsruutimist ja teavitamist. Peate Alertmanageri konfigureerima, et määrata, kuhu häiresignaalid tuleks saata (nt e-post, Slack, PagerDuty). Üksikasjalike konfiguratsioonijuhiste saamiseks vaadake Alertmanageri dokumentatsiooni.

Minimaalne `alertmanager.yml` konfiguratsioon võib välja näha selline:


global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: 'web.hook'

receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://localhost:8080/'

See konfiguratsioon saadab häiresignaalid veebihaagisele localhosti pordis 8080. Saate kohandada jaotist `receivers`, et kasutada selle asemel teenuseid nagu Slack või e-post.

Praktilised näited ja kasutusjuhtumid

Prometheust ja Grafanat saab kasutada paljude rakenduste ja infrastruktuurikomponentide monitooringuks. Siin on mõned praktilised näited:

Näide: Mikroteenuste arhitektuuri monitooring

Mikroteenuste arhitektuuris saab Prometheust ja Grafanat kasutada üksikute teenuste ja kogu süsteemi tervise ja jõudluse monitooringuks. Iga teenus saab eksponeerida oma mõõdikuid, nagu päringumäärad, vastuseajad ja veamäärad. Seejärel saab Prometheus neid mõõdikuid kraapida ja Grafanat saab kasutada nende visualiseerimiseks. See võimaldab teil kiiresti tuvastada jõudluse kitsaskohti või rikkeid konkreetsetes teenustes.

Täiustatud tehnikad ja parimad tavad

Prometheuse ja Grafana maksimaalseks ärakasutamiseks kaaluge järgmisi täiustatud tehnikaid ja parimaid tavasid:

Üldiste probleemide tõrkeotsing

Isegi hoolika planeerimise ja rakendamise korral võite Prometheuse ja Grafana kasutamisel kokku puutuda probleemidega. Siin on mõned levinumad probleemid ja nende lahendused:

Alternatiivsed monitooringulahendused

Kuigi Prometheus ja Grafana on võimsad tööriistad, ei ole need mõõdikute kogumiseks ja visualiseerimiseks ainsad võimalused. Muud populaarsed monitooringulahendused hõlmavad:

Teie organisatsiooni jaoks parim monitooringulahendus sõltub teie konkreetsetest nõuetest ja eelarvest.

Järeldus

Mõõdikute kogumine on rakenduste ja infrastruktuuri tervise ja jõudluse säilitamiseks hädavajalik. Prometheus ja Grafana pakuvad võimsat ja paindlikku avatud lähtekoodiga lahendust mõõdikute kogumiseks, salvestamiseks ja visualiseerimiseks. Mõistes põhimõisteid ja järgides selles juhendis esitatud parimaid tavasid, saate Prometheust ja Grafanat kasutada tugeva monitooringsüsteemi ülesehitamiseks, mis vastab teie organisatsiooni vajadustele.

Tõhus monitooring koos proaktiivsete häiresignaalide ja kiire intsidentide lahendamisega on kaasaegsete IT-operatsioonide nurgakivi. Selliste tööriistade nagu Prometheus ja Grafana omaksvõtmine annab organisatsioonidele võimaluse pakkuda oma kasutajatele usaldusväärseid ja toimivaid teenuseid, olenemata nende asukohast või tööstusharust.