Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie 2 - ebook
Prometheus w pełnej gotowości. Jak monitorować pracę infrastruktury i wydajność działania aplikacji. Wydanie 2 - ebook
Monitorowanie wydajności systemu jest ważnym zadaniem i nie polega tylko na obserwacji pracy procesora. Trzeba się orientować, pod jakim obciążeniem pracuje baza danych, czy przepustowość urządzeń sieciowych jest wystarczająca i jaki jest koszt niepełnego użycia bufora. Warto też wiedzieć, czy stopień wykorzystania droższych elementów uzasadnia ich utrzymywanie.
W tej książce znajdziesz bezcenne wskazówki dotyczące wdrażania serwera Prometheus i jego używania w rzeczywistych rozwiązaniach.
Julius Volz, współtwórca oprogramowania Prometheus
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierania wskaźników pochodzących z systemów zewnętrznych. Zrozumiesz zasady konfiguracji systemu Prometheus, komponentu Node Exporter i menedżera ostrzeżeń Alertmanager. Zapoznasz się też z nowymi funkcjonalnościami języka PromQL, dostawców mechanizmu odkrywania usług i odbiorców menedżera ostrzeżeń Alertmanager. Dokładnie zaprezentowano tu również zagadnienia bezpieczeństwa po stronie serwera, w tym mechanizm TLS i uwierzytelniania podstawowego.
W książce między innymi:
- czym jest Prometheus i jak wygląda jego architektura
- monitorowanie infrastruktury za pomocą komponentów takich jak Node Exporter
- instrumentacja w kodzie aplikacji
- tworzenie paneli sterowania za pomocą Grafany
- współpraca oprogramowania Prometheus i Kubernetes
Dzięki najlepszym praktykom i wskazówkom dotyczącym instrumentacji w kodzie ta książka pomoże Ci w niezawodnym monitorowaniu usług!
TJ Hoplock, starszy inżynier monitorowania, NS1
Spis treści
Część I. Wprowadzenie
- 1. Czym jest Prometheus?
- Czym jest monitorowanie?
- Krótka i niepełna historia monitorowania
- Kategorie monitorowania
- Architektura systemu Prometheus
- Biblioteki klienta
- Komponenty eksportujące
- Odkrywanie usług
- Zbieranie danych
- Pamięć masowa
- Panele sterowania
- Reguły rejestrowania i ostrzeżeń
- Zarządzanie ostrzeżeniami
- Długoterminowa pamięć masowa
- Czym Prometheus nie jest?
- Czym jest monitorowanie?
- 2. Rozpoczęcie pracy z systemem Prometheus
- Uruchamianie systemu Prometheus
- Używanie przeglądarki wyrażenia
- Uruchamianie komponentu Node Exporter
- Ostrzeganie
Część II. Monitorowanie aplikacji
- 3. Instrumentacja
- Prosty program
- Licznik
- Zliczanie wyjątków
- Zliczanie wielkości
- Miernik
- Używanie miernika
- Wywołanie zwrotne
- Podsumowanie
- Histogram
- Kubełki
- Instrumentacja testów jednostkowych
- Podejścia w zakresie instrumentacji
- Dlaczego należy stosować instrumentację?
- Jak daleko powinna sięgać instrumentacja?
- Dlaczego należy nadawać nazwy wskaźnikom?
- 4. Ekspozycja
- Python
- WSGI
- Twisted
- Wiele procesów i Gunicorn
- Go
- Java
- HTTPServer
- Servlet
- Pushgateway
- Most
- Analizator składni
- Format ekspozycji tekstu
- Typy wskaźników
- Etykiety
- Cytowanie znaków
- Znaczniki czasu
- Sprawdzenie wskaźników
- OpenMetrics
- Typy wskaźników
- Etykiety
- Znaczniki czasu
- Python
- 5. Etykiety
- Czym są etykiety?
- Etykiety instrumentacji i systemów przeznaczonych do monitorowania
- Instrumentacja
- Wskaźnik
- Wiele etykiet
- Element potomny
- Agregacja
- Wzorce etykiet
- Enum
- Info
- Kiedy używać etykiet?
- Liczność
- 6. Tworzenie paneli sterowania za pomocą Grafany
- Instalacja
- Źródło danych
- Panele sterowania
- Unikanie ściany wykresów
- Panel szeregu czasowego
- Kontrolki czasu
- Panel Stat
- Panel Table
- Panel State Timeline
- Zmienne szablonu
Część III. Monitorowanie infrastruktury
- 7. Node Exporter
- Komponent pobierający dane dotyczące procesora
- Komponent pobierający dane systemu plików
- Komponent pobierający dane dysku
- Komponent pobierający dane netdev
- Komponent pobierający dane meminfo
- Komponent pobierający dane hwmon
- Komponent pobierający dane stat
- Komponent pobierający dane uname
- Komponent pobierający dane systemu operacyjnego
- Komponent pobierający dane loadavg
- Komponent pobierający dane dotyczące obciążenia
- Komponent pobierający dane z pliku tekstowego
- Używanie komponentu pobierającego dane z pliku tekstowego
- Znaczniki czasu
- 8. Mechanizm wykrywania usług
- Mechanizmy wykrywania usług
- Podejście statyczne
- Bazujący na pliku mechanizm wykrywania usług
- Bazujący na HTTP mechanizm wykrywania usług
- Consul
- EC2
- Zmiana etykiety
- Wybór danych, które mają być pobierane
- Etykiety systemów przeznaczonych do monitorowania
- Jak pobierać dane?
- metric_relabel_configs
- Kolizje etykiet i opcja honor_labels
- Mechanizmy wykrywania usług
- 9. Kontenery i Kubernetes
- cAdvisor
- Procesor
- Pamięć
- Etykiety
- Kubernetes
- Działanie w Kubernetes
- Mechanizm wykrywania usług
- Komponent kube-state-metrics
- Wdrożenia alternatywne
- cAdvisor
- 10. Najczęściej używane komponenty eksportujące
- Consul
- MySQLd
- Komponent eksportujący Grok
- Czarna skrzynka
- Próbkowanie za pomocą ICMP
- Próbkowanie za pomocą TCP
- Próbkowanie za pomocą HTTP
- Próbkowanie za pomocą DNS
- Konfiguracja systemu Prometheus
- 11. Współpraca z innymi systemami monitorowania
- Inne systemy monitorowania
- InfluxDB
- StatsD
- 12. Tworzenie komponentu eksportującego
- Telemetria narzędzia Consul
- Niestandardowy komponent pobierający dane
- Etykiety
- Wskazówki
Część IV. PromQL
- 13. Wprowadzenie do PromQL
- Podstawy agregacji
- Miernik
- Licznik
- Podsumowanie
- Histogram
- Selektory
- Dopasowania
- Wektor natychmiastowy
- Wektor zakresu
- Podzapytanie
- Przesunięcie
- Modyfikator at
- API HTTP
- Punkt końcowy query
- Punkt końcowy query_range
- Podstawy agregacji
- 14. Operatory agregacji
- Grupowanie
- Klauzula without
- Klauzula by
- Operatory
- sum
- count
- avg
- group
- stddev i stdvar
- min i max
- topk i bottomk
- quantile
- count_values
- Grupowanie
- 15. Operatory binarne
- Praca z wartościami skalarnymi
- Operatory arytmetyczne
- Operator trygonometryczny
- Operatory porównania
- Dopasowanie wektora
- Dopasowanie typu jeden do jednego
- Dopasowanie typu wiele do jednego i group_left
- Wiele do wielu i operatory logiczne
- Kolejność wykonywania operatorów
- Praca z wartościami skalarnymi
- 16. Funkcje
- Zmiana typu
- vector()
- scalar()
- Funkcje matematyczne
- abs()
- ln(), log2() i log10()
- exp()
- sqrt()
- ceil() i floor()
- round()
- clamp(), clamp_max() i clamp_min()
- sgn()
- Funkcje trygonometryczne
- Data i godzina
- time()
- minute(), hour(), day_of_week(), day_of_month(), day_of_year(), days_in_month(), month() i year()
- timestamp()
- Etykiety
- label_replace()
- label_join()
- Brakujące szeregi czasowe oraz funkcje absent() i absent_over_time()
- Sortowanie za pomocą sort() i sort_desc()
- Histogram za pomocą funkcji histogram_quantile()
- Liczniki
- rate()
- increase()
- irate()
- resets()
- Zmiana mierników
- changes()
- deriv()
- predict_linear()
- delta()
- idelta()
- holt_winters()
- Agregacja na przestrzeni czasu
- Zmiana typu
- 17. Reguły rejestrowania
- Używanie reguł rejestrowania
- Kiedy używać reguł rejestrowania?
- Zmniejszenie liczności
- Tworzenie funkcji wektora zakresu
- Reguły dla API
- Jak nie używać reguł?
- Nazewnictwo reguł rejestrowania
Część V. Ostrzeganie
- 18. Ostrzeganie
- Reguły ostrzegania
- for
- Etykiety ostrzeżenia
- Adnotacje i szablony
- Jak wygląda dobre ostrzeżenie?
- Konfigurowanie menedżera ostrzeżeń Alertmanager w oprogramowaniu Prometheus
- Etykiety zewnętrzne
- Reguły ostrzegania
- 19. Menedżer ostrzeżeń Alertmanager
- Potok powiadomienia
- Plik konfiguracyjny
- Drzewo routingu
- Odbiorcy
- Wstrzymywanie
- Interfejs sieciowy menedżera ostrzeżeń Alertmanager
- 20. Zapewnienie bezpieczeństwa po stronie serwera
- Funkcje bezpieczeństwa dostarczane przez system Prometheus
- Włączenie obsługi TLS
- Opcje zaawansowane TLS
- Włączenie uwierzytelniania podstawowego
- 21. Zebranie wszystkiego w całość
- Planowanie wdrożenia
- Rozbudowa systemu Prometheus
- Podejście globalne z wykorzystaniem federacji
- Długoterminowa pamięć masowa
- Uruchamianie systemu Prometheus
- Sprzęt
- Zarządzanie konfiguracją
- Sieci i uwierzytelnianie
- Planowanie pod kątem awarii
- Klastrowanie Alertmanager
- Monitorowanie meta i cross
- Zarządzanie wydajnością działania
- Wykrywanie problemu
- Wyszukiwanie kosztownych wskaźników i systemów przeznaczonych do monitorowania
- Zmniejszenie obciążenia
- Sharding poziomy
- Zarządzanie zmianami
- Uzyskiwanie pomocy
Skorowidz
Kategoria: | Serwery internetowe |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0530-6 |
Rozmiar pliku: | 11 MB |