Przewodnik konfiguracji Prometheus i node_exporter

15 min czytania - 29 maja 2026

hero section cover
Spis treści
  • Konfiguracja monitorowania serwerów Prometheus i node_exporter
  • Instalacja node_exporter
  • Uruchamianie node_exporter jako usługi systemd
  • Konfiguracja Prometheusa do zbierania danych z node_exporter
  • Zabezpieczanie stosu monitorującego
  • Najlepsze praktyki w zakresie monitorowania i kolejne kroki
  • Rozwiązywanie problemów
Udostępnij

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

ProblemPrawdopodobna przyczynaPolecenie do sprawdzenia
Usługa nie uruchamia sięNieprawidłowa ścieżka do pliku binarnego lub uprawnieniajournalctl -u node_exporter -xe
Brak dostępu do wskaźnikówZapora sieciowa blokuje port 9100 lub nieprawidłowy adres powiązaniass -lntp | grep 9100
Cel niedostępny w PrometheusProblem z siecią lub nieprawidłowy adres IP celu w pliku prometheus.ymlcurl -I http://<target-ip>:9100/metrics
Brak określonych metrykKolektor domyślnie wyłączonynode_exporter --help

Blog

Polecane w tym tygodniu

Więcej artykułów
Przewodnik konfiguracji Prometheus i node_exporter

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

Więcej artykułów
background image

Masz pytania lub potrzebujesz niestandardowego rozwiązania?

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie