Ved flere lejligheder har vi talt om den skalerbarhed, Linux distros tilbyder os ved at have tusindvis af open source -applikationer, der kan installeres i dem og dermed udvide kapaciteten til brug og udvikling af tjenester og roller betydeligt.
Vi kan finde applikationer til alle typer opgaver på personligt eller virksomhedsniveau, og i dag vil Solvetic analysere detaljeret en, der er slående på grund af dens potentielle dynamik, når det kommer til at indsamle flere typer metrics og tilbyde os detaljerede rapporter, der vil være meget nyttige når det kommer til vores ledelse og support.
Denne applikation kaldes Prometheus, og i dag vil vi se, hvordan du installerer den i Ubuntu 17.04 på en praktisk måde.
Hvad er PrometheusPrometheus er et kraftfuldt open source -overvågningssystem, der samler metrics for vores tjenester og gemmer dem i en tidsseriedatabase. Det giver os en multidimensionel datamodel, et fleksibelt forespørgselssprog og forskellige visualiseringsmuligheder gennem værktøjer som Grafana.
Som standard eksporterer Prometheus kun metrics om sig selv, f.eks. Antallet af modtagne anmodninger, hukommelsesforbrug, blandt andre. Det er imidlertid muligt at udvide Prometheus ved at installere eksportører, som er valgfrie programmer, der genererer yderligere og detaljerede metrik for andre aspekter, der skal analyseres.
Disse eksportører er fokuseret på infrastruktur, databaser og webservere i messaging -systemer, API'er og mange flere.
Nogle af de eksportører, Prometheus tilbyder os, er:
node_exporterDenne eksportør producerer metrics på udstyrsinfrastruktur, herunder nuværende CPU, hukommelse og harddiskbrug, samt I / O- og netværksstatistik (f.eks. Antallet af bytes, der læses fra en disk eller den gennemsnitlige belastning på en disk).)
blackbox_exporterMed denne eksportør vil vi være i stand til at generere metrics, der stammer fra browsingprotokoller som HTTP og HTTPS for at bestemme tilgængeligheden af endepunkterne, responstiden og mere.
mysqld_exporterDenne eksportørs funktion er at indsamle metrics relateret til en MySQL -server, f.eks. Antallet af henvendte forespørgsler, forespørgslernes gennemsnitlige svartid og replikationsstatus for klyngen.
rabbitmq_exporterDenne eksportør genererer metrics om RabbitMQ -meddelelsessystemet, herunder detaljer såsom antallet af offentliggjorte meddelelser, antallet af meddelelser, der er klar til levering, og størrelsen på alle meddelelser i køen.
nginx-vts-eksportørMed denne eksportør opnår vi metrics på en Nginx -webserver, der gør brug af Nginx VTS -modulet, som omfatter antallet af åbne forbindelser, antallet af svar, der er sendt (grupperet efter responskoder) og den samlede størrelse af de anmodninger, der sendes eller modtages i bytes.
Prometheus funktionerNogle af de mest fremragende funktioner i Prometheus er:
- Datadimension, da Prometheus gemmer alle data som tidsserier ved hjælp af strømme af tidsværdier, der tilhører den samme metrik og det samme sæt med mærkede dimensioner. Derudover kan Prometheus generere tidsafledte tidsserier som et resultat af forespørgsler.
- Dynamiske forespørgsler. I denne forbindelse tilbyder Prometheus et funktionelt udtrykssprog, hvorigennem brugeren kan vælge og aggregere tidsseriedata i realtid. Resultatet af et udtryk kan vises som en graf, ses som tabulære data i Prometheus -udtryksbrowseren eller eksekveres af eksterne systemer via HTTP API.
- Forskellige visningsmuligheder, da Prometheus inkluderer Grafana, som er tilgængelig siden Grafana 2.5.0 (2015-10-28).
- Effektiv opbevaring, fordi Prometheus har et sofistikeret delsystem til lokal opbevaring. For indekser gør den brug af LevelDB. For bulkprøvedata har det sit eget brugerdefinerede lagringslag, som organiserer prøvedataene i bidder med konstant størrelse (1024 bytes nyttelast). Disse bidder gemmes på disken i en fil pr. Tidsserie.
- Enkel betjening, da Prometheus konfigureres via kommandolinjeparametre og en konfigurationsfil. Mens kommandolinjebeskederne konfigurerer uforanderlige systemparametre (f.eks. Lagringsplaceringer, mængde data, der skal gemmes på disk og i hukommelse), definerer konfigurationsfilen alt, der er relateret til skrapjob og deres forekomster, samt reglerfilerne, der er indlæst med applikationen .
- Præcis alarmering ved at have mulighed for at oprette advarselsregler, som giver os mulighed for at definere advarselsbetingelser baseret på Prometheus -udtrykssprogværdier og sende meddelelser om udløseradvarsler til en ekstern tjeneste på et givet tidspunkt og dermed være opmærksom på enhver ændring.
- Flere biblioteker, takket være det faktum, at Prometheus tilbyder os en række kompatible biblioteker som Java eller Scala, Python, Rubí, Bash, C ++, Common Lisp, Elixir, Erlang, Haskell, Lua for Nginx, Lua for Tarantool,. NET / C #, Node.js, PHP og Rust.
- Flere integration, da vi har flere biblioteker og servere, der hjælper med at eksportere eksisterende metrics fra tredjepartssystemer til Prometheus -metrics, nogle af disse er Aerospike -eksportør, ClickHouse -eksportør, konsuleksportør, CouchDB -eksportør, ElasticSearch -eksportør, Memcached -eksportør, MongoDB -eksportør, MSSQL servereksportør, MySQL -servereksportør, OpenTSDB -eksportør, PgBouncer -eksportør, PostgreSQL -eksportør eller ProxySQL -eksportør.
Nu vil vi se, hvordan du installerer Prometheus på Ubuntu 17.04.
1. Nginx installation
Trin 1
Det første punkt at huske på er, at Nginx skal installeres i Ubuntu, hvis vi ikke har det, udfører vi følgende kommando:
sudo apt installere nginx
Trin 2
Der indtaster vi bogstavet S for at bekræfte download og installation af de nødvendige pakker. Når det er installeret, vil det være nødvendigt at konfigurere Ubuntu -firewallindstillingerne for at give adgang til Nginx -tjenesten, for dette vil vi udføre følgende linje for at liste konfigurationerne af ufw -programmerne:
sudo ufw app liste
På Nginx -niveau har vi følgende muligheder
- Nginx Full: Denne profil åbner både port 80 (normal, ukrypteret webtrafik) og port 443 (krypteret TLS / SSL -trafik)
- Nginx HTTP: Denne profil åbner kun port 80 (normal, ukrypteret webtrafik)
- Nginx HTTPS: Denne profil åbner kun port 443 (krypteret TLS / SSL -trafik)
Trin 3
I dette tilfælde vil vi udføre følgende linje:
sudo ufw tillader 'Nginx HTTP'
Trin 4
Vi kan se, at firewallens tilstand i nogle tilfælde er inaktiv, og det må være nødvendigt at aktivere den, for dette udfører vi følgende:
sudo ufw aktiver
Når vi har konfigureret disse parametre i firewallen, fortsætter vi med Prometheus -installationen.
Login Tilmeld dig!