4.1 Instalacja Prometheus
Prometheus — to potężny system monitorowania i powiadomień open-source, zaprojektowany do zbierania i przechowywania metryk z różnych źródeł, w tym kontenerów Docker. Na tym wykładzie szczegółowo przeanalizujemy proces konfiguracji monitorowania kontenerów za pomocą Prometheus, w tym instalację, konfigurację zbierania metryk i integrację z Docker.
1. Pobieranie i instalacja Prometheus
Najpierw pobierz najnowszą wersję Prometheus z oficjalnej strony:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
Wypakuj archiwum:
tar xvfz prometheus-*.tar.gz
cd prometheus-*
Przenieś pliki binarne do /usr/local/bin
:
sudo mv prometheus /usr/local/bin/
sudo mv promtool /usr/local/bin/
4.2 Konfiguracja pliku konfiguracji Prometheus
Prometheus używa pliku konfiguracji prometheus.yml
, aby określić źródła metryk i ustawienia zbierania danych. Utwórz albo edytuj plik prometheus.yml
:
global:
scrape_interval: 15s # Interwał zbierania metryk
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'cadvisor'
static_configs:
- targets: ['localhost:8080']
Ten plik konfiguracji zawiera dwa zadania (job):
prometheus
: do zbierania metryk z samego Prometheus.cadvisor
: do zbierania metryk z cAdvisor, który będzie używany do monitorowania kontenerów Docker.
5.3 Uruchamianie Prometheus
Uruchom Prometheus używając utworzonego pliku konfiguracyjnego:
prometheus --config.file=prometheus.yml
Prometheus będzie dostępny pod adresem http://localhost:9090.
5.4 Instalacja i konfiguracja cAdvisor
cAdvisor
(Container Advisor) — to narzędzie do monitorowania kontenerów, które zbiera i udostępnia metryki dla kontenerów Docker. Aby go użyć, wykonaj następujące kroki:
Uruchom cAdvisor
w kontenerze Docker:
docker run -d \
--name=cadvisor \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--privileged \
gcr.io/cadvisor/cadvisor:latest
cAdvisor
będzie dostępny pod adresem http://localhost:8080.
5.5 Aktualizacja konfiguracji Prometheus dla cAdvisor
Upewnij się, że konfiguracja Prometheus zawiera zadanie dla cAdvisor. Przykład konfiguracji został przedstawiony powyżej.
Uruchom ponownie Prometheus, aby zastosować zmiany:
prometheus --config.file=prometheus.yml
5.6 Sprawdzanie zbierania metryk
Wejdź do interfejsu webowego Prometheus pod adresem http://localhost:9090 i upewnij się, że Prometheus zbiera metryki z cAdvisor. W tym celu wykonaj zapytanie w Prometheus:
container_cpu_usage_seconds_total
Powinieneś zobaczyć dane zebrane z kontenerów Docker.
5.7 Dodawanie dodatkowych metryk
Możesz dodać dodatkowe metryki do pliku konfiguracyjnego Prometheus, aby zbierać więcej danych o swoich kontenerach. Przykład dodatkowych metryk:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Do tego będzie potrzebna instalacja node_exporter
, który dostarcza metryki o stanie systemu hosta.
Pobierz i zainstaluj node_exporter
:
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo mv node_exporter-1.2.2.linux-amd64/node_exporter /usr/local/bin/
Uruchom node_exporter:
node_exporter &
Teraz node_exporter
będzie dostępny pod adresem http://localhost:9100.
5.8 Tworzenie zasad powiadomień
Prometheus obsługuje tworzenie zasad powiadomień, aby informować administratorów o problemach. Dodaj zasady powiadomień do pliku konfiguracyjnego prometheus.yml
:
rule_files:
- "alert.rules"
alerting:
alertmanagers:
- static_configs:
- targets:
- "localhost:9093"
Utwórz plik alert.rules
z przykładowymi zasadami:
groups:
- name: example
rules:
- alert: HighCPUUsage
expr: container_cpu_usage_seconds_total{job="cadvisor"} > 0.85
for: 1m
labels:
severity: warning
annotations:
summary: "Wykryto wysokie użycie CPU"
description: "Kontener używa więcej niż 85% CPU przez ponad 1 minutę."
GO TO FULL VERSION