Prometheus je sada nástrojů s otevřeným zdrojovým kódem původně vytvořená na SoundCloud pro monitorování a upozornění. Sada nástrojů je nyní samostatný projekt s otevřeným zdrojovým kódem a je spravován nezávisle na jakékoli společnosti.
Sada nástrojů shromažďuje metriky ze sledovaných cílů zrušením koncových bodů HTTP na těchto cílech. Většina komponent Prometheus je v Go. Některé napsané v Javě, Pythonu a Ruby.
Prometheus funguje dobře pro záznam jakékoli číselné časové řady. Hodí se jak pro strojně orientované monitorování, tak pro vysoce dynamické monitorování architektury orientované na služby. Kromě toho, že Prometheus usnadňuje spouštění a integraci do vašeho prostředí, nabízí bohatý datový model a dotazovací jazyk.
Následující návod ukazuje kroky k instalaci Prometheus na CentOS.
Nainstalujte a nakonfigurujte Prometheus na CentOS 7
Přihlaste se do Terminálu jako root a začněte spouštět níže uvedené příkazy.
Krok 1 – Aktualizace systému
yum update -y
Krok 2 – Deaktivujte SELinux
Otevřete konfiguraci SELinux a upravte soubor:
vim /etc/sysconfig/selinux
Změňte „SELINUX=enforcing“ na „SELINUX=disabled“.
Uložte a ukončete soubor. Poté restartujte systém.
reboot
Krok 3 – Stáhněte si balíček Prometheus
Přejděte na oficiální stránku stahování Prometheus a zkopírujte adresu URL souboru „tar“ pro Linux.

Spusťte následující příkaz ke stažení balíčku. Vložte zkopírovanou adresu URL za wget do níže uvedeného příkazu:
wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
Krok 4 – Konfigurace Promethea
Přidejte uživatele Prometheus.
useradd --no-create-home --shell /bin/false prometheus
Vytvořte potřebné adresáře.
mkdir /etc/prometheus
mkdir /var/lib/prometheus
Změňte vlastníka výše uvedených adresářů.
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
Nyní přejděte do umístění staženého programu Prometheus a extrahujte jej.
tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz
Přejmenujte jej podle svých preferencí.
mv prometheus-2.8.1.linux-amd64 prometheuspackage
Zkopírujte binární soubory „prometheus“ a „promtool“ ze složky „prometheuspackage“ do „/usr/local/bin“.
cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/
Změňte vlastnictví na uživatele Prometheus.
chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool
Zkopírujte adresáře „consoles“ a „console_libraries“ z „prometheuspackage“ do „/etc/prometheus folder“
cp -r prometheuspackage/consoles /etc/prometheus
cp -r prometheuspackage/console_libraries /etc/prometheus
Změňte vlastnictví na uživatele Prometheus
chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries
Přidejte a upravte konfigurační soubor Prometheus.
Konfigurace by měly být přidány do „/etc/prometheus/prometheus.yml“
Nyní vytvoříme soubor prometheus.yml.
vim /etc/prometheus/prometheus.yml
Přidejte do souboru následující konfiguraci.
global: scrape_interval: 10s scrape_configs: - job_name: 'prometheus_master' scrape_interval: 5s static_configs: - targets: ['localhost:9090']
uložte a ukončete soubor
Změňte vlastnictví souboru.
chown prometheus:prometheus /etc/prometheus/prometheus.yml
Nakonfigurujte soubor služeb Prometheus.
vim /etc/systemd/system/prometheus.service
Zkopírujte následující obsah do souboru.
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple 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 [Install] WantedBy=multi-user.target
Uložte a ukončete soubor.
Znovu načtěte službu systemd.
systemctl daemon-reload
Spusťte službu Prometheus.
systemctl start prometheus
Zkontrolujte stav služby.
systemctl status prometheus

Přidejte pravidla brány firewall.
firewall-cmd --zone=public --add-port=9090/tcp --permanent
Znovu načtěte službu brány firewall.
systemctl reload firewalld
Krok 5 – Přístup k webovému rozhraní Prometheus
Pro přístup k uživatelskému rozhraní použijte následující adresu URL.
http://Server-IP:9090/graph
Poté můžete vidět následující rozhraní.

Krok 6 – Monitorování serveru Linux pomocí Prometheus
Nejprve musíte nakonfigurovat exportér uzlů Prometheus na serveru Linux.
Zkopírujte adresu URL nástroje Node Exporter z oficiální stránky pro stahování.

Vložte zkopírovanou adresu URL za wget do následujícího příkazu:
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

