0Pricing
Linux Server Deployment & SSH Mastery · Lekcja

Scentralizowane monitorowanie i alerty

Rozszerzą Państwo monitorowanie poza pojedynczy serwer: prześlą metryki i logi do centralnego systemu, zbudują pulpity oraz skonfigurują alerty, aby dowiedzieć się o problemach, zanim zauważą je użytkownicy.

Scentralizowane monitorowanie i alerty to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Dlaczego centralizacja?

Logowanie do każdego serwera za pomocą top i journalctl sprawdza się w przypadku jednej maszyny. Przy większej liczbie serwerów takie podejście nie skaluje się, a problemy są widoczne dopiero wtedy, gdy akurat zacznie ich Pan/Pani szukać.

Centralizowane monitorowanie zbiera dane i logi ze wszystkich serwerów w jednym miejscu, zapewniając pulpity nawigacyjne i automatyczne alerty.

Dane a logi

Obserwowalność opiera się na dwóch rodzajach danych:

  • Dane — liczbowe szeregi czasowe, takie jak procent użycia CPU, użycie pamięci czy liczba żądań
  • Logi — pojedyncze zdarzenia tekstowe, takie jak błędy i wpisy dostępu

Zwykle zbiera się oba rodzaje danych, korzystając z różnych narzędzi zoptymalizowanych pod kątem każdego z nich.

Model Prometheus

Prometheus to popularny system do zbierania danych. Pobiera dane, odpytując za pomocą mechanizmu scrape punkty końcowe HTTP udostępniane przez poszczególne serwery.

Na każdym serwerze uruchamia się eksporter — node_exporter udostępnia dane o hoście — który publikuje dane odczytywane przez Prometheus.

# On each monitored server:
sudo apt install prometheus-node-exporter
curl http://localhost:9100/metrics | head

Konfigurowanie celu scrape

Prometheus otrzymuje informacje o tym, co ma odpytywać, z pliku konfiguracyjnego. Każde zadanie zawiera cele (host:port eksportera).

Ten fragment odpytuje node_exporter na dwóch serwerach.

scrape_configs:
  - job_name: 'nodes'
    static_configs:
      - targets: ['web1:9100', 'web2:9100']

Odpytywanie danych za pomocą PromQL

Prometheus ma własny język zapytań o nazwie PromQL. Można za jego pomocą obliczać między innymi tempo zmian i średnie dla całej floty serwerów.

To wyrażenie szacuje użycie CPU na poszczególnych serwerach.

100 - (avg by (instance) (rate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)

Wizualizacja za pomocą Grafany

Grafana łączy się z Prometheusem i wieloma innymi źródłami, aby tworzyć pulpity nawigacyjne. Należy dodać Prometheus jako źródło danych, a następnie utworzyć panele na podstawie zapytań PromQL.

Gotowe pulpity dla node_exporter udostępniają w ciągu kilku minut wykresy użycia CPU, pamięci, dysku i sieci.

sudo apt install grafana
sudo systemctl enable --now grafana-server
# Open http://server:3000 and add Prometheus as a data source

Centralizacja logów

W przypadku logów należy przesyłać je z każdego serwera do centralnego magazynu. Popularny stos to Loki z Promtail, zintegrowany z Grafaną.

Promtail działa na każdym serwerze i przekazuje do Loki pliki logów oraz dziennik systemowy.

# promtail tails the journal and ships to Loki
clients:
  - url: http://loki:3100/loki/api/v1/push
scrape_configs:
  - job_name: journal
    journal:
      max_age: 12h

Definiowanie reguł alertów

Alerty zamieniają dane w działanie. Reguły alertów Prometheusa są uruchamiane, gdy wyrażenie pozostaje prawdziwe przez określony czas.

Ta reguła generuje alert, gdy węzeł jest niedostępny od dwóch minut.

groups:
  - name: node
    rules:
      - alert: NodeDown
        expr: up == 0
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: 'Instance {{ $labels.instance }} is down'

Kierowanie alertów

Alertmanager odbiera wygenerowane alerty i kieruje je we właściwe miejsce: do poczty e-mail, Slacka, PagerDuty i innych usług. Usuwa również duplikaty alertów i je wycisza.

Alerty można mapować na odbiorców na podstawie etykiet, takich jak severity.

route:
  receiver: 'team-slack'
receivers:
  - name: 'team-slack'
    slack_configs:
      - channel: '#alerts'

Unikanie zmęczenia alertami

Zbyt wiele alertów jest równie złe jak ich brak — ludzie zaczynają je ignorować. Dobrze skonfigurowane alerty:

  • informują o objawach odczuwanych przez użytkowników, a nie o każdym krótkotrwałym skoku wartości
  • używają czasu trwania for, aby uniknąć migotania alertów
  • mają przypisany poziom ważności, dzięki czemu można filtrować szum

Dobre praktyki

Twórz trwałą obserwowalność:

  • centralnie zbieraj zarówno dane, jak i logi
  • zacznij od pulpitów społeczności, a następnie dostosuj je do swoich potrzeb
  • generuj alerty tylko dla warunków wymagających działania
  • sprawdź, czy alerty rzeczywiście do Ciebie docierają

Szybki test

Sprawdź swoją wiedzę na temat centralnego monitorowania.

Podsumowanie

Potrafi już Pan/Pani centralnie monitorować całą flotę serwerów:

  • Dane zbierane przez Prometheus za pomocą scrape node_exporter i odpytywane przy użyciu PromQL
  • Pulpity nawigacyjne w Grafanie
  • Logi przesyłane do Loki za pośrednictwem Promtail
  • Alerty na podstawie reguł Prometheusa i kierowane przez Alertmanager

Rozszerza to umiejętności pracy z logami pojedynczego serwera o proaktywną obserwowalność całej floty.

Często zadawane pytania

Czy lekcja „Scentralizowane monitorowanie i alerty” jest bezpłatna?

Tak — pełny tekst „Scentralizowane monitorowanie i alerty” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Scentralizowane monitorowanie i alerty”?

Rozszerzą Państwo monitorowanie poza pojedynczy serwer: prześlą metryki i logi do centralnego systemu, zbudują pulpity oraz skonfigurują alerty, aby dowiedzieć się o problemach, zanim zauważą je użyt… Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?

Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Scentralizowane monitorowanie i alerty”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?

Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Narzędzia do monitorowania systemu
  2. Zrozumienie logów systemowych
  3. Rotacja i archiwizacja logów
  4. Scentralizowane monitorowanie i alerty
← Powrót do Linux Server Deployment & SSH Mastery