Ved flere anledninger har vi snakket om skalerbarheten som Linux distros tilbyr oss ved å ha tusenvis av åpen kildekode -applikasjoner som kan installeres i dem og dermed utvide kapasiteten for bruk og utvikling av tjenester og roller betydelig.
Vi kan finne applikasjoner for alle typer oppgaver på personlig eller bedriftsnivå, og i dag vil Solvetic i detalj analysere en som er slående på grunn av dens potensielle dynamikk når det gjelder å samle flere typer beregninger og tilby oss detaljerte rapporter som vil være svært nyttige når det gjelder vår ledelse og støtte.
Denne applikasjonen kalles Prometheus, og i dag skal vi se hvordan du installerer den i Ubuntu 17.04 på en praktisk måte.
Hva er PrometheusPrometheus er et kraftig open source -overvåkingssystem som samler beregningene til våre tjenester og lagrer dem i en tidsseriedatabase. Den tilbyr oss en flerdimensjonal datamodell, et fleksibelt spørrespråk og ulike visualiseringsmuligheter gjennom verktøy som Grafana.
Som standard eksporterer Prometheus bare beregninger om seg selv, for eksempel antall mottatte forespørsler, minneforbruk, blant andre. Det er imidlertid mulig å utvide Prometheus ved å installere eksportører som er valgfrie programmer som genererer ytterligere og detaljerte beregninger av andre aspekter som skal analyseres.
Disse eksportørene er fokusert på infrastruktur, databaser og webservere i meldingssystemer, APIer og mange flere.
Noen av eksportørene Prometheus tilbyr oss er:
node_exporterDenne eksportøren produserer beregninger på utstyrsinfrastruktur, inkludert gjeldende CPU, minne og harddiskbruk, samt I / O og nettverksstatistikk (for eksempel antall byte som er lest fra en disk eller gjennomsnittlig belastning på en disk).)
blackbox_exporterMed denne eksportøren vil vi kunne generere beregninger fra nettleserprotokoller som HTTP og HTTPS for å bestemme tilgjengeligheten av endepunktene, responstiden og mer.
mysqld_exporterFunksjonen til denne eksportøren er å samle beregninger knyttet til en MySQL -server, for eksempel antall utførte søk, gjennomsnittlig responstid for spørringene og replikeringsstatusen for klyngen.
rabbitmq_exporterDenne eksportøren genererer beregninger om RabbitMQ -meldingssystemet, inkludert detaljer som antall meldinger som er publisert, antall meldinger som er klare til levering og størrelsen på alle meldingene i køen.
nginx-vts-eksportørMed denne eksportøren får vi beregninger på en Nginx -webserver som bruker Nginx VTS -modulen, som inkluderer antall åpne tilkoblinger, antall svar som er sendt (gruppert etter responskoder) og den totale størrelsen på forespørslene som er sendt eller mottatt i byte.
Prometheus -funksjonerNoen av de mest fremragende egenskapene til Prometheus er:
- Datadimensjon, ettersom Prometheus lagrer alle data som tidsserier ved hjelp av strømmer av tidsverdier som tilhører samme beregning og det samme settet med merkede dimensjoner. I tillegg kan Prometheus generere tidsavledede tidsserier som et resultat av spørringer.
- Dynamiske spørringer. I denne forbindelse tilbyr Prometheus et funksjonelt uttrykksspråk som brukeren kan velge og samle tidsseriedata i sanntid. Resultatet av et uttrykk kan vises som en graf, sett på som tabelldata i Prometheus -uttrykksleseren, eller utført av eksterne systemer via HTTP API.
- Ulike visningsalternativer, siden Prometheus inkluderer Grafana som er tilgjengelig siden Grafana 2.5.0 (2015-10-28).
- Effektiv lagring, fordi Prometheus har et sofistikert lokalt lagringsundersystem. For indekser bruker den LevelDB. For bulkprøvedata har den et eget tilpasset lagringslag, som organiserer eksempeldataene i biter med konstant størrelse (1024 bytes nyttelast). Disse biter lagres på disken i en fil per tidsserie.
- Enkel betjening ettersom Prometheus konfigureres via kommandolinjeparametere og en konfigurasjonsfil. Mens kommandolinjebeskjedene konfigurerer uforanderlige systemparametere (for eksempel lagringsplasser, mengde data som skal lagres på disk og i minne), definerer konfigurasjonsfilen alt som er knyttet til skrapjobber og deres forekomster, samt regelfilene som er lastet med programmet .
- Presis varsling, ved å ha muligheten til å opprette varslingsregler som lar oss definere varslingsbetingelser basert på Prometheus uttrykksspråkverdier og sende varsler om utløservarsler til en ekstern tjeneste på et gitt tidspunkt og dermed være klar over eventuelle endringer.
- Flere biblioteker, takket være det faktum at Prometheus tilbyr oss en serie 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 integrasjoner, ettersom vi har flere biblioteker og servere som hjelper til med å eksportere eksisterende beregninger fra tredjepartssystemer til Prometheus -beregninger, noen av 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.
Nå skal vi se hvordan du installerer Prometheus på Ubuntu 17.04.
1. Nginx installasjon
Trinn 1
Det første punktet du må huske på er at Nginx må installeres i Ubuntu, hvis vi ikke har det, vil vi utføre følgende kommando:
sudo apt installer nginx
Steg 2
Der vil vi skrive inn bokstaven S for å bekrefte nedlasting og installasjon av de nødvendige pakkene. Når den er installert, vil det være nødvendig å konfigurere Ubuntu -brannmurinnstillingene for å gi tilgang til Nginx -tjenesten, for dette vil vi utføre følgende linje for å vise konfigurasjonene til ufw -programmene:
sudo ufw app liste
På Nginx -nivå har vi følgende alternativer
- Nginx Full: Denne profilen åpner både port 80 (normal, ukryptert webtrafikk) og port 443 (kryptert TLS / SSL -trafikk)
- Nginx HTTP: Denne profilen åpner bare port 80 (normal, ukryptert webtrafikk)
- Nginx HTTPS: Denne profilen åpner bare port 443 (kryptert TLS / SSL -trafikk)
Trinn 3
I dette tilfellet vil vi utføre følgende linje:
sudo ufw tillate 'Nginx HTTP'
Trinn 4
Vi kan se at brannmurens tilstand er inaktiv, i noen tilfeller, og det må være nødvendig å aktivere den, for dette utfører vi følgende:
sudo ufw aktivere
Når vi har konfigurert disse parameterne i brannmuren, fortsetter vi med Prometheus -installasjonen.
Logg inn Bli med!