Hur man installerar Prometheus på Ubuntu 17 Linux

Innehållsförteckning

Vid flera tillfällen har vi pratat om den skalbarhet som Linux distros erbjuder oss genom att ha tusentals program med öppen källkod som kan installeras i dem och därmed avsevärt utöka kapaciteten för användning och utveckling av tjänster och roller.

Vi kan hitta applikationer för alla typer av uppgif.webpter på personlig eller företagsnivå och idag kommer Solvetic i detalj att analysera en som är slående på grund av dess potentiella dynamik när det gäller att samla in flera typer av mätvärden och erbjuda oss detaljerade rapporter som kommer att vara mycket användbara när det gäller vår ledning och support.

Denna applikation kallas Prometheus och idag får vi se hur man installerar den i Ubuntu 17.04 på ett praktiskt sätt.

Vad är PrometheusPrometheus är ett kraftfullt open source -övervakningssystem som samlar mätvärdena för våra tjänster och lagrar dem i en tidsseriedatabas. Den erbjuder oss en flerdimensionell datamodell, ett flexibelt frågespråk och olika visualiseringsmöjligheter genom verktyg som Grafana.

Som standard exporterar Prometheus bara mätvärden om sig själv, till exempel antalet mottagna förfrågningar, minnesförbrukning, bland annat. Det är dock möjligt att utöka Prometheus genom att installera exportörer som är valfria program som genererar ytterligare och detaljerade mätvärden för andra aspekter som ska analyseras.

Dessa exportörer är fokuserade på infrastruktur, databaser och webbservrar i meddelandesystem, API: er och många fler.

Några av de exportörer som Prometheus erbjuder oss är:

nod_exportörDenna exportör producerar mått på utrustningsinfrastruktur inklusive aktuell CPU, minne och hårddiskanvändning, samt I / O- och nätverksstatistik (t.ex. antalet byte som läses från en disk eller den genomsnittliga belastningen på en disk).)

blackbox_exporterMed denna exportör kommer vi att kunna generera mått som härrör från surfprotokoll som HTTP och HTTPS för att bestämma tillgängligheten för slutpunkterna, svarstiden och mer.

mysqld_exporterFunktionen för denna exportör är att samla in mått som är relaterade till en MySQL -server, till exempel antalet utförda frågor, den genomsnittliga svarstiden för frågorna och klusterens replikationsstatus.

rabbitmq_exporterDenna exportör genererar mått om RabbitMQ -meddelandesystemet, inklusive detaljer som antalet meddelanden som publicerats, antalet meddelanden som är klara att levereras och storleken på alla meddelanden i kön.

nginx-vts-exportörMed denna exportör kommer vi att få mått på en Nginx -webbserver som använder Nginx VTS -modulen, som inkluderar antalet öppna anslutningar, antalet svar som skickas (grupperade efter svarskoder) och den totala storleken på de begäranden som skickas eller tas emot i byte.

Prometheus funktionerNågra av Prometheus mest framstående funktioner är:

  • Datadimension, eftersom Prometheus lagrar all data som tidsserier med strömmar av tidsvärden som tillhör samma mätvärde och samma uppsättning märkta dimensioner. Dessutom kan Prometheus generera tidsavledda tidsserier till följd av frågor.
  • Dynamiska frågor. I detta avseende erbjuder Prometheus ett funktionellt uttrycksspråk genom vilket användaren kan välja och aggregera tidsseriedata i realtid. Resultatet av ett uttryck kan visas som en graf, ses som tabelldata i Prometheus -uttryckswebbläsaren eller köras av externa system via HTTP -API: et.
  • Olika visningsalternativ, eftersom Prometheus innehåller Grafana som är tillgängligt sedan Grafana 2.5.0 (2015-10-28).
  • Effektiv lagring, eftersom Prometheus har ett sofistikerat lokalt lagringsdelsystem. För index använder den LevelDB. För massprovdata har den ett eget anpassat lagringsskikt, som organiserar provdata i bitar med konstant storlek (1024 bytes nyttolast). Dessa bitar lagras på hårddisken i en fil per tidsserie.
  • Enkel användning eftersom Prometheus konfigureras via kommandoradsparametrar och en konfigurationsfil. Medan kommandoradsfrågorna konfigurerar oföränderliga systemparametrar (t.ex. lagringsplatser, mängden data som ska sparas på hårddisken och i minnet), definierar konfigurationsfilen allt som rör skrapjobb och deras instanser, samt reglerfiler som laddas med programmet .
  • Exakt varning genom att ha möjlighet att skapa varningsregler som gör att vi kan definiera varningsförhållanden utifrån Prometheus -uttrycksspråkvärden och skicka meddelanden om utlösarvarningar till en extern tjänst vid en given tidpunkt och på så sätt vara medvetna om eventuella förändringar.
  • Flera bibliotek, tack vare att Prometheus erbjuder oss en serie kompatibla bibliotek som Java eller Scala, Python, Rubí, Bash, C ++, Common Lisp, Elixir, Erlang, Haskell, Lua för Nginx, Lua för Tarantool,. NET / C #, Node.js, PHP och Rust.
  • Multipel integration, eftersom vi har flera bibliotek och servrar som hjälper till att exportera befintliga mätvärden från tredjepartssystem till Prometheus -mätvärden, några av dessa är Aerospike -exportör, ClickHouse -exportör, konsulsexportör, CouchDB -exportör, ElasticSearch -exportör, Memcached -exportör, MongoDB -exportör, MSSQL serverexportör, MySQL -serverexportör, OpenTSDB -exportör, PgBouncer -exportör, PostgreSQL -exportör eller ProxySQL -exportör.

Nu ska vi se hur du installerar Prometheus på Ubuntu 17.04.

1. Nginx installation

Steg 1
Den första punkten att tänka på är att Nginx måste installeras i Ubuntu, om vi inte har det kommer vi att utföra följande kommando:

 sudo apt installera nginx

Steg 2
Där anger vi bokstaven S för att bekräfta nedladdning och installation av nödvändiga paket. När det är installerat kommer det att vara nödvändigt att konfigurera Ubuntu -brandväggens inställningar för att ge åtkomst till Nginx -tjänsten, för detta kör vi följande rad för att lista konfigurationerna för ufw -programmen:

 sudo ufw app lista

På Nginx -nivån har vi följande alternativ

  • Nginx Full: Denna profil öppnar både port 80 (normal, okrypterad webbtrafik) och port 443 (krypterad TLS / SSL -trafik)
  • Nginx HTTP: Denna profil öppnar endast port 80 (normal, okrypterad webbtrafik)
  • Nginx HTTPS: Denna profil öppnar endast port 443 (krypterad TLS / SSL -trafik)

Steg 3
I det här fallet kör vi följande rad:

 sudo ufw tillåter 'Nginx HTTP'

Steg 4
Vi kan se att brandväggens tillstånd är inaktivt, i vissa fall, och det måste vara nödvändigt att aktivera det, för detta utför vi följande:

 sudo ufw aktivera

När vi har konfigurerat dessa parametrar i brandväggen fortsätter vi med Prometheus -installationen.


Logga in Gå med!

wave wave wave wave wave