Prometheus je bezplatná softwarová aplikace používaná pro monitorování událostí a upozornění. Zaznamenává metriky v reálném čase do databáze časových řad vytvořené pomocí modelu HTTP pull s flexibilními dotazy a upozorněním v reálném čase. Projekt je napsán v Go a licencován pod licence Apache 2 , se zdrojovým kódem dostupným na GitHubu a je absolventským projektem nadace Cloud Native Computing Foundation , spolu s Kubernetes a Envoy.
Aktualizovat systém
Aktualizujte svůj operační systém Linux pomocí
# dnf update -y
Prometheus v současné době neobsahuje oficiální zásady SELinux. Musíte tedy vypnout SELinux nebo jej přepněte do permisivního režimu.
# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
# setenforce permissive
Vytvoření uživatele a adresářů Prometheus
Vlastnit software a procesy Prometheus.
# useradd --no-create-home -s /bin/false prometheus
Vytvořte požadované adresáře Prometheus a upravte vlastnictví.
# mkdir /etc/prometheus
# mkdir /var/lib/prometheus
# chown prometheus:prometheus /var/lib/prometheus
# chown prometheus:prometheus /etc/prometheus
Nainstalovat Prometheus
Můžete si jej stáhnout z oficiálních stránek Prometheus.
Stáhněte si Prometheus tarball pomocí wget příkaz, jak je uvedeno níže.
[root@unixcop ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz -P /tmp
--2021-09-09 11:02:11-- https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/6838921/17d3d453-5a8e-47aa-844f-d4ff56f5c1cb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T150118Z&X-Amz-Expires=300&X-Amz-Signature=04f95de9924949000d3cf5b51d508db4a101e6741d13540d60b0b8c7618421bc&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.29.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-09-09 11:02:13-- https://github-releases.githubusercontent.com/6838921/17d3d453-5a8e-47aa-844f-d4ff56f5c1cb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T150118Z&X-Amz-Expires=300&X-Amz-Signature=04f95de9924949000d3cf5b51d508db4a101e6741d13540d60b0b8c7618421bc&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.29.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.111.154, 185.199.108.154, 185.199.110.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.111.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73175122 (70M) [application/octet-stream]
Saving to: 'https://1118798822.rsc.cdn77.org/tmp/prometheus-2.29.2.linux-amd64.tar.gz'
prometheus-2.29.2.linux-amd64.tar.gz 100%[=======================================================================>] 69.79M 169KB/s in 6m 30s
2021-09-09 11:08:43 (183 KB/s) - 'https://1118798822.rsc.cdn77.org/tmp/prometheus-2.29.2.linux-amd64.tar.gz' saved [73175122/73175122]
[root@unixcop ~]#
Poté rozbalte stažený tarball Prometheus do /var/lib/prometheus, jak je znázorněno.
tar -xf /tmp/prometheus-2.29.2.linux-amd64.tar.gz -C /var/lib/prometheus/ --strip-components=1
Předejte vlastnictví extrahovaných souborů uživateli Prometheus pomocí:
chown -R prometheus:prometheus /var/lib/prometheus
Přesuňte konfigurační soubor Prometheus do /etc/prometheus pomocí:
mv /var/lib/prometheus/prometheus.yml /etc/prometheus/
Zkontrolujte také konfigurace souboru prometheus.yml, jak je uvedeno níže:
[root@unixcop ~]# grep -v '#' /etc/prometheus/prometheus.yml
global:
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
[root@unixcop ~]#
Vytvořte také symbolické odkazy pro Prometheus, aby byly spustitelné z jakékoli cesty.
# cp -s /var/lib/prometheus/promtool /usr/bin
# cp -s /var/lib/prometheus/prometheus /usr/bin
Vytvořit Systemd Service Unit pro Prometheus
Musíte vytvořit systémovou servisní jednotku pro povolení automatického spuštění Prometheus.
Postupujte takto:
# vim /usr/lib/systemd/system/prometheus.service
Poté přidejte následující.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/var/lib/prometheus/consoles \
--web.console.libraries=/var/lib/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
Poté povolte a spusťte Prometheus pomocí:
[root@unixcop ~]# systemctl enable --now prometheus.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /usr/lib/systemd/system/prometheus.service.
[root@unixcop ~]#
Nakonfigurujte také bránu firewall pro Prometheus
Výchozí port 9090/tcp . Je tedy nutné to umožnit.
[root@unixcop ~]# firewall-cmd --permanent --add-port=9090/tcp
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]#
Otevřete adresu URL http://localhost:9090 ve webovém prohlížeči, jak je znázorněno na níže uvedeném snímku obrazovky
Instalovat nástroj pro export uzlů
Node Exporter je exportér Prometheus pro metriky na úrovni serveru a úrovní s konfigurovatelnými kolektory metrik. Pomáhá nám při měření serverových zdrojů, jako je místo na disku, RAM a využití CPU.
Je třeba nainstalovat node_exporter na vašem serveru Prometheus .
Nejprve vytvořte adresář pro Node Exporter následovně:
# mkdir -p /var/lib/prometheus/node_exporter
Stáhněte si Node_Exporter z webu Prometheus.
[root@unixcop ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz -P /tmp
--2021-09-09 11:42:18-- https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/9524057/28598a7c-d8ad-483d-85ba-8b2c9c08cf57?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T154012Z&X-Amz-Expires=300&X-Amz-Signature=2581f24124ad04eeb9d7ead72729c4afbcfe08ade2e37a8d3ffa0eb876ab0091&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.2.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-09-09 11:42:19-- https://github-releases.githubusercontent.com/9524057/28598a7c-d8ad-483d-85ba-8b2c9c08cf57?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T154012Z&X-Amz-Expires=300&X-Amz-Signature=2581f24124ad04eeb9d7ead72729c4afbcfe08ade2e37a8d3ffa0eb876ab0091&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.2.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.108.154, 185.199.110.154, 185.199.109.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.108.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8898481 (8.5M) [application/octet-stream]
Saving to: 'https://1118798822.rsc.cdn77.org/tmp/node_exporter-1.2.2.linux-amd64.tar.gz'
node_exporter-1.2.2.linux-amd64.tar.g 100%[=======================================================================>] 8.49M 204KB/s in 42s
2021-09-09 11:43:02 (207 KB/s) - 'https://1118798822.rsc.cdn77.org/tmp/node_exporter-1.2.2.linux-amd64.tar.gz' saved [8898481/8898481]
[root@unixcop ~]#
Poté rozbalte stažený tarball do /var/lib/prometheus/node_exporter/ pomocí následujícího příkazu.
# tar xf /tmp/node_exporter-1.2.2.linux-amd64.tar.gz -C /var/lib/prometheus/unixcop_node_exporter/ --strip-components=1
Upravte vlastnictví.
# chown -R prometheus:prometheus /var/lib/prometheus/unixcop_node_exporter/
Vytvořte také symbolický odkaz pro node_exporter s:
[root@unixcop ~]# cp -s /var/lib/prometheus/unixcop_node_exporter/node_exporter /usr/bin/
Povolit automatické spuštění node_exporter proces, vytvořte systémovou servisní jednotku.
vim /usr/lib/systemd/system/unixcop_node_exporter.service
Poté přidejte následující:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=default.target
Povolte a spusťte Node Exporter příkazem níže:
[root@unixcop ~]# systemctl enable --now unixcop_node_exporter.service
Created symlink /etc/systemd/system/default.target.wants/node_exporter.service → /usr/lib/systemd/system/node_exporter.service.
[root@unixcop ~]#
Nakonfigurujte také bránu firewall tak, aby povolovala port node_exporter 9100/tcp .
[root@unixcop ~]# firewall-cmd --permanent --add-port=9100/tcp
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]#
Poté upravte konfigurační soubor Prometheus.
# vi /etc/prometheus/prometheus.yml
A přidejte unixcop_node_exporter konfigurace koncového bodu v tomto souboru.
- job_name: 'unixcop_node_exporter'
static_configs:
- targets: ['localhost:9100']
Poté restartujte Prometheus.
# systemctl restart prometheus.service
Otevřete prohlížeč a přejděte na prometheus.
Otevřete Stav
Poté klikněte naCíle .
Závěr
V tomto článku jsme vysvětlili, jak nainstalovat nástroj pro monitorování systémů Prometheus na CentOS / RHEL 8.
Také jsme ukázali, jak nainstalovat Node Exporter pro metriky na úrovni serveru a úrovně, které nám pomáhají měřit zdroje serveru, jako je místo na disku, RAM a využití CPU.