De mai multe ori am vorbit despre scalabilitatea pe care distribuțiile Linux ni le oferă, având mii de aplicații open source care pot fi instalate în ele și astfel extind semnificativ capacitatea de utilizare și dezvoltare a serviciilor și rolurilor.
Putem găsi aplicații pentru toate tipurile de sarcini la nivel personal sau corporativ și astăzi Solvetic va analiza în detaliu una care este izbitoare datorită potențialului său dinamism atunci când vine vorba de colectarea mai multor tipuri de valori și oferindu-ne rapoarte detaliate care vor fi foarte utile. când vine vorba de gestionarea și sprijinul nostru.
Această aplicație se numește Prometheus și astăzi vom vedea cum să o instalăm în Ubuntu 17.04 într-un mod practic.
Ce este PrometeuPrometheus este un sistem puternic de monitorizare open source care colectează valorile serviciilor noastre și le stochează într-o bază de date de serii temporale. Ne oferă un model de date multidimensional, un limbaj de interogare flexibil și diverse posibilități de vizualizare prin instrumente precum Grafana.
În mod implicit, Prometeu exportă numai valori despre sine, de exemplu numărul de solicitări primite, consumul de memorie, printre altele. Cu toate acestea, este posibil să extindeți Prometheus prin instalarea exportatorilor care sunt programe opționale care generează valori suplimentare și detaliate ale altor aspecte care trebuie analizate.
Acești exportatori se concentrează pe infrastructură, baze de date și servere web în sisteme de mesagerie, API-uri și multe altele.
Unii dintre exportatorii pe care ni-i oferă Prometeu sunt:
nod_exportatorAcest exportator produce valori pe infrastructura echipamentelor, inclusiv utilizarea curentă a procesorului, a memoriei și a hard diskului, precum și I / O și statistici de rețea (cum ar fi numărul de octeți citiți de pe un disc sau încărcarea medie pe un disc). Server)
blackbox_exporterCu acest exportator vom putea genera valori derivate din protocoale de navigare precum HTTP și HTTPS pentru a determina disponibilitatea punctelor finale, timpul de răspuns și multe altele.
mysqld_exporterFuncția acestui exportator este de a colecta valori referitoare la un server MySQL, cum ar fi numărul de interogări executate, timpul mediu de răspuns al interogărilor și starea de replicare a clusterului.
rabbitmq_exporterAcest exportator generează valori despre sistemul de mesagerie RabbitMQ, inclusiv detalii precum numărul de mesaje publicate, numărul de mesaje gata de livrare și dimensiunea tuturor mesajelor din coadă.
nginx-vts-exporterCu acest exportator vom obține valori pe un server web Nginx utilizând modulul Nginx VTS, care include numărul de conexiuni deschise, numărul de răspunsuri trimise (grupate după coduri de răspuns) și dimensiunea totală a solicitărilor trimise sau primite în octeți.
Caracteristici PrometeuUnele dintre cele mai remarcabile caracteristici ale lui Prometeu sunt:
- Dimensiunea datelor, deoarece Prometheus stochează toate datele ca serii temporale utilizând fluxuri de valori temporale care aparțin aceleiași valori și aceluiași set de dimensiuni etichetate. În plus, Prometeu poate genera serii temporale derivate din timp ca urmare a interogărilor.
- Interogări dinamice. În acest sens, Prometheus oferă un limbaj de expresie funcțional prin intermediul căruia utilizatorul poate selecta și agrega date în timp real în timp real. Rezultatul unei expresii poate fi afișat ca un grafic, vizualizat ca date tabulare în browserul de expresii Prometheus sau executat de sisteme externe prin intermediul API-ului HTTP.
- Diverse opțiuni de afișare, deoarece Prometheus include Grafana, disponibilă de la Grafana 2.5.0 (2015-10-28).
- Stocare eficientă, deoarece Prometheus are un subsistem de stocare local sofisticat. Pentru indici, folosește LevelDB. Pentru datele eșantionului în bloc, are propriul strat de stocare personalizat, care organizează datele eșantionului în bucăți de dimensiune constantă (1024 octeți sarcină utilă). Aceste bucăți sunt stocate pe disc într-un fișier per serie de timp.
- Funcționare simplă, deoarece Prometheus este configurat prin parametrii liniei de comandă și un fișier de configurare. În timp ce linia de comandă solicită configurarea parametrilor de sistem imuabili (cum ar fi locațiile de stocare, cantitatea de date de salvat pe disc și în memorie), fișierul de configurare definește tot ceea ce ține de lucrările de răzuire și instanțele acestora, precum și fișierele de reguli încărcate cu aplicația .
- Alertare precisă, având opțiunea de a crea reguli de alertă care ne permit să definim condițiile de alertă pe baza valorilor limbajului expresiei Prometheus și să trimitem notificări despre alerte declanșatoare către un serviciu extern la un moment dat și astfel să fim conștienți de orice modificare.
- Biblioteci multiple, datorită faptului că Prometheus ne oferă o serie de biblioteci compatibile precum Java sau Scala, Python, Rubí, Bash, C ++, Common Lisp, Elixir, Erlang, Haskell, Lua pentru Nginx, Lua pentru Tarantool,. NET / C #, Node.js, PHP și Rust.
- Integrare multiplă, deoarece avem mai multe biblioteci și servere care ajută la exportul valorilor existente de la sisteme terțe către valorile Prometheus, unele dintre acestea sunt exportator Aerospike, exportator ClickHouse, exportator Consul, exportator CouchDB, exportator ElasticSearch, exportator Memcached, exportator MongoDB, MSSQL exportator server, exportator server MySQL, exportator OpenTSDB, exportator PgBouncer, exportator PostgreSQL sau exportator ProxySQL.
Acum vom vedea cum se instalează Prometheus pe Ubuntu 17.04.
1. Instalare Nginx
Pasul 1
Primul punct de reținut este că Nginx trebuie instalat în Ubuntu, dacă nu îl avem, vom executa următoarea comandă:
sudo apt instalează nginx
Pasul 2
Acolo vom introduce litera S pentru a confirma descărcarea și instalarea pachetelor necesare. Odată instalat, va fi necesar să configurați setările firewall-ului Ubuntu pentru a permite accesul la serviciul Nginx, pentru aceasta vom executa următoarea linie pentru a lista configurațiile aplicațiilor ufw:
lista de aplicații sudo ufw
La nivelul Nginx avem următoarele opțiuni
- Nginx Full: Acest profil deschide atât portul 80 (trafic web normal, necriptat), cât și portul 443 (trafic TLS / SSL criptat)
- HTTP Nginx: acest profil deschide doar portul 80 (trafic web normal, necriptat)
- Nginx HTTPS: acest profil deschide doar portul 443 (trafic TLS / SSL criptat)
Pasul 3
Pentru acest caz vom executa următoarea linie:
sudo ufw permite „Nginx HTTP”
Pasul 4
Putem vedea că starea firewall-ului este inactivă, în unele cazuri, și trebuie să fie necesară activarea acestuia, pentru aceasta executăm următoarele:
sudo ufw activate
Odată ce configurăm acești parametri în firewall, continuăm cu instalarea Prometheus.
Autentificare Înscrie-te!