Dziś zajmiemy się konfiguracją Prometheusa oraz Grafany – dwóch narzędzi kluczowych dla monitorowania i wizualizacji danych systemowych.

Krótkie wprowadzenie:

  • Prometheus: Jest to narzędzie monitorujące, które działa jak baza danych, zbierając informacje o stanie systemu.
  • Grafana: Oprogramowanie służące do analizy oraz inteligentnej wizualizacji danych zgromadzonych przez Prometheusa.

Konfiguracja Prometheusa i Grafany

Celem tej konfiguracji jest wyświetlenie parametrów komputera, na którym uruchomimy Prometheusa, wspomaganego przez node_exporter, który gromadzi dane systemowe.

Krok 1: Pobranie Prometheusa

Najpierw pobierzemy Prometheusa. Można to zrobić, wchodząc na stronę projektu i kopiując odpowiedni link do najnowszej wersji. Na przykład, na Ubuntu wykonaj poniższą komendę:

$ wget https://github.com/prometheus/prometheus/releases/download/v2.54.0/prometheus-2.54.0.linux-amd64.tar.gz

Krok 2: Wypakowanie archiwum

Po pobraniu pliku, wypakujmy go za pomocą komendy tar:

$ tar xzf prometheus-2.54.0.linux-amd64.tar.gz

Krok 3: Przeniesienie plików i konfiguracja jako serwis

Skonfigurujemy Prometheusa tak, aby działał jako serwis systemowy. W tym celu przenosimy wypakowane pliki do katalogu /etc/prometheus i tworzymy plik konfiguracyjny dla serwisu:

$ sudo mv prometheus-2.54.0.linux-amd64 /etc/prometheus                          $ sudo nano /etc/systemd/system/prometheus.service

Następnie w pliku prometheus.service umieszczamy poniższą konfigurację:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/etc/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml
Restart=always

[Install]
WantedBy=multi-user.target

Krok 4: Uruchomienie serwisu

Po utworzeniu wszystkich plików, odświeżmy konfigurację demona systemowego i uruchommy Prometheusa:

$ sudo systemctl daemon-reload$ sudo systemctl enable prometheus.service
$ sudo systemctl restart prometheus.service

Od tego momentu Prometheus powinien działać pod adresem IP maszyny na porcie 9090. Można teraz przejść do konfiguracji node_exporter oraz Grafany, aby monitorować system i wizualizować dane.

Krok 5: Pobranie i Konfiguracja Node Exportera

Przyszedł czas na pobranie node_exportera.

$ wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
$ tar xvf node_exporter-1.8.2.linux-amd64.tar.gz
$ sudo mv node_exporter-1.8.2.linux-amd64 /etc/node_exporter
$ nano /etc/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/etc/node_exporter/node_exporter
Restart=always
[Install]
WantedBy=multi-user.target

Znowu postępujemy tak jak wcześniej, restartujemy demona, włączamy node-a.

$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter
$ sudo systemctl restart node_exporter

Teraz aby nasz prometheus pobierał dane z node_exportera, musimy zmodyfikować jego config.

$ sudo nano /etc/prometheus/prometheus.yml
#usuwamy wsyzstko i wklejamy to

global:
  scrape_interval: 15s

scrape_configs:
- job_name: node
  static_configs:
  - targets: ['localhost:9100']

#po edycji pliku konfiguracyjnego musimy zrestartować prometheusa
$ sudo systemctl restart prometheus

Krok 6: Instalujemy Grafane

$ sudo apt-get install -y adduser libfontconfig1 musl
$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.1.3_amd64.deb
$ sudo dpkg -i grafana-enterprise_11.1.3_amd64.deb
#uruchamiamy grafane
$ sudo /bin/systemctl start grafana-server

Aktualnie nasza grafana działa na porcie 3000, wchodzimy na stronę i logujemy się „admin”, „admin”. Po czym zmieniamy hasło logowania.
Dodajemy nowe połączenie z naszym prometheusem.

Wpisujemy adres naszej maszyny, scrollujemy w dół i sprawdzamy czy wszystko działa poprawnie.
Teraz dodajemy naszą wizualizację:

Kilkamy „Load” i w źródle dodajemy naszego prometheusa.

Jeżeli nigdzie nie zrobiliśmy błędu powinny nam się wyświetlić wszystkie parametry.


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *