Przewodnik konfiguracji Prometheus i node_exporter
15 min czytania - 29 maja 2026

Zainstaluj Prometheus i node_exporter, skonfiguruj scrape targets, skonfiguruj usługi systemd i zabezpiecz swój stos monitorowania. Krok po kroku dla systemu Linux.
Konfiguracja monitorowania serwerów Prometheus i node_exporter
Prometheus zbiera i przechowuje metryki szeregów czasowych. node_exporter udostępnia dane na poziomie systemu, takie jak wykorzystanie procesora, pamięci i dysku, które Prometheus może zbierać. Ten przewodnik obejmuje instalację obu narzędzi, konfigurację celów zbierania danych, uruchamianie node_exporter jako usługi systemd oraz blokowanie dostępu.
Instalacja node_exporter
Pobierz najnowszą stabilną wersję z oficjalnej strony GitHub. W maju 2026 r. jest to wersja 1.11.1. Zastąp amd64 na arm64 w razie potrzeby.
wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
Zweryfikuj sumę kontrolną SHA256 z wartością podaną na stronie z wydaniami, a następnie rozpakuj i zainstaluj:
tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/
Utwórz dedykowanego użytkownika systemowego bez katalogu domowego i powłoki logowania:
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
Przetestuj to, uruchamiając /usr/local/bin/node_exporter bezpośrednio, a następnie sprawdź wynik:
curl http://localhost:9100/metrics
Powinieneś zobaczyć wiersze poprzedzone prefiksem node_, zawierające wskaźniki takie jak node_cpu_seconds_total i node_memory_MemAvailable_bytes. Domyślnie node_exporter udostępnia około 500 szeregów czasowych.
Uruchamianie node_exporter jako usługi systemd
Uruchomienie node_exporter z terminala jest dobre do testów, ale zatrzymuje się po zamknięciu sesji. Utwórz plik jednostki w /etc/systemd/system/node_exporter.service:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Włącz i uruchom usługę:
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
Sprawdź, czy działa, wpisując sudo systemctl status node_exporter. Wynik powinien wyglądać następująco active (running).
Jeśli Prometheus działa na tym samym hoście, powiąż node_exporter wyłącznie z localhost, zmieniając wiersz ExecStart :
ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"
Konfiguracja Prometheusa do zbierania danych z node_exporter
Otwórz /etc/prometheus/prometheus.yml i dodaj zadanie w sekcji scrape_configs:
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
labels:
env: 'production'
The job_name określa źródło w zapytaniach i pulpitach nawigacyjnych. targets wskazuje na host i port, na którym nasłuchuje node_exporter. Etykiety takie jak env pomogą Ci później filtrować metryki.
Sprawdź poprawność konfiguracji przed ponownym uruchomieniem:
promtool check config /etc/prometheus/prometheus.yml
Jeśli test zakończy się powodzeniem, przeładuj Prometheusa bez przestoju:
sudo systemctl reload prometheus
Otwórz http://<your-prometheus-ip>:9090, przejdź do Status > Targets i sprawdź, czy zadanie node_exporter ma zielony status UP. Uruchom szybkie zapytanie, np. node_cpu_seconds_total w przeglądarce wyrażeń, aby potwierdzić przepływ danych.
Zabezpieczanie stosu monitorującego
Nigdy nie udostępniaj portów 9090 lub 9100 w publicznej sieci internetowej. W systemie Ubuntu/Debian ogranicz dostęp node_exporter do adresu IP serwera Prometheus:
sudo ufw allow from <prometheus-ip> to any port 9100
W systemie CentOS/RHEL z firewalld:
firewall-cmd --permanent --add-port=9100/tcp
W przypadku interfejsu użytkownika Prometheusa umieść go za odwrotnym serwerem proxy, takim jak Nginx, z podstawowym uwierzytelnianiem i TLS. Sieć VPN typu mesh, taka jak Tailscale, jest kolejną opcją, jeśli potrzebujesz dostępu z wielu lokalizacji bez bezpośredniego udostępniania portów.
Najlepsze praktyki w zakresie monitorowania i kolejne kroki
Użyj node_memory_MemAvailable_bytes zamiast MemFree w przypadku alertów dotyczących pamięci. MemAvailable uwzględnia bufory i pamięć podręczną, dając dokładniejszy obraz tego, co faktycznie jest wolne.
Wyłącz zbieracze, których nie potrzebujesz (wifi, nfs, bcache) za pomocą --no-collector.<name> flagi, aby zredukować szum.
W przypadku alertów dotyczących miejsca na dysku funkcja predict_linear funkcja PromQL pozwala przewidzieć, kiedy wolumin się zapełni, na podstawie aktualnych trendów. Ustawienie 7-dniowego okna prognozy pozwala wychwycić powolne wycieki, zanim przerodzą się w awarie.
Aby monitorować wiele serwerów, zainstaluj node_exporter na każdej maszynie i dodaj ich adresy IP do targets listy w prometheus.yml. W przypadku większych środowisk należy przejść na wykrywanie usług oparte na plikach zamiast sztywnego kodowania adresów IP.
Dodanie Grafany zapewnia wizualne pulpity nawigacyjne. Pulpit nawigacyjny Node Exporter Full (ID 1860) to dobry punkt wyjścia. Alertmanager przekierowuje krytyczne alerty do Slacka, poczty e-mail lub PagerDuty.
Dedykowane serwery i plany VPS firmy FDC obsługują Prometheusa i node_exporter od razu po uruchomieniu. Zobacz opcje serwerów dedykowanych FDC.
Rozwiązywanie problemów
| Problem | Prawdopodobna przyczyna | Polecenie do sprawdzenia |
|---|---|---|
| Usługa nie uruchamia się | Nieprawidłowa ścieżka do pliku binarnego lub uprawnienia | journalctl -u node_exporter -xe |
| Brak dostępu do wskaźników | Zapora sieciowa blokuje port 9100 lub nieprawidłowy adres powiązania | ss -lntp | grep 9100 |
| Cel niedostępny w Prometheus | Problem z siecią lub nieprawidłowy adres IP celu w pliku prometheus.yml | curl -I http://<target-ip>:9100/metrics |
| Brak określonych metryk | Kolektor domyślnie wyłączony | node_exporter --help |

Przewodnik konfiguracji Prometheus i node_exporter
Zainstaluj Prometheus i node_exporter, skonfiguruj scrape targets, skonfiguruj usługi systemd i zabezpiecz swój stos monitorowania. Krok po kroku dla systemu Linux.
15 min czytania - 29 maja 2026
XDP i eBPF dla przetwarzania pakietów w systemie Linux
14 min czytania - 27 maja 2026

Masz pytania lub potrzebujesz niestandardowego rozwiązania?
Elastyczne opcje
Globalny zasięg
Natychmiastowe wdrożenie
Elastyczne opcje
Globalny zasięg
Natychmiastowe wdrożenie