U nekoliko smo navrata govorili o skalabilnosti koju nam Linux distribucije nude tako što imaju tisuće aplikacija otvorenog koda koje se mogu instalirati u njih i time značajno proširiti kapacitete za korištenje i razvoj usluga i uloga.
Možemo pronaći aplikacije za sve vrste zadataka na osobnoj ili korporativnoj razini, a danas će Solvetic detaljno analizirati jedan koji je upečatljiv zbog svoje potencijalne dinamike pri prikupljanju više vrsta mjernih podataka i nudi nam detaljna izvješća koja će biti vrlo korisna što se tiče našeg upravljanja i podrške.
Ova se aplikacija zove Prometheus i danas ćemo vidjeti kako je instalirati u Ubuntu 17.04 na praktičan način.
Što je PrometejPrometheus je moćan sustav praćenja otvorenog koda koji prikuplja mjerne podatke naših usluga i pohranjuje ih u bazu podataka o vremenskim serijama. Nudi nam višedimenzionalni model podataka, fleksibilan jezik upita i različite mogućnosti vizualizacije putem alata poput Grafane.
Prema zadanim postavkama, Prometheus samo izvozi mjerne podatke o sebi, na primjer broj primljenih zahtjeva, potrošnju memorije, između ostalog. Međutim, moguće je proširiti Prometheus instaliranjem izvoznika koji su izborni programi koji generiraju dodatne i detaljne metrike drugih aspekata za analizu.
Ovi su izvoznici fokusirani na infrastrukturu, baze podataka i web poslužitelje u sustavima za razmjenu poruka, API -je i još mnogo toga.
Neki od izvoznika koje nam nudi Prometheus su:
node_exporterOvaj izvoznik proizvodi mjerne podatke o infrastrukturi opreme, uključujući trenutnu potrošnju procesora, memorije i tvrdog diska, kao i statistiku I / O i mreže (kao što je broj očitanih bajtova s diska ili prosječno opterećenje diska). Poslužitelj)
blackbox_exporterS ovim izvoznikom moći ćemo generirati mjerne podatke izvedene iz protokola pregledavanja, poput HTTP -a i HTTPS -a, kako bismo utvrdili dostupnost krajnjih točaka, vrijeme odziva i drugo.
mysqld_exporterFunkcija ovog izvoznika je prikupljanje mjernih podataka vezanih za MySQL poslužitelj, kao što su broj izvršenih upita, prosječno vrijeme odgovora na upite i status replikacije klastera.
rabbitmq_exporterOvaj izvoznik generira mjerne podatke o sustavu za razmjenu poruka RabbitMQ, uključujući detalje kao što su broj objavljenih poruka, broj poruka spremnih za isporuku i veličina svih poruka u redu čekanja.
nginx-vts-izvoznikS ovim izvoznikom dobit ćemo mjerne podatke na Nginx web poslužitelju koristeći Nginx VTS modul, koji uključuje broj otvorenih veza, broj poslanih odgovora (grupiranih prema kodovima odgovora) i ukupnu veličinu zahtjeva poslanih ili primljenih u bajtova.
Značajke PrometejaNeke od najistaknutijih značajki Prometeja su:
- Dimenzija podataka, budući da Prometheus pohranjuje sve podatke kao vremenske nizove koristeći nizove vremenskih vrijednosti koje pripadaju istoj metrici i istom skupu označenih dimenzija. Nadalje, Prometheus može generirati vremenske serije izvedene kao rezultat upita.
- Dinamički upiti. U tom smislu Prometheus nudi funkcionalni jezik izraza putem kojeg korisnik može odabrati i objediniti podatke o vremenskim serijama u stvarnom vremenu. Rezultat izraza može se prikazati kao grafikon, pregledati kao tablični podaci u pregledniku izraza Prometheus ili izvršiti vanjski sustav putem HTTP API -ja.
- Različite mogućnosti prikaza, budući da Prometheus uključuje Grafanu koja je dostupna od Grafane 2.5.0 (2015-10-28).
- Učinkovito skladištenje jer Prometheus ima sofisticirani lokalni podsustav za pohranu. Za indekse koristi LevelDB. Za skupne uzorke podataka, ima vlastiti prilagođeni sloj za pohranu, koji organizira uzorke podataka u komade konstantne veličine (1024 bajta korisnog tereta). Ti se komadići pohranjuju na disk u jednoj datoteci po vremenskom nizu.
- Jednostavan rad jer je Prometheus konfiguriran putem parametara naredbenog retka i konfiguracijske datoteke. Dok se u naredbenom retku od vas traži da konfigurirate nepromjenjive parametre sustava (poput lokacija za pohranu, količinu podataka za spremanje na disk i u memoriju), konfiguracijska datoteka definira sve što se odnosi na poslove struganja i njihove instance, kao i datoteke pravila učitane s aplikacijom .
- Precizno upozoravanje, s mogućnošću stvaranja pravila upozorenja koja nam omogućuju definiranje uvjeta upozorenja na temelju vrijednosti jezika izraza Prometheus i slanje obavijesti o upozorenjima okidača vanjskoj službi u određenom trenutku i na taj način biti svjesni svake promjene.
- Više knjižnica, zahvaljujući činjenici da nam Prometheus nudi niz kompatibilnih knjižnica kao što su Java ili Scala, Python, Rubí, Bash, C ++, Common Lisp, Elixir, Erlang, Haskell, Lua za Nginx, Lua za Tarantool,. NET / C #, Node.js, PHP i Rust.
- Višestruka integracija, budući da imamo nekoliko knjižnica i poslužitelja koji pomažu u izvozu postojećih mjernih podataka iz sustava trećih strana u metriku Prometheus, neki od njih su izvoznik Aerospike, izvoznik ClickHouse, izvoznik konzul, izvoznik CouchDB, izvoznik ElasticSearch, izvoznik Memcached, izvoznik MongoDB, MSSQL izvoznik poslužitelja, izvoznik poslužitelja MySQL, izvoznik OpenTSDB, izvoznik PgBouncer, izvoznik PostgreSQL ili izvoznik ProxySQL.
Sada ćemo vidjeti kako instalirati Prometheus na Ubuntu 17.04.
1. Nginx instalacija
Korak 1
Prva stvar koju treba imati na umu je da se Nginx mora instalirati u Ubuntu, ako ga nemamo, izvršit ćemo sljedeću naredbu:
sudo apt instalirajte nginx
Korak 2
Tamo ćemo unijeti slovo S kako bismo potvrdili preuzimanje i instaliranje potrebnih paketa. Nakon instaliranja bit će potrebno konfigurirati postavke vatrozida Ubuntu kako bi se omogućio pristup usluzi Nginx, za to ćemo izvršiti sljedeći redak s popisom konfiguracija aplikacija ufw:
sudo ufw popis aplikacija
Na razini Nginxa imamo sljedeće mogućnosti
- Nginx Full: Ovaj profil otvara i port 80 (normalni, nešifrirani web promet) i port 443 (šifrirani TLS / SSL promet)
- Nginx HTTP: Ovaj profil otvara samo port 80 (normalan, nešifriran web promet)
- Nginx HTTPS: Ovaj profil otvara samo port 443 (šifrirani TLS / SSL promet)
Korak 3
U ovom slučaju izvršit ćemo sljedeći redak:
sudo ufw dopusti 'Nginx HTTP'
Korak 4
Možemo vidjeti da je stanje vatrozida u nekim slučajevima neaktivno i mora biti potrebno aktivirati ga, za to izvršavamo sljedeće:
sudo ufw omogućiti
Nakon što konfiguriramo ove parametre u vatrozidu, nastavljamo s instalacijom Prometheusa.
Prijava Pridružite se!