GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Prometheus na Ubuntu 18.04

Prometheus je velmi výkonný open-source monitorovací a výstražný systém vhodný pro dynamická prostředí, jako je cloudový prostor. Jedná se o samostatný projekt spravovaný komunitou s mnoha společnostmi a organizacemi, které přispívají k jeho zdrojovému kódu. Většina komponent Prometheus je napsána v Go, takže je lze snadno sestavit a nasadit jako statické binární soubory. Zřídkakdy budete potřebovat kompilovat aplikaci z kódu.

Prometheus je schopen zaznamenávat jakékoli čistě numerické časové řady, a to jak pro strojově orientovaná monitorování, jako jsou systémy Linux, tak pro monitorování vysoce dynamických architektur orientovaných na služby. Vizualizační nástroje jako Grafana podporují dotazování Prometheus se zdrojem dat Grafana pro Prometheus, který je součástí Grafany 2.5.0.

V této příručce se budeme zabývat tím, jak nainstalovat Prometheus na server Ubuntu 18.04.

Součásti Prometheus

Ekosystém Prometheus se skládá z různých komponent, které společně zajišťují kompletní monitorovací a výstražný systém. Většina komponent je volitelná a stačí je nainstalovat na vyžádání. Hlavní součásti jsou:

  • Server Prometheus – sbírá a ukládá data časových řad z klientských systémů a aplikací.
  • Exportéry – používají se při exportu existujících metrik ze systémů třetích stran jako metriky Prometheus.
  • Správce výstrah používaný ke zpracování výstrah
  • Klientské knihovny pro instrumentaci kódu aplikace

Funkce Promethea

Hlavní rysy Promethea jsou:

  • vícerozměrný datový model s daty časových řad identifikovaných podle názvu metriky a párů klíč/hodnota
  • Má velmi flexibilní dotazovací jazyk pro využití jeho vícerozměrného modelu
  • Jednotlivé serverové uzly jsou autonomní a nespoléhají na distribuované úložiště.
  • Shromažďování časových řad Prometheus používá model pull přes protokol HTTP
  • Má automatické zjišťování cílů službou a pro totéž lze použít konfigurační soubory.
  • Přesun časových řad je podporován prostřednictvím zprostředkující brány
  • Prometheus podporuje více režimů grafů a řídicích panelů

Instalace Promethea na Ubuntu 18.04

Protože je Prometheus napsán v Go, jsou jeho balíčky distribuovány jako binární soubory. V době psaní tohoto článku je nejnovější vydání Promethea v2.2.1 . Vydání můžete zkontrolovat na oficiální stránce ke stažení. Poskytnuté balíčky jsou pro operační systémy macOS, Linux a Windows, takže se ujistěte, že stahujete správný balíček.

$ sudo su -
$ export RELEASE="2.2.1"
$ wget https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz

Po stažení archiv rozbalte pomocí tar.

$ tar xvf prometheus-${RELEASE}.linux-amd64.tar.gz
prometheus-2.2.1.linux-amd64/
prometheus-2.2.1.linux-amd64/consoles/
prometheus-2.2.1.linux-amd64/consoles/index.html.example
prometheus-2.2.1.linux-amd64/consoles/node-cpu.html
prometheus-2.2.1.linux-amd64/consoles/node-disk.html
prometheus-2.2.1.linux-amd64/consoles/node-overview.html
prometheus-2.2.1.linux-amd64/consoles/node.html
prometheus-2.2.1.linux-amd64/consoles/prometheus-overview.html
prometheus-2.2.1.linux-amd64/consoles/prometheus.html
prometheus-2.2.1.linux-amd64/console_libraries/
prometheus-2.2.1.linux-amd64/console_libraries/menu.lib
prometheus-2.2.1.linux-amd64/console_libraries/prom.lib
prometheus-2.2.1.linux-amd64/prometheus.yml
prometheus-2.2.1.linux-amd64/LICENSE
prometheus-2.2.1.linux-amd64/NOTICE
prometheus-2.2.1.linux-amd64/prometheus
prometheus-2.2.1.linux-amd64/promtool

Přejděte do nově vytvořeného adresáře z extrahovaných souborů.

# cd prometheus-${RELEASE}.linux-amd64/

Vytvořit skupinu systémů Prometheus

Prometheus potřebuje svého vlastního uživatele a skupinu, aby mohl běžet jako.

# groupadd --system prometheus
# grep prometheus /etc/group
prometheus:x:999:

Vytvořit uživatele systému Prometheus

Nyní, když máme skupinu Prometheus, vytvořte uživatele a přiřaďte mu vytvořenou skupinu.

# useradd -s /sbin/nologin -r -g prometheus prometheus
# id prometheus
uid=999(prometheus) gid=999(prometheus) groups=999(prometheus)

Vytvořte konfigurační a datové adresáře pro Prometheus

Prometheus potřebuje adresář pro ukládání dat a konfiguračních souborů. Vytvoříme /var/lib/prometheus pro data a /etc/prometheus pro konfigurační soubory.

# mkdir -p /etc/prometheus/{rules,rules.d,files_sd}  /var/lib/prometheus

Zkopírujte binární soubory Prometheus do adresáře ve vaší $PATH

Preferovaný adresář pro umístění binárních souborů třetích stran na Linux je /usr/local/bin/ protože je ve výchozím nastavení v $PATH a nezasahuje do systémových binárních souborů.

# cp prometheus promtool /usr/local/bin/
# ls /usr/local/bin/
prometheus promtool

Zkopírujte konzoly a knihovny console_libraries do adresáře konfiguračních souborů

Soubory a knihovny konzoly je třeba umístit do /etc/prometheus/ adresář.

# cp -r consoles/ console_libraries/ /etc/prometheus/

Vytvořit soubor systemd unit:

Ubuntu 18.04 standardně používá systém systemd init, potřebujeme vytvořit soubor servisní jednotky pro správu služby Prometheus. Soubor dáme do /etc/systemd/system adresář. Název souboru musí končit .service

# cat /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus systemd service unit
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries \
--web.listen-address=0.0.0.0:9090

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Všimněte si, že:

  • Službu vážeme na 0.0.0.0:9090 . To bude dostupné ze všech síťových rozhraní na serveru. Omezte to zadáním IP adresy pro rozhraní, které chcete použít, 127.0.0.1 pouze pro místní přístup.
  • Zadaný konfigurační soubor je /etc/prometheus/prometheus.yml . Vytvoříme základní konfigurační soubor k dalšímu použití.

Vytvořit konfigurační soubor Prometheus

Toto bude umístěno do /etc/prometheus/ adresář.

# cat  /etc/prometheus/prometheus.yml
# Global config
global: 
 scrape_interval: 15s # Set the scrape interval to every 15 seconds.
 evaluation_interval: 15s # Evaluate rules every 15 seconds. 
 scrape_timeout: 15s # scrape_timeout is set to the global default (10s).

# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.
scrape_configs:
 # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
 - job_name: 'prometheus'

# metrics_path defaults to '/metrics'
 # scheme defaults to 'http'.

static_configs:
 - targets: ['localhost:9090']

Další možnosti konfigurace naleznete v oficiální příručce konfigurace Prometheus.

Změňte oprávnění k adresáři pro uživatele a skupinu Prometheus

Vlastníkem souborů a dat Prometheus by měl být jeho uživatel a skupina.

# chown -R prometheus:prometheus /etc/prometheus/  /var/lib/prometheus/
# chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Spusťte a povolte službu Prometheus

Spusťte a povolte spuštění služby Prometheus při spuštění.

# systemctl start prometheus
# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /etc/systemd/system/prometheus.service.

Zkontrolujte stav:

# systemctl status prometheus


Ujistěte se, že port 9090 naslouchá.

# netstat -tunlp | grep 9090
tcp6 0 0 :::9090 :::* LISTEN 2140/prometheus

# telnet 127.0.0.1 9090
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
^]
If you have a firewall like ufw, Open port 9090 to be able to access it from a remote device.

# ufw allow 9090
Rule added
Rule added (v6)

Chcete-li povolit konkrétní síť, použijte:

# ufw allow from 192.168.10.0/24 to any port 9090
Rule added

# ufw status
Status: active

To Action From
-- ------ ----
9090 ALLOW Anywhere 
9090 ALLOW 192.168.10.0/24 
9090 (v6) ALLOW Anywhere (v6)

Chcete-li získat webové rozhraní, otevřete http://ip:9090

Další věcí, na kterou se možná budete chtít podívat, je konfigurace různých exportérů pro sběr metrik a vizualizaci. Nejlepší místo, kde začít, je stránka Exporters Instrumentation.


Ubuntu
  1. Jak nainstalovat R na Ubuntu 16.04

  2. Jak nainstalovat Go na Ubuntu 18.04

  3. Jak nainstalovat Prometheus na Ubuntu 20.04

  1. Jak nainstalovat Odoo na Ubuntu

  2. Jak nainstalovat Maven na Ubuntu

  3. Jak nainstalovat Wine na Ubuntu

  1. Jak nainstalovat Ruby na Ubuntu 20.04

  2. Jak nainstalovat PuTTY na Ubuntu

  3. Jak nainstalovat R na Ubuntu 20.04