Rozbalte stažený balíček.
tar -xvzf node_exporter-0.17.0.linux-amd64.tar.gz
Vytvořte uživatele pro exportér uzlů.
useradd -rs /bin/false nodeusr
Přesuňte binární soubor do „/usr/local/bin“ ze staženého extrahovaného balíčku.
mv node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/bin/
Vytvořte soubor služby pro exportér uzlů.
vim /etc/systemd/system/node_exporter.service
Přidejte do souboru následující obsah.
[Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
Uložte a ukončete soubor.
Znovu načtěte systémového démona.
systemctl daemon-reload
Spusťte službu exportéru uzlů.
systemctl start node_exporter
Přidejte pravidlo brány firewall pro povolení exportéru uzlů.
firewall-cmd --zone=public --add-port=9100/tcp --permanent
Znovu načtěte službu brány firewall.
systemctl restart firewalld
Povolit export uzlů při spouštění systému.
systemctl enable node_exporter
Zobrazte adresu URL exportéru uzlu pro procházení metrik.
http://IP-Address:9100/metrics

Přidejte nakonfigurovaný exportér uzlů Cíl na server Prometheus.
Přihlaste se na server Prometheus a upravte soubor prometheus.yml
Upravte soubor:
vim /etc/prometheus/prometheus.yml
Přidejte následující konfigurace do konfigurace scrape.
- job_name: 'node_exporter_centos' scrape_interval: 5s static_configs: - targets: ['10.94.10.209:9100']
Soubor by měl vypadat následovně.

Restartujte službu Prometheus.
systemctl restart prometheus
Přihlaste se do webového rozhraní serveru Prometheus a zkontrolujte cíle.
http://Prometheus-Server-IP:9090/targets

Můžete kliknout na graf a dotazovat se na libovolné metriky serveru a kliknutím na tlačítko Spustit zobrazíte výstup. Zobrazí se výstup konzoly.
Prohlížeč dotazů:

Výstup konzoly:

Pro zobrazení klikněte na Graf.

Krok 7 – Monitorování serveru MySQL pomocí Prometheus
Přihlaste se do MySQL a proveďte následující dotazy.
CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 's56fsg#4W2126&dfk' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;
Stáhněte si mysqld_exporter z oficiální stránky pro stahování.

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
Rozbalte stažený soubor.
tar -xvzf mysqld_exporter-0.11.0.linux-amd64.tar.gz
Přidejte uživatele pro mysqld_exporter.
useradd -rs /bin/false mysqld_exporter
Zkopírujte soubor mysqld_exporter do /usr/bin.
mv mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter /usr/bin
Změňte vlastnictví souboru.
chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter
Vytvořte potřebné složky.
mkdir -p /etc/mysql_exporter
Vytvořte soubor s hesly MySQL pro mysqld_exporter.
vim /etc/mysql_exporter/.my.cnf
Přidejte do souboru následující konfigurace.
[client] user=mysqlexporter password=sdfsg#4W2126&gh
Uložte a ukončete soubor.
Změnit vlastnictví.
chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter
Udělit potřebné oprávnění.
chmod 600 /etc/mysql_exporter/.my.cnf
Vytvořte soubor služby.
vim /etc/systemd/system/mysql_exporter.service
Přidejte do souboru následující obsah.
[Unit] Description=MySQL Server fosslinux After=network.target [Service] User=mysqld_exporter Group=mysqld_exporter Type=simple ExecStart=/usr/bin/mysqld_exporter \ --config.my-cnf="/etc/mysql_exporter/.my.cnf" Restart=always [Install] WantedBy=multi-user.target
Znovu načtěte systémového démona.
systemctl daemon-reload
Povolte mysql_exporter při spouštění systému.
systemctl enable mysql_exporter
Spusťte službu.
systemctl start mysql_exporter
Prohlédněte si metriky pomocí následující adresy URL.
http://Server_IP:9104/metrics

Nyní přejděte na server Prometheus a upravte soubor prometheus.yml.
vim /etc/prometheus/prometheus.yml
Přidejte do souboru následující obsah.
- job_name: 'mysql_exporter_fosslinux' scrape_interval: 5s static_configs: - targets: ['10.94.10.204:9104']

Restartujte Prometheus.
systemctl restart prometheus
Přidané cíle můžete zobrazit kliknutím na cíle pod stavem.
http://IP:9090/targets

Nyní můžete vybrat dotaz pomocí prohlížeče dotazů a získat výsledek serveru MySQL.
To je vše o instalaci a konfiguraci serveru Prometheus na CentOS 7. Doufám, že se vám tento návod líbil. Dejte nám vědět svůj názor v komentářích níže.