Kaip įdiegti „Prometheus“ „Ubuntu 17 Linux“

Keletą kartų kalbėjome apie mastelį, kurį mums siūlo „Linux“ distribucijos, turėdamos tūkstančius atvirojo kodo programų, kurias galima įdiegti ir taip žymiai išplėsti paslaugų ir vaidmenų naudojimo ir plėtros galimybes.

Mes galime rasti programų visų tipų užduotims asmeniniu ar įmonės lygiu, o šiandien „Solvetic“ išsamiai išanalizuos tą, kuri stebina dėl galimo dinamiškumo renkant kelių tipų metriką ir siūlydama mums išsamias ataskaitas, kurios bus labai naudingos kai kalbama apie mūsų valdymą ir paramą.

Ši programa vadinama „Prometheus“ ir šiandien pamatysime, kaip ją praktiškai įdiegti „Ubuntu 17.04“.

Kas yra Prometėjas„Prometheus“ yra galinga atviro kodo stebėjimo sistema, kuri renka mūsų paslaugų metriką ir saugo ją laiko eilučių duomenų bazėje. Jis siūlo mums daugialypį duomenų modelį, lanksčią užklausų kalbą ir įvairias vizualizacijos galimybes, tokias kaip „Grafana“.

Pagal numatytuosius nustatymus „Prometheus“ eksportuoja tik metriką apie save, pavyzdžiui, gautų užklausų skaičių, atminties suvartojimą ir kt. Tačiau „Prometheus“ galima išplėsti įdiegiant eksportuotojus, kurie yra neprivalomos programos, sukuriančios papildomą ir išsamią kitų analizuojamų aspektų metriką.

Šie eksportuotojai daugiausia dėmesio skiria infrastruktūrai, duomenų bazėms ir žiniatinklio serveriams pranešimų sistemose, API ir daugeliui kitų.

Kai kurie eksportuotojai, kuriuos mums siūlo „Prometheus“, yra šie:

node_exporterŠis eksportuotojas gamina įrangos infrastruktūros metriką, įskaitant dabartinį procesorių, atmintį ir standžiojo disko naudojimą, taip pat įvesties / išvesties ir tinklo statistiką (pvz., Iš disko nuskaitytų baitų skaičių arba vidutinę disko apkrovą).

„blackbox_exporter“Su šiuo eksportuotoju galėsime generuoti metriką, gautą iš naršymo protokolų, tokių kaip HTTP ir HTTPS, kad būtų galima nustatyti galutinių taškų prieinamumą, atsako laiką ir dar daugiau.

mysqld_exporterŠio eksportuotojo funkcija yra rinkti su „MySQL“ serveriu susijusią metriką, pvz., Įvykdytų užklausų skaičių, vidutinį užklausų atsakymo laiką ir klasterio replikacijos būseną.

triušis_eksportuotojasŠis eksportuotojas sukuria metriką apie „RabbitMQ“ pranešimų sistemą, įskaitant išsamią informaciją, pvz., Paskelbtų pranešimų skaičių, paruoštų pristatyti pranešimų skaičių ir visų eilėje esančių pranešimų dydį.

nginx-vts-eksportuotojasSu šiuo eksportuotoju mes gausime metriką „Nginx“ žiniatinklio serveryje, naudodamiesi „Nginx VTS“ moduliu, į kurį įeina atvirų ryšių skaičius, išsiųstų atsakymų skaičius (sugrupuotas pagal atsakymo kodus) ir bendras išsiųstų ar gautų užklausų dydis. baitų.

