Prometheus je bezplatná, open source a webová monitorovací aplikace, která shromažďuje metriky z vašich služeb a ukládá je do databáze časových řad. Výchozí konfigurace Prometheus exportuje pouze metriky o sobě. Můžete jej však rozšířit instalací exportérů a dalších programů. Podporuje vícerozměrný datový model, více režimů grafů a dashboardů.
V tomto příspěvku vám ukážeme, jak nainstalovat Prometheus monitoring na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Prometheus
Před spuštěním se doporučuje vytvořit vyhrazeného uživatele a skupinu pro Prometheus. Můžete jej vytvořit pomocí následujícího příkazu:
groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus
Dále si stáhněte nejnovější verzi Promethea spuštěním následujícího příkazu:
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -Jakmile je Prometheus stažen, můžete si stažený soubor prohlédnout pomocí následujícího příkazu:
ls -lMěli byste vidět následující výstup:
-rw-r--r-- 1 kořenový kořen 72638078 5. října 16:46 prometheus-2.30.3.linux-amd64.tar.gzDále rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvf prometheus*.tar.gzDále změňte adresář na extrahovaný adresář pomocí následujícího příkazu:
cd prometheus-2.30.3.linux-amd64Dále vytvořte požadované adresáře pomocí následujícího příkazu:
mkdir /etc/prometheus
mkdir /var/lib/prometheusDále zkopírujte požadované konfigurační soubory a nástroje pomocí následujících příkazů:
mv prometheus.yml /etc/prometheus/prometheus.yml
mv consoles/ console_libraries/ /etc/prometheus/
mv prometheus promtool /usr/local/bin/Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvoření souboru služby Systemd pro Prometheus
Dále budete muset vytvořit soubor služby systemd pro správu služby Prometheus. Můžete jej vytvořit spuštěním následujícího příkazu:
nano /etc/systemd/system/prometheus.servicePřidejte následující řádky:
[Unit]Description=PrometheusDocumentation=https://prometheus.io/docs/introduction/overview/Wants=network-online.targetAfter=network-online.target[Service]Type=simpleUser=prometheusGroup=prometheusExecReload=/bin /kill -HUP $MAINPIDExecStart=/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 \ --web.external-url=SyslogIdentifier=prometheusRestart=always[Install]WantedBy=multi-user.targetUložte a zavřete soubor a poté nastavte správné vlastnictví a oprávnění pro konfigurační adresář Prometheus:
chown -R prometheus:prometheus /etc/prometheus/
chmod -R 775 /etc/prometheus/
chown -R prometheus:prometheus /var/lib/prometheus/Poté znovu načtěte démona systemd, aby se změny aplikovaly:
systemctl daemon-reloadDále spusťte službu Prometheus a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl spustit prometheus
systemctl povolit prometheusStav Promethea můžete zkontrolovat pomocí následujícího příkazu:
systemctl status prometheusZískáte následující výstup:
? prometheus.service - Prometheus Načteno:načteno (/etc/systemd/system/prometheus.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2021-10-16 14:06:39 UTC; Před 4 s Dokumenty:https://prometheus.io/docs/introduction/overview/ Hlavní PID:18415 (prometheus) Úkoly:5 (limit:2341) Paměť:19,6M CPU:79ms CGroup:/system.slice/prometheus.service ??18415 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.cons>16. října 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z caller=head.go:513 component=tsdb msg="mapa paměti na disku>16. října 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z caller=head.go:519 component=tsdb msg="Přehrávání WAL, toto>16. října 14:06:39 debian11 prometheus][18415] :level=info ts=2021-10-16T14:06:39.174Z caller=head.go:590 component=tsdb msg="Segment WAL načten">16. října 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.174Z caller=head.go:596 component=tsdb msg="Přehrání WAL dokončeno>Oct 16 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10 -16T14:06:39. 177Z caller=main.go:849 fs_type=EXT4_SUPER_MAGICOct 16 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.177Z caller=TSDstarted="TSB52main.go:8 "16. října 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:979 msg="Načítání konfiguračního souboru" název souboru>16. října 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:1016 msg="Dokončeno načítání konfigurace>16. října 14:06:39 debian11 prometheus][1 :level=info ts=2021-10-16T14:06:39.179Z caller=main.go:794 msg="Server je připraven přijímat webovou žádost>Oct 16 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.179Z caller=tls_config.go:191 component=web msg="TLS je zakázáno>Ve výchozím nastavení Prometheus naslouchá na portu 9090. Můžete jej zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 9090Měli byste vidět následující výstup:
LISTEN 0 4096 *:9090 *:* users:(("prometheus",pid=18415,fd=7))Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Nakonfigurujte Nginx jako reverzní proxy pro Prometheus
Dále se doporučuje nainstalovat a nakonfigurovat Nginx jako reverzní proxy pro Prometheus. Nejprve nainstalujte balíček webového serveru Nginx pomocí následujícího příkazu:
apt-get install nginx -yJakmile je Nginx nainstalován, vytvořte konfigurační soubor virtuálního hostitele Nginx pomocí následujícího příkazu:
nano /etc/nginx/conf.d/prometheus.confPřidejte následující řádky:
server { poslouchat 80; název_serveru prometheus.example.com; umístění / { proxy_pass http://localhost:9090; proxy_http_verze 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}Uložte a zavřete soubor a poté pomocí následujícího příkazu ověřte, zda Nginx neobsahuje nějakou chybu syntaxe:
nginx -tPokud je vše v pořádku, dostanete následující výstup:
nginx:test konfiguračního souboru /etc/nginx/nginx.conf byl úspěšnýNakonec restartujte službu Nginx, aby se změny projevily:
systemctl restart nginxStav služby Nginx můžete také ověřit pomocí následujícího příkazu:
stav systemctl nginxMěli byste získat následující výstup:
? nginx.service – vysoce výkonný webový server a reverzní proxy server Načteno:načteno (/lib/systemd/system/nginx.service; povoleno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2021-10-16 14 :08:15 UTC; Před 2 s Dokumenty:man:nginx(8) Proces:18792 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (kód=ukončeno, stav=0/ÚSPĚCH) Proces:18793 ExecStart=/usr/sbin/nginx -g démon zapnut; master_process on; (code=exited, status=0/SUCCESS) Hlavní PID:18794 (nginx) Úkoly:2 (limit:2341) Paměť:2,5M CPU:35ms CGroup:/system.slice/nginx.service ??18794 nginx:hlavní proces /usr/sbin/nginx -g démon zapnutý; master_process on; ??18795 nginx:worker process 16. října 14:08:15 debian11 systemd[1]:Spouštění vysoce výkonného webového serveru a reverzního proxy serveru... 16. října 14:08:15 debian11 systemd[1]:nginx.service:Nepodařilo se analyzovat PID ze souboru /run/nginx.pid:Neplatný argumentOct 16 14:08:15 debian11 systemd[1]:Started Vysoce výkonný webový server a reverzní proxy server.V tomto okamžiku je Nginx nainstalován a nakonfigurován tak, aby sloužil Prometheus. Nyní můžete přejít k dalšímu kroku.
Přístup k řídicímu panelu Prometheus
Nyní otevřete webový prohlížeč a přejděte na řídicí panel Prometheus pomocí adresy URL http://prometheus.example.com . Měli byste vidět následující stránku:
Instalovat a konfigurovat node_exporter
node_exporter je exportér, který bude sledovat a získávat metriky serveru Prometheus. Nejprve si stáhněte nejnovější verzi node_exporter pomocí následujícího příkazu:
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gzPo dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gzDále přesuňte extrahovaný adresář do adresáře /etc/prometheus/:
mv node_exporter-1.2.2.linux-amd64 /etc/prometheus/node_exporterDále nastavte správné vlastnictví pomocí následujícího příkazu:
chown -R prometheus:prometheus /etc/prometheus/node_exporterDále vytvořte soubor služby systemd pro správu služby node_exporter:
nano /etc/systemd/system/node_exporter.servicePřidejte následující řádky:
[Unit]Description=Node ExporterWants=network-online.targetAfter=network-online.target[Service]User=prometheusExecStart=/etc/prometheus/node_exporter/node_exporter[Install]WantedBy=default.targetUložte a zavřete soubor a poté znovu načtěte démona systemd, aby se změny aplikovaly:
systemctl daemon-reloadDále spusťte službu node_exporter a povolte její spuštění při restartu systému:
systemctl start node_exporter
systemctl enable node_exporterStav node_exporter můžete zkontrolovat pomocí následujícího příkazu:
systemctl status node_exporterZískáte následující výstup:
? node_exporter.service - Node Exporter Načteno:načteno (/etc/systemd/system/node_exporter.service; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od Ne 2021-10-17 05:38:20 UTC; před 4s Hlavní PID:513 (node_exporter) Úkoly:4 (limit:2341) Paměť:4,7M CPU:11ms CGroup:/system.slice/node_exporter.service ??513 /etc/prometheus/node_exporter/ct3805:O 20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=thermal_zoneOct 17 05:38:20 debian=11 node_exporter:23info level2=51 -10-17T05:38:20.382Z caller=node_exporter.go:115 kolektor=timeOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382 callexporter=node. go:115 collecter=timexOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=udp_queues 05.10.17 05.01.17 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=unameOct 17 05:38:20 debian11 node_exporter[513]:20=info ts=-17T05:38:20.382Z caller=node_exporter.go:115 collect=vmstatOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=xfsOct 17 05:38:20 debian11 node_exporter=info-513]:level 10-17T05:38:20.382Z caller=node_exporter.go:115 collecter=zfsOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:Znoex caller=20.3porter :199 msg="Poslouchám" address=:91>17. října 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.383Z caller=tls_config.go:191 msg "TLS je zakázáno." http2=falseVe výchozím nastavení naslouchá node_exporter na portu 9100. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep 9100Měli byste získat následující výstup:
LISTEN 0 4096 *:9100 *:* users:(("node_exporter",pid=513,fd=3))Přidat node_exporter na server Prometheus
Dále budete muset přidat node_exporter do konfiguračního souboru Prometheus. Můžete to udělat úpravou výchozího konfiguračního souboru Prometheus:
nano /etc/prometheus/prometheus.ymlV části 'scrape_config ', přidejte nový job_name node_exporter přidáním následujících řádků.
- job_name:'node_exporter' static_configs:- targets:['localhost:9100']Uložte a zavřete soubor a poté restartujte službu Prometheus, aby se změny projevily:
systemctl restart prometheusOvěřit Prometheus a node_exporter
Nyní přejděte na řídicí panel Prometheus a klikněte na Stav => Cíl . Na následující obrazovce byste měli vidět svůj node_exporter:
Nyní se vraťte na domovskou stránku Prometheus a zadejte node_memory_MemAvailable_bytes v poli dotazu a klikněte na 'Provést ' knoflík. Získáte následující výsledek:
Můžete také získat node_exporter data metrik pomocí adresy URL http://ip-ip-vasho-serveru:9100/metrics jak je uvedeno níže:
Závěr
Gratulujeme! úspěšně jste nainstalovali Prometheus pomocí node_exporter na Debian 11. Pokud máte nějaké dotazy, neváhejte se mě zeptat. Další informace naleznete v oficiální dokumentaci Prometheus.
Jak nainstalovat Apache Cassandra na Debian 11 Jak nainstalovat a používat PIP Python Package Manager na Debianu 11Debian