Prometheus w pełnej gotowości

Book description

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

Table of contents

  1. Wprowadzenie
    1. Rozszerzanie znanego
    2. Ewolucja systemu Prometheus
    3. Konwencje zastosowane w książce
    4. Użycie przykładowych kodów
    5. Podziękowania
  2. Część I. Wprowadzenie
  3. Rozdział 1. Czym jest Prometheus?
    1. Czym jest monitorowanie?
      1. Krótka i niepełna historia monitorowania
      2. Kategorie monitorowania
        1. Profilowanie
        2. Śledzenie
        3. Rejestrowanie danych
        4. Wskaźniki
    2. Architektura systemu Prometheus
      1. Biblioteki klienta
      2. Komponenty eksportujące
      3. Odkrywanie usług
      4. Zbieranie danych
      5. Pamięć masowa
      6. Panele sterowania
      7. Reguły rejestrowania i ostrzeżeń
      8. Zarządzanie ostrzeżeniami
      9. Długoterminowa pamięć masowa
    3. Czym Prometheus nie jest?
  4. Rozdział 2. Rozpoczęcie pracy z systemem Prometheus
    1. Uruchamianie systemu Prometheus
    2. Używanie przeglądarki wyrażenia
    3. Uruchamianie komponentu Node Exporter
    4. Ostrzeganie
  5. Część II. Monitorowanie aplikacji
  6. Rozdział 3. Instrumentacja
    1. Prosty program
    2. Licznik
      1. Zliczanie wyjątków
      2. Zliczanie wielkości
    3. Miernik
      1. Używanie miernika
      2. Wywołanie zwrotne
    4. Podsumowanie
    5. Histogram
      1. Kubełki
    6. Instrumentacja testów jednostkowych
    7. Podejścia w zakresie instrumentacji
      1. Dlaczego należy stosować instrumentację?
        1. Instrumentacja usługi
        2. Instrumentacja biblioteki
      2. Jak daleko powinna sięgać instrumentacja?
      3. Dlaczego należy nadawać nazwy wskaźnikom?
        1. Znaki
        2. Styl snake_case
        3. Przyrostki wskaźnika
        4. Jednostki
        5. Nazwa
        6. Biblioteka
  7. Rozdział 4. Ekspozycja
    1. Python
      1. WSGI
      2. Twisted
      3. Wiele procesów i Gunicorn
    2. Go
    3. Java
      1. HTTPServer
      2. Servlet
    4. Pushgateway
    5. Most
    6. Analizator składni
    7. Format ekspozycji tekstu
      1. Typy wskaźników
      2. Etykiety
      3. Cytowanie znaków
      4. Znaczniki czasu
      5. Sprawdzenie wskaźników
    8. OpenMetrics
      1. Typy wskaźników
      2. Etykiety
      3. Znaczniki czasu
  8. Rozdział 5. Etykiety
    1. Czym są etykiety?
    2. Etykiety instrumentacji i systemów przeznaczonych do monitorowania
    3. Instrumentacja
      1. Wskaźnik
      2. Wiele etykiet
      3. Element potomny
    4. Agregacja
    5. Wzorce etykiet
      1. Enum
      2. Info
    6. Kiedy używać etykiet?
      1. Liczność
  9. Rozdział 6. Tworzenie paneli sterowania za pomocą Grafany
    1. Instalacja
    2. Źródło danych
    3. Panele sterowania
      1. Unikanie ściany wykresów
    4. Panel szeregu czasowego
      1. Kontrolki czasu
    5. Panel Stat
    6. Panel Table
    7. Panel State Timeline
    8. Zmienne szablonu
  10. Część III. Monitorowanie infrastruktury
  11. Rozdział 7. Node Exporter
    1. Komponent pobierający dane dotyczące procesora
    2. Komponent pobierający dane systemu plików
    3. Komponent pobierający dane dysku
    4. Komponent pobierający dane netdev
    5. Komponent pobierający dane meminfo
    6. Komponent pobierający dane hwmon
    7. Komponent pobierający dane stat
    8. Komponent pobierający dane uname
    9. Komponent pobierający dane systemu operacyjnego
    10. Komponent pobierający dane loadavg
    11. Komponent pobierający dane dotyczące obciążenia
    12. Komponent pobierający dane z pliku tekstowego
      1. Używanie komponentu pobierającego dane z pliku tekstowego
      2. Znaczniki czasu
  12. Rozdział 8. Mechanizm wykrywania usług
    1. Mechanizmy wykrywania usług
      1. Podejście statyczne
      2. Bazujący na pliku mechanizm wykrywania usług
      3. Bazujący na HTTP mechanizm wykrywania usług
      4. Consul
      5. EC2
    2. Zmiana etykiety
      1. Wybór danych, które mają być pobierane
      2. Etykiety systemów przeznaczonych do monitorowania
        1. Akcja replace
        2. Etykiety job, instance i __address__
        3. Akcja labelmap
        4. Wielkość znaków etykiety
        5. Listy
    3. Jak pobierać dane?
      1. metric_relabel_configs
        1. Akcje labeldrop i labelkeep
      2. Kolizje etykiet i opcja honor_labels
  13. Rozdział 9. Kontenery i Kubernetes
    1. cAdvisor
      1. Procesor
      2. Pamięć
      3. Etykiety
    2. Kubernetes
      1. Działanie w Kubernetes
      2. Mechanizm wykrywania usług
        1. Mechanizm node
        2. Mechanizm service
        3. Mechanizm endpointslice
        4. Mechanizm pod
        5. Mechanizm ingress
      3. Komponent kube-state-metrics
    3. Wdrożenia alternatywne
  14. Rozdział 10. Najczęściej używane komponenty eksportujące
    1. Consul
    2. MySQLd
    3. Komponent eksportujący Grok
    4. Czarna skrzynka
      1. Próbkowanie za pomocą ICMP
      2. Próbkowanie za pomocą TCP
      3. Próbkowanie za pomocą HTTP
      4. Próbkowanie za pomocą DNS
      5. Konfiguracja systemu Prometheus
  15. Rozdział 11. Współpraca z innymi systemami monitorowania
    1. Inne systemy monitorowania
    2. InfluxDB
    3. StatsD
  16. Rozdział 12. Tworzenie komponentu eksportującego
    1. Telemetria narzędzia Consul
    2. Niestandardowy komponent pobierający dane
      1. Etykiety
    3. Wskazówki
  17. Część IV. PromQL
  18. Rozdział 13. Wprowadzenie do PromQL
    1. Podstawy agregacji
      1. Miernik
      2. Licznik
      3. Podsumowanie
      4. Histogram
    2. Selektory
      1. Dopasowania
      2. Wektor natychmiastowy
      3. Wektor zakresu
      4. Podzapytanie
      5. Przesunięcie
      6. Modyfikator at
    3. API HTTP
      1. Punkt końcowy query
      2. Punkt końcowy query_range
        1. Dane wyrównane
  19. Rozdział 14. Operatory agregacji
    1. Grupowanie
      1. Klauzula without
      2. Klauzula by
    2. Operatory
      1. sum
      2. count
        1. Unikatowe wartości etykiet
      3. avg
      4. group
      5. stddev i stdvar
      6. min i max
      7. topk i bottomk
      8. quantile
      9. count_values
  20. Rozdział 15. Operatory binarne
    1. Praca z wartościami skalarnymi
      1. Operatory arytmetyczne
      2. Operator trygonometryczny
      3. Operatory porównania
        1. Modyfikator bool
    2. Dopasowanie wektora
      1. Dopasowanie typu jeden do jednego
      2. Dopasowanie typu wiele do jednego i group_left
      3. Wiele do wielu i operatory logiczne
        1. Operator or
        2. Operator unless
        3. Operator and
    3. Kolejność wykonywania operatorów
  21. Rozdział 16. Funkcje
    1. Zmiana typu
      1. vector()
      2. scalar()
    2. Funkcje matematyczne
      1. abs()
      2. ln(), log2() i log10()
      3. exp()
      4. sqrt()
      5. ceil() i floor()
      6. round()
      7. clamp(), clamp_max() i clamp_min()
      8. sgn()
      9. Funkcje trygonometryczne
    3. Data i godzina
      1. time()
      2. minute(), hour(), day_of_week(), day_of_month(), day_of_year(), days_in_month(), month() i year()
      3. timestamp()
    4. Etykiety
      1. label_replace()
      2. label_join()
    5. Brakujące szeregi czasowe oraz funkcje absent() i absent_over_time()
    6. Sortowanie za pomocą sort() i sort_desc()
    7. Histogram za pomocą funkcji histogram_quantile()
    8. Liczniki
      1. rate()
      2. increase()
      3. irate()
      4. resets()
    9. Zmiana mierników
      1. changes()
      2. deriv()
      3. predict_linear()
      4. delta()
      5. idelta()
      6. holt_winters()
    10. Agregacja na przestrzeni czasu
  22. Rozdział 17. Reguły rejestrowania
    1. Używanie reguł rejestrowania
    2. Kiedy używać reguł rejestrowania?
      1. Zmniejszenie liczności
      2. Tworzenie funkcji wektora zakresu
      3. Reguły dla API
      4. Jak nie używać reguł?
    3. Nazewnictwo reguł rejestrowania
  23. Część V. Ostrzeganie
  24. Rozdział 18. Ostrzeganie
    1. Reguły ostrzegania
      1. for
      2. Etykiety ostrzeżenia
      3. Adnotacje i szablony
      4. Jak wygląda dobre ostrzeżenie?
    2. Konfigurowanie menedżera ostrzeżeń Alertmanager w oprogramowaniu Prometheus
      1. Etykiety zewnętrzne
  25. Rozdział 19. Menedżer ostrzeżeń Alertmanager
    1. Potok powiadomienia
    2. Plik konfiguracyjny
      1. Drzewo routingu
        1. Grupowanie
        2. Ograniczanie i powtarzanie
      2. Odbiorcy
        1. Szablony powiadomień
        2. Powiadomienia rozwiązane
      3. Wstrzymywanie
    3. Interfejs sieciowy menedżera ostrzeżeń Alertmanager
  26. Rozdział 20. Zapewnienie bezpieczeństwa po stronie serwera
    1. Funkcje bezpieczeństwa dostarczane przez system Prometheus
    2. Włączenie obsługi TLS
    3. Opcje zaawansowane TLS
    4. Włączenie uwierzytelniania podstawowego
  27. Rozdział 21. Zebranie wszystkiego w całość
    1. Planowanie wdrożenia
    2. Rozbudowa systemu Prometheus
    3. Podejście globalne z wykorzystaniem federacji
    4. Długoterminowa pamięć masowa
    5. Uruchamianie systemu Prometheus
      1. Sprzęt
      2. Zarządzanie konfiguracją
      3. Sieci i uwierzytelnianie
    6. Planowanie pod kątem awarii
      1. Klastrowanie Alertmanager
      2. Monitorowanie meta i cross
    7. Zarządzanie wydajnością działania
      1. Wykrywanie problemu
      2. Wyszukiwanie kosztownych wskaźników i systemów przeznaczonych do monitorowania
        1. Hashmod
      3. Zmniejszenie obciążenia
      4. Sharding poziomy
    8. Zarządzanie zmianami
    9. Uzyskiwanie pomocy
    10. O autorach
    11. Kolofon