Prometėjo savybėsKai kurios išskirtinės „Prometheus“ savybės yra šios:

  • Duomenų aspektas, nes „Prometheus“ visus duomenis saugo kaip laiko eilutes, naudodama laiko reikšmių srautus, priklausančius tai pačiai metrikai ir tam pačiam pažymėtų matmenų rinkiniui. Be to, „Prometheus“ dėl užklausų gali generuoti iš laiko gautas laiko eilutes.
  • Dinaminės užklausos. Šiuo atžvilgiu „Prometheus“ siūlo funkcinę išraiškos kalbą, per kurią vartotojas realiu laiku gali pasirinkti ir kaupti laiko eilučių duomenis. Išraiškos rezultatas gali būti rodomas kaip diagrama, peržiūrimas kaip lentelės duomenys „Prometheus“ išraiškos naršyklėje arba vykdomas išorinių sistemų naudojant HTTP API.
  • Įvairios rodymo parinktys, nes „Prometheus“ apima „Grafana“, kuri prieinama nuo „Grafana 2.5.0“ (2015-10-28).
  • Efektyvus saugojimas, nes „Prometheus“ turi sudėtingą vietinio saugojimo posistemį. Indeksams ji naudoja „LevelDB“. Masinio mėginio duomenims jis turi savo pasirinktinį saugojimo sluoksnį, kuris imties duomenis susistemina į pastovaus dydžio gabalus (1024 baitų naudingoji apkrova). Šios dalys yra saugomos diske viename faile kiekvienoje laiko eilutėje.
  • Paprastas valdymas, nes „Prometheus“ sukonfigūruotas naudojant komandinės eilutės parametrus ir konfigūracijos failą. Nors komandų eilutė paragina sukonfigūruoti nekintamus sistemos parametrus (pvz., Saugojimo vietas, į diską ir atmintį įrašomų duomenų kiekį), konfigūracijos failas apibrėžia viską, kas susiję su grandymo užduotimis ir jų egzemplioriais, taip pat su programa įkelti taisyklių failai .
  • Tikslus įspėjimas, turint galimybę sukurti įspėjimo taisykles, leidžiančias apibrėžti įspėjimo sąlygas pagal „Prometheus“ išraiškos kalbos vertes ir tam tikru laiku siųsti pranešimus apie aktyvuojančius įspėjimus išorinei tarnybai ir taip žinoti apie bet kokius pakeitimus.
  • Kelios bibliotekos, nes „Prometheus“ siūlo mums daugybę suderinamų bibliotekų, tokių kaip „Java“ ar „Scala“, „Python“, „Rubí“, „Bash“, „C ++“, „Common Lisp“, „Elixir“, „Erlang“, „Haskell“, „Lua“, „Nginx“, „Lua“, skirta „Tarantool“. NET / C #, „Node.js“, PHP ir „Rust“.
  • Daugialypė integracija, nes turime kelias bibliotekas ir serverius, kurie padeda eksportuoti esamą metriką iš trečiųjų šalių sistemų į „Prometheus“ metriką, kai kurie iš jų yra „Aerospike“ eksportuotojas, „ClickHouse“ eksportuotojas, konsulų eksportuotojas, „CouchDB“ eksportuotojas, „ElasticSearch“ eksportuotojas, „Memcached“ eksportuotojas, „MongoDB“ eksportuotojas, MSSQL serverio eksportuotojas, „MySQL“ serverio eksportuotojas, „OpenTSDB“ eksportuotojas, „PgBouncer“ eksportuotojas, „PostgreSQL“ eksportuotojas arba „ProxySQL“ eksportuotojas.

Dabar pamatysime, kaip įdiegti „Prometheus“ „Ubuntu 17.04“.

1. „Nginx“ diegimas

1 žingsnis
Pirmiausia reikia nepamiršti, kad „Nginx“ turi būti įdiegta „Ubuntu“, jei jos neturime, vykdysime šią komandą:

 sudo apt įdiegti nginx

2 žingsnis
Ten mes įvesime raidę S, kad patvirtintume reikalingų paketų atsisiuntimą ir įdiegimą. Įdiegę turėsite sukonfigūruoti „Ubuntu“ užkardos nustatymus, kad galėtumėte pasiekti „Nginx“ paslaugą, todėl vykdysime šią eilutę, kad išvardytume „ufw“ programų konfigūracijas:

 „sudo ufw“ programų sąrašas

„Nginx“ lygiu turime šias parinktis

  • „Nginx Full“: šis profilis atidaro tiek 80 prievadą (įprastas, nešifruotas žiniatinklio srautas), tiek 443 prievadą (užšifruotas TLS / SSL srautas)
  • „Nginx HTTP“: šis profilis atidaro tik 80 prievadą (įprastas, nešifruotas žiniatinklio srautas)
  • „Nginx HTTPS“: šis profilis atidaro tik 443 prievadą (užšifruotas TLS / SSL srautas)

3 žingsnis
Šiuo atveju vykdysime šią eilutę:

 sudo ufw leisti „Nginx HTTP“

4 žingsnis
Matome, kad kai kuriais atvejais ugniasienės būsena yra neaktyvi, todėl ją būtina suaktyvinti, todėl vykdome šiuos veiksmus:

 sudo ufw įjungti

Kai sukonfigūruosime šiuos parametrus užkardoje, tęsime „Prometheus“ diegimą.


Prisijunk Prisijunk!

wave wave wave wave wave