Prometheus je open source nástroj pro monitorování, dotazování a upozorňování. Tento nástroj s bohatými funkcemi, který původně vytvořila společnost Soundcloud v roce 2012, přijalo několik společností, aby monitorovaly svou IT infrastrukturu a zajistily hladký chod všech systémů. Prometheus vám umožňuje dotazovat se a získávat metriky časových řad, jako je využití CPU a paměti přes protokol HTTP a vizualizovat je na grafech v reálném čase. Prometheus můžete také nakonfigurovat tak, aby posílal upozornění v případě výpadku uzlu nebo služby a integroval jej s dalšími monitorovacími nástroji třetích stran, jako je Grafana pro lepší vizualizaci dat. V této příručce se podíváme na instalaci Promethea na systém CentOS 8 /RHEL 8.
Krok 1) Vytvoření uživatele a skupiny Prometheus
Pro začátek vytvoříme uživatele systému pro Prometheus. Chcete-li toho dosáhnout, spusťte níže uvedený příkaz.
[[e-mail chráněný] ~]# useradd -m -s /bin/false prometheus[[e-mail chráněný] ~]# id prometheusuid=1002(prometheus) gid=1002(prometheus) groups=1002(prometheus)[[ e-mail chráněný] ~]#
Jak jste si možná všimli, systémový uživatel nemá žádná přihlašovací oprávnění, jak je uvedeno ve volbě /bin/false
Krok 2) Vytvoření konfiguračních adresářů pro Prometheus
Jakmile bude vytvořen uživatel pro Prometheus, vytvoříme konfigurační adresáře v adresářích /etc a /var, ve kterých budou uloženy konfigurační soubory a data Prometheus. Spusťte tedy níže uvedené příkazy:
[[chráněn e-mailem] ~]# mkdir /etc/prometheus[[chráněn e-mailem] ~]# mkdir /var/lib/prometheus
Nastavte vlastnictví na /var/lib/prometheus
[[email protected] ~]# chown prometheus /var/lib/prometheus/
Krok 3) Stažení souboru tar Prometheus
S adresáři na místě si nyní můžeme stáhnout Prometheus. Chcete-li získat nejnovější verzi, přejděte na stránku Ke stažení, kde získáte nejnovější verzi pro své prostředí. V době psaní tohoto článku byla nejnovější verze v 2.14.0. Případně stačí spustit příkaz níže
[[chráněno e-mailem] ~]# instalace dnf wget -y[[chráněno e-mailem] ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0 .linux-amd64.tar.gz -P /tmp
Po dokončení stahování extrahujte soubor tarball, jak je znázorněno
[[email protected] tmp]# tar -zxpvf prometheus-2.14.0.linux-amd64.tar.gz
Zůstane vám adresář s názvem prometheus-2.14.0.linux-amd64
Pro zobrazení adresářové struktury použijte příkaz tree,
Extrahovaný adresář obsahuje 2 binární soubory prometheus &promtool, které musíme zkopírovat do cesty /usr/local/bin.
Přejděte do extrahovaného adresáře a zkopírujte je pomocí příkazu:
[[email protected] ~]# cd /tmp/prometheus-2.14.0.linux-amd64[[email protected] prometheus-2.14.0.linux-amd64]# cp prometheus /usr/local/binUdělejte totéž jako u druhého binárního souboru
[[email protected] prometheus-2.14.0.linux-amd64]# cp promtool /usr/local/binKrok 4) Vytvoření konfiguračního souboru pro Prometheus
Chcete-li začít s konfigurací, vytvořte soubor /etc/prometheus/prometheus.yml a vložte konfiguraci do souboru
[[email protected] ~]# vi /etc/prometheus/prometheus.yml# Global configglobal: scrape_interval: 15s # Nastavte interval škrábání na každých 15 sekund. Výchozí nastavení je každou 1 minutu. assessment_interval:15s # Vyhodnoťte pravidla každých 15 sekund. Výchozí nastavení je každou 1 minutu. scrape_timeout:15s # scrape_timeout je nastaveno na globální výchozí hodnotu (10s).# Konfigurace scrape obsahující přesně jeden koncový bod pro scrape:# Zde je samotný Prometheus.scrape_configs: # Název úlohy je přidán jako štítek `job=` na všechny časové řady seškrábané z této konfigurace. - job_name:'prometheus' # metrics_path výchozí hodnota '/metrics' # výchozí schéma schéma 'http'. static_configs: – cíle:['localhost:9090'] Toto bude monitorovat pouze váš lokální systém (Prometheus Server).
Dále upravte firewall následovně, aby umožňoval externí připojení k serveru přes port 9090
[[chráněno e-mailem] ~]# cmd brány firewall --add-port=9090/tcp --permanentsuccess[[chráněn e-mailem] ~]# cmd brány firewall --reloadsuccess[[chráněn e-mailem] ~]#Krok 5) Vytvoření souboru služby Systemd pro server Prometheus
Abychom mohli spravovat Prometheus jako službu pomocí systemd, musíme pro něj vytvořit systémový soubor. Vytvořte tedy soubor podle obrázku a vložte obsah
[[email protected] ~]# vi /etc/systemd/system/prometheus.service[Unit]Description=Prometheus Time Series Collection and Processing ServerWants=network-online.targetAfter=network-online.target[Service]User =prometheusGroup=prometheusType=simpleExecStart=/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[Install]WantedBy=multi-user.targetAby se změny projevily, znovu načtěte systemctl,
[[email protected] ~]# systemctl daemon-reloadNyní spusťte a povolte spuštění Promethea při spouštění
[[email protected] ~]# systemctl spustí prometheus[[email protected] ~]# systemctl povolí prometheusAbyste se ujistili, že Prometheus běží, spusťte příkaz:
[[email protected] ~]# systemctl status prometheus
Ze zobrazeného výstupu jasně vidíme, že Prometheus běží podle očekávání bez chyb. Také můžete použít nástroj netstat ke kontrole, zda služba naslouchá na portu 9090.
[[email protected] ~]# netstat -tunlp
To je skvělé! Prometheus běží na portu 9090 podle očekávání. Nyní přejděte do svého prohlížeče a procházejte IP svého serveru, jak je znázorněno
http://server-ip:9090
Klikněte na „Stav “ a poté klikněte na „Cíle '
Váš systém se zobrazí jako na obrázku
Krok 6) Nainstalujte a nakonfigurujte node_exporter
Export uzlů je nástroj, který shromažďuje a dodává širokou škálu systémových metrik Linuxu, jako je CPU, využití paměti, souborové systémy a statistiky sítě. V této části se chystáme nainstalovat node_exporter na server Prometheus a na vzdáleném hostiteli CentOS 8 Linux a sledovat systémové metriky na dvou hostitelích.
V uzlu Prometheus vytvoříme systémového uživatele pro node_exporter.
[[email protected] ~]# useradd -m -s /bin/false node_exporterDále přejděte na stránku stahování Prometheus a stáhněte si soubor node_exporter tarball nebo použijte příkaz wget k jeho stažení z příkazového řádku,
[[email protected] ~]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gzPo stažení souboru node_exporter pokračujte a extrahujte jej podle obrázku
[[email protected] ~]# tar -zxpvf node_exporter-0.18.1.linux-amd64.tar.gzObsah extrahované složky můžete zkontrolovat pomocí příkazu stromu, jak je znázorněno
[[email protected] ~]# tree node_exporter-0.18.1.linux-amd64
Dále zkopírujte binární soubor s názvem node_exporter do /usr/local/bin path
[[email protected] ~]# cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/binDále nastavte oprávnění souboru node_exporter, který byl zkopírován, jak je znázorněno
[[email protected] ~]# chown node_exporter:node_exporter /usr/local/bin/node_exporterDále musíme nakonfigurovat node_exporter, aby běžel jako služba. Pokračujte tedy a vytvořte soubor služby systemd, jak je znázorněno
[[email protected] ~]# vi /etc/systemd/system/node_exporter.servicePoté vložte konfiguraci zobrazenou níže a uložte soubor
[Unit]Description=Prometheus Node ExporterWants=network-online.targetAfter=network-online.target[Service]User=node_exporterGroup=node_exporterType=simpleExecStart=/usr/local/bin/node_exporter[Install]Wanti .targetAby se změny projevily, znovu načtěte správce systému pomocí příkazu:
[[email protected] ~]# systemctl daemon-reloadDále spusťte a povolte službu node_exporter
[[email protected] ~]# systemctl start node_exporter[[email protected] ~]# systemctl enable node_exporterAbyste se ujistili, že služba běží, spusťte:
[[e-mail chráněn] ~]# status ctl node_exporter
Abyste se ujistili, že služba běží, použijte nástroj netstat ke kontrole, zda naslouchá na portu 9100, jak je standardně očekáváno.
[[e-mail chráněný] ~]# netstat -pnltu | grep 9100tcp6 0 0 :::9100 :::* POSLECHNOUT 3472/node_exporter[[e-mail chráněno] ~]#Perfektní! Služba Node_exporter běží podle očekávání.
Dále otevřete port 9100 ve firewallu, jak je znázorněno
[[chráněno e-mailem] ~]# cmd brány firewall --add-port=9100/tcp --permanentsuccess[[chráněn e-mailem] ~]# cmd brány firewall --reloadsuccess[[chráněn e-mailem] ~]#Opakujte kroky popsané pro vzdálený systém CentOS 8 Linux také.
Nakonec musíte přidat cíl node_exporter do souboru prometheus.yml. Připojením řádků níže definujte node_exporter pro server Prometheus
[[email protected] ~]# vi /etc/prometheus/prometheus.yml----------- job_name:'node_exporter' static_configs: - targets:['localhost:9100']
Restartujte službu Prometheus
[[email protected] ~]# systemctl restart prometheusZnovu přejděte do prohlížeče a klikněte na „Stav “ a klikněte na „Cíle '
Nezapomeňte v prohlížeči sledovat nový koncový bod s názvem node_exporter pro server Prometheus
Chcete-li přidat koncový bod pro vzdálený systém Linux vraťte se na prometheus.yml soubor a připojte řádek níže
– cíle:[‘192.168.10.90:9100’]
Sekce node_exporter by nyní měla vypadat takto
- job_name:'node_exporter' static_configs: - targets:['localhost:9100'] - targets:['192.168.10.90:9100']Uložte změny a restartujte službu Prometheus
[[email protected] ~]# systemctl restart prometheusObnovte prohlížeč a všimněte si druhého koncového bodu, který byl přidán pro vzdálený systém CentOS Linux
Chcete-li zajistit, že přijímáte metriky z vašich nakonfigurovaných uzlů. jednoduše použijte příkaz curl následovně:
# curl http://node-ip:9100/metrics
Chcete-li například zobrazit metriky ze serveru Prometheus, spusťte:
[[email protected] ~]# curl http://localhost:9100/metrics
Pro vzdáleného hostitele CentOS 8 jsem provedl příkaz:
[[email protected] ~]# curl http://192.168.10.90:9100/metrics
Toho lze také dosáhnout otevřením prohlížeče a procházením URL
http://192.168.10.90:9100/metrics
Můžete si také vybrat graf požadovaných metrik. Jednoduše přejděte na domovskou stránku serveru Prometheus a klikněte na rozbalovací nabídku označenou „vložit metriku na kurzor '.
Vyberte metriku, kterou chcete zobrazit v grafu,
Klikněte na tlačítko Provést “ a klikněte na „graf ’ na záložce níže a zobrazí se graf
A tím se dostáváme ke konci tohoto tématu. Úspěšně jste nainstalovali a nakonfigurovali Prometheus pro sledování systémových metrik na vašem serveru i vzdáleném hostiteli. V našem dalším průvodci integrujeme Prometheus s Grafanou pro lepší vizualizaci a analýzu metrik. Neváhejte se s námi podělit o svůj názor a sdílet článek s přáteli.
Jak nainstalovat nástroj Zabbix Monitoring Tool na CentOS 8/RHEL 8 Jak nainstalovat a nakonfigurovat Nagios Core na CentOS 8 / RHEL 8Cent OS