Product information

  • Title: Prometheus w pełnej gotowości
  • Author(s): Julien Pivotto, Brian Brazil
  • Release date: February 2024
  • Publisher(s): Helion
  • ISBN: 9788328905290

You might also like

video

黑客网络应用

by 奥马尔·桑托斯

课程简介 超过5个小时的视频指导,帮助您学习道德白帽、渗透测试和安全态势评估,包括危害、分析和减轻web应用程序漏洞的方法, 白帽Web应用程序(白帽的艺术系列)在线课程逐步示范了Web应用程序漏洞的安全评估(渗透测试)。 本课程将展示如何为网络应用测试建立一个渗透测试实验室,你将学习如何执行侦察和分析。完成这些初始步骤后,您将了解如何利用多种漏洞,包括身份验证、会话管理、基于注入的方法、跨站点脚本编写、跨站点请求伪造和它们的加密实现。您还将学习如何评估和执行应用程序编程接口(API)危害、客户端危害和其他web应用程序漏洞危害。 本课程的主要目标不是执行恶意危害,而是为您提供逐步的指导,以便您可以学习道德白帽、渗透测试和安全态势评估,因为它与web应用程序有关。通过本课程教授的技能,您将了解到许多前沿危害安全技术相关的各种概念。课程包含多媒体教程和动手演示,用户可以适用于真实场景,并且网络安全资深专家奥马尔·桑托斯为感兴趣的人提供了一些关键建议,包括如何成为一个职业道德白帽,或仅仅是跟上不断变化的漏洞威胁,让你或你的客户网络的web应用程序更加安全。 Get技能 ● 评估你需要知道的一切,以执行道德白帽和渗透测试的web应用程序 ● 了解web应用程序协议、HTTP请求/响应、会话管理和cookie、DevOps、云服务、web应用程序框架和Docker容器,以便更好地评估web应用程序的漏洞 ● 构建自己的web应用程序实验室进行渗透测试 ● 通过几种技术和应用程序对web应用程序进行配置和执行被动和主动侦察 ● 利用身份验证和会话管理职责 …

book

Getting Started with the INRANGE FC/9000 FICON Director

by Bill White

This IBM Redbooks publication discusses how to install, tailor, and configure the INRANGE FC/9000 FICON Director, …

book

3174 Network Server in Frame Relay and Multiprotocol

by Jose Boo

The 3174 Establishment Controller is an important component, when acting This document describes the 3174 Establishment …

video

Python技术基础视频教程

by 保罗·J·戴特尔

Get技能: 在第一部分你能学到什么: 预备课程——为Python配置你的系统,获得代码示例、Python包管理器、Paul的联系信息 第1课(测试用例:使用IPython和Jupyter Notebook)——在IPython和Jupyter Notebook中使用代码段和脚本 第2课(Python编程介绍)——变量类型、操作符、字符串、I/O、判定、对象和动态类型 第3课(控制语句)——if、if…else、if…elif…else、for、while、break、continue、增强赋值、布尔操作符、列表介绍 第4课(函数)——定制函数定义、导入库、使用随机数生成来实现仿真、作用域、默认参数值、关键字参数、任意参数列表、方法、元组介绍、函数式编程介绍 在第二部分你能学到什么: 第5课(序列:列表和元组)——创建、初始化以及访问列表和元组的元素;列表排序和搜索;搜索元组;将列表和元组传递到函数和方法;列表方法;函数式编程(lambda、过滤、映射、归约、列表推导、生成器表达式、二维列表);使用Seaborn和Matplotlib可视化库实现静态可视化。 第6课(字典和集合)——键值对字典;唯一值集合;迭代处理键、值和键值对;增加、删除和更新键值对;字典和集合比较操作符;集合操作符和方法;操作符in和not in完成成员关系检查;可变集合操作;字典和集合推导;使用Seaborn和Matplotlib可视化库实现动态可视化。 第7课(使用NumPy的面向数组编程)——numpy模块的高性能数据结构 ndarray;ndarray与列表的区别;使用IPython %timeit魔法比较列表和 …