„Prometheus“ yra atviro kodo, metrikomis pagrįsta įvykių stebėjimo ir perspėjimo programa, iš pradžių sukurta „SoundCloud“ ir vėliau plačiau pritaikyta įvairių kompanijų ir organizacijų. „Prometheus“ turi savo saugojimo sistemą, kuri saugo ir tvarko surinktą metriką realiuoju laiku. „Prometheus“ duomenų rinkimo metodas yra žinomas kaip „metalo laužymas“, o šiam tikslui naudojamas įrankis vadinamas „eksportuotoju“.“
Šiame straipsnyje bus parodyta, kaip įdiegti ir sukonfigūruoti „Prometheus“ „Ubuntu 20“.04 LTS („Focal Fossa“) sistemos. Straipsnyje taip pat bus paaiškinta, kaip įtraukti eksportuotoją į „Prometheus“, siekiant išplėsti jo naudingumą.
Pastaba: Šiame straipsnyje aprašytos procedūros ir komandos buvo vykdomos naudojant „Ubuntu 20“.04 LTS („Focal Fossa“).
Būtinos sąlygos
Prieš diegdami „Prometheus“, būtinai atlikite šiuos reikalavimus.
1. Įdiekite „Nginx“
Norėdami įdiegti „Nginx“, atlikite toliau nurodytus veiksmus:
Norėdami atnaujinti sistemos saugyklos indeksą, naudokite šią komandą „Terminal“
$ sudo apt atnaujinimasTada įveskite šią komandą, kad įdiegtumėte „Nginx“:
$ sudo apt įdiekite „nginx“Įdiegę „Nginx“, naudokite šias komandas, kad patvirtintumėte, jog „Nginx“ tarnyba veikia:
$ sudo systemctl start nginxJei „Nginx“ paslauga neveikia, galite ją paleisti įvesdami šią komandą:
$ sudo systemctl start nginx2. Sukurkite „Prometheus“ vartotojus
Norėdami sukurti „Prometheus“ vartotojo abonementus, kurie bus naudojami kaip paslaugų vartotojo abonementai saugumo ir administravimo tikslais, įveskite šiuos duomenis. Šios paskyros nebus naudojamos prisijungiant prie sistemos. Norėdami sukurti paslaugos vartotojo abonementą, naudokite šias „Terminal“ komandas.
$ sudo useradd --no-create-home --shell / bin / false prome$ sudo useradd --no-create-home --shell / bin / false node_exporter
3. Sukurkite „Prometheus“ katalogus
Norėdami sukurti keletą katalogų, kurie bus naudojami failams ir duomenims saugoti, įveskite šiuos duomenis:
$ sudo mkdir / etc / prometheus$ sudo mkdir / var / lib / prometheus
„Prometheus“ atsisiuntimas ir diegimas
Kai visos šios sąlygos bus įvykdytos, jūsų sistema bus pasirengusi įdiegti „Prometheus“. Toliau pateikiama „Prometheus“ atsisiuntimo ir įdiegimo procedūra.
Atsisiųskite naujausią stabilų „Prometheus“ leidimą naudodami komandą wget.
$ wget https: // github.com / prometheus / prometheus / releases / download / v2.0.0 /prometėjas-2.0.0.„Linux-amd64“.degutas.gz
Išskleiskite „Prometheus“ archyvą naudodami šią komandą:
$ tar xvf prometheus-2.0.0.„Linux-amd64“.degutas.gzIš ištraukto aplanko nukopijuokite dvejetainius failus į / usr / local / bin katalogą ir pakeiskite nuosavybės teisę.
Naudodami šias komandas nukopijuokite dvejetainius failus „prometheus“ ir „promtool“ į / usr / local / bin.
$ sudo cp prometheus-2.0.0.linux-amd64 / prometheus / usr / local / bin /$ sudo cp prometheus-2.0.0.linux-amd64 / promtool / usr / local / bin /
Tada pakeiskite failų nuosavybės teisę įvesdami žemiau esančias komandas.
$ sudo chown prome: prome / usr / local / bin / prometheus$ sudo chown prome: prome / usr / local / bin / promtool
Nukopijavę dvejetainius failus, nukopijuokite reikiamas bibliotekas į / etc / prometheus katalogą. Norėdami tai padaryti, naudokite šias terminalo komandas:
$ sudo cp -r prometheus-2.0.0.linux-amd64 / consoles / etc / prometheus$ sudo cp -r prometheus-2.0.0.linux-amd64 / console_libraries / etc / prometheus
Tada naudokite šias komandas, kad pakeistumėte failų nuosavybės teises.
$ sudo chown -R prome: prome / etc / prometheus / consoles$ sudo chown -R prome: prome / etc / prometheus / console_libraries
„Prometheus“ konfigūracija
Šiame skyriuje sukursime pavadinimo konfigūracijos failą prometėjas.yml viduje konors / etc / prometheus katalogas, sukurtas atlikus ankstesnius veiksmus. Išduokite šią komandą terminale, kad galėtumėte redaguoti prometėją.yml failas:
$ sudo nano / etc / prometheus / prometheus.ymlTada nukopijuokite ir įklijuokite šias eilutes į terminalą:
pasaulinis:grandymo_intervalas: 15s
scrape_configs:
- darbo_vardas: „prometheus“
grandymo_intervalas: 5s
static_configs:
- tikslai: ['localhost: 9090']
Paspauskite Ctrl + o, kad išsaugotumėte, ir Ctrl + x, jei norite išeiti iš failo.
Dabar sukursime kitą „systemd“ paslaugos failą. Norėdami tai padaryti, terminale išleiskite šią komandą:
$ sudo nano / etc / systemd / system / prometheus.paslaugąTada nukopijuokite ir įklijuokite šias eilutes į terminalą:
[Vienetas]Aprašymas = Prometėjas
Nori = tinklas-internetas.taikinys
Po = tinklas-internetas.taikinys
[Paslauga]
Vartotojas = prome
Grupė = prome
Tipas = paprastas
ExecStart = / usr / local / bin / prometheus \
--konfigūruoti.failas / etc / prometheus / prometheus.yml \
--saugojimas.tsdb.kelias / var / lib / prometheus / \
--internetas.konsolė.šablonai = / etc / prometheus / consoles \
--internetas.konsolė.bibliotekos = / etc / prometheus / console_libraries
[Diegti]
WantedBy = daugeliui vartotojų.taikinys
Paspauskite „Ctrl“ + o, jei norite išsaugoti failą, ir „Ctrl“ + x, kad išeitumėte iš failo.
Baigę aukščiau nurodytas konfigūracijas, iš naujo įkelkite systemd naudodami šią komandą:
$ sudo systemctl daemon-reloadPaleiskite „Prometheus“ paslaugą išleisdami šią komandą:
$ sudo systemctl paleisti prometėjąNorėdami įjungti Prometėjas paslaugą sistemos įkrovos metu, naudokite šią komandą:
$ sudo systemctl įgalina prometėjąPradėjus „Prometheus“ tarnyba, naudokite šią komandą, kad peržiūrėtumėte paslaugos būseną:
$ sudo systemctl status prometheusŠi ekrano kopija rodo, kad „Prometheus“ paslauga yra aktyvi ir veikia.
Prisijunkite prie „Prometheus“ žiniatinklio sąsajos
Tada pabandykite pasiekti „Prometheus“ žiniatinklio sąsają. Atidarykite žiniatinklio naršyklę ir eikite šiuo adresu:
http: // ip adresas: 9090
Pakeiskite terminą „IP adresas“Su tikruoju jūsų sistemos IP adresu. „Prometheus“ žiniatinklio sąsają galite pasiekti iš bet kurios sistemos jūsų vietiniame tinkle. Taip pat galite naudoti vietinis šeimininkas arba 127.0.0.1 norėdami patekti į „Prometheus“ svetainę savo vietinėje sistemoje. Tačiau šiuo atveju negalėtumėte prieiti prie jos iš jokios kitos tinklo sistemos.
Šiame etape „Prometėjas“ rodo tik metriką apie save, kuri gali būti mažai naudinga. Kitame skyriuje bus parodyta, kaip išplėsti „Prometheus“ naudingumą pridedant eksportuotojų.
Pridėti eksportuotojų
Norėdami padaryti „Prometheus“ jums naudingesnį, pabandykite pridėti eksportuotojų. Kai kurie dažniausiai naudojami eksportuotojai yra šie:
- Mazgo_eksportuotojas-
- „Blackbox_exporter“
- rabbitmq_exporter
- Mano_eksportuotojas
Čia mes pridėsime mazgas_eksportuotojas į „Prometėjaus“ sistemą. Generuoja metriką apie išteklius, tokius kaip procesorius, atmintis, disko naudojimas ir kt.
Pirmiausia atsisiųskite „node_exporter“ į savo sistemą naudodami šią komandą:
$ wget https: // github.lt / prometheus / node_exporter / releases / download /v0.15.1 / mazgas_eksportuotojas-0.15.1.„Linux-amd64“.degutas.gz
Ištraukite archyvą naudodami šią komandą:
$ tar xvf mazgas_eksportuotojas-0.15.1.„Linux-amd64“.degutas.gzsudo nano / etc / prometheus / prometheus.yml
Iš išgauto aplanko nukopijuokite dvejetainius failus į / usr / local / bin katalogą ir pakeiskite nuosavybės teisę. Išduokite šią komandą, kad nukopijuotumėte dvejetainius failus node_exporter į / usr / local / bin kataloge.
$ sudo cp mazgas_eksportuotojas-0.15.1.linux-amd64 / node_exporter / usr / local / binNustatykite katalogo nuosavybės teisę naudodami šią komandą:
$ sudo chown node_exporter: node_exporter / usr / local / bin / node_exporterSukurkite paslaugų failą eksportuotojui naudodami the komanda:
$ sudo nano / etc / systemd / system / node_exporter.paslaugąTada nukopijuokite ir įklijuokite šias eilutes į terminalą:
[Vienetas]Aprašymas = Prometėjas
Nori = tinklas-internetas.taikinys
Po = tinklas-internetas.taikinys
[Paslauga]
Vartotojas = mazgas_eksportuotojas
Grupė = mazgo_eksportuotojas
Tipas = paprastas
ExecStart = / usr / local / bin / prometheus \
--konfigūruoti.failas / etc / prometheus / prometheus.yml \
--saugojimas.tsdb.kelias / var / lib / prometheus / \
--internetas.konsolė.šablonai = / etc / prometheus / consoles \
--internetas.konsolė.bibliotekos = / etc / prometheus / console_libraries
[Diegti]
WantedBy = daugeliui vartotojų.taikinys
Paspauskite Ctrl + o, kad išsaugotumėte, ir Ctrl + x, jei norite išeiti iš failo.
Perkraukite „systemd“ naudodami šią komandą:
$ sudo systemctl daemon-reloadNorėdami paleisti, išleiskite šią komandą „node_exporter“ paslauga:
$ sudo systemctl start node_exporterNorėdami įgalinti „node_exporter“ paslaugą įkrovos metu, įveskite šią komandą:
$ sudo systemctl įgalinti node_exporter„Prometheus“ konfigūravimas „node_exporter“
Šiame skyriuje sukonfigūruosime „Prometheus“, kad jis nuskaitytų „node_exporter“. Norėdami redaguoti konfigūracijos failą, paleiskite šią komandą „Terminal“:
$ sudo nano etc / prometheus / prometheus.ymlNukopijuokite ir įklijuokite šias eilutes į terminalą:
- darbo_vardas: 'mazgo_eksportuotojas'grandymo_intervalas: 5s
static_configs:
- tikslai: ['localhost: 9100']
Paspauskite Ctrl + o, kad išsaugotumėte, ir Ctrl + x, jei norite išeiti iš failo. Iš naujo paleiskite „Prometheus“ paslaugą naudodami šią komandą:
$ sudo systemctl paleiskite „Prometheus“ iš naujoNorėdami patikrinti, ar ji tinkamai veikia, galite patikrinti „Prometheus“ paslaugos būseną įvesdami šią komandą: $ sudo systemctl status prometheus Pabandykite prisijungti prie „Prometheus“ atidarydami bet kurią žiniatinklio naršyklę ir naršydami šiuo adresu:
http: // ip adresas: 9090
Kai atidaroma žiniatinklio sąsaja, naudokite išskleidžiamąją rodyklę, kad pasirinktumėte bet kurią metriką, ir spustelėkite Vykdyti mygtuką norėdami peržiūrėti diagramą.
Jei eisite į Būsena> Tikslas iš puslapio viršuje esančio meniu pamatysite tiek „Prometheus“, tiek „node_exporter“, nes mes sukonfigūravome „Prometheus“, kad jis nuskaustų ir save, ir „node_exporter“.
Išvada
Tai viskas, kas yra! Šiame straipsnyje jūs sužinojote, kaip įdiegti „Prometheus“ į „Ubuntu 20“.04 LTS („Focal Fossa“), taip pat kaip naudotis mazgo eksportuotoju „Prometheus“. Tikiuosi, kad perskaitę šį straipsnį dabar esate pakankamai patogūs įdiegti „Prometheus“ ir eksportuotojui, kad generuotumėte metriką apie savo serverio išteklius.