Запускаем Prometheus

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Возьмите на вооружение Prometheus – систему мониторинга на основе метрик, используемую тысячами организаций. Это обновленное издание расскажет, что такое Prometheus, и познакомит с наиболее важными аспектами этой системы. Вы узнаете, как настроить Prometheus, Node Exporter и Alertmanager, научитесь использовать эти инструменты в своей работе и поймете, почему эта система с открытым исходным кодом продолжает набирать популярность. Издание предназначено инженерам по поддержке инфраструктуры, администраторам Kubernetes (и не только), а также разработчикам приложений. «Авторы – два ведущих разработчика Prometheus, и книга отражает их глубокое знание этой системы. В ней вы найдете бесценные практические советы по развертыванию и эксплуатации Prometheus в реальных ситуациях».

Author(s): Жюльен Пивотто, Брайан Бразил
Publisher: Books.kz
Year: 2023

Language: Russian
Pages: 392
City: М.

Содержание
Вступление
Увеличение осведомленности
Эволюция Prometheus
Обозначения и соглашения, принятые в этой книге
Скачивание исходного кода примеров
Отзывы и пожелания
Список опечаток
Нарушение авторских прав
Благодарности
Об авторах
Колофон
Часть I. Введение
Глава 1. Что такое Prometheus?
Что такое мониторинг?
Краткая и неполная история мониторинга
Категории мониторинга
Профилирование
Трассировка
Журналирование
Метрики
Архитектура Prometheus
Клиентские библиотеки
Экспортеры
Обнаружение служб
Извлечение данных
Хранилище
Дашборды
Правила записи и оповещения
Управление уведомлениями
Долгосрочное хранение
Чем Prometheus не является
Глава 2. Настройка и запуск Prometheus
Запуск Prometheus
Использование браузера выражений
Запуск экспортера узла
Оповещение
Часть II. Мониторинг приложений
Глава 3. Инструментирование
Простая программа
Счетчики
Подсчет исключений
Подсчет размера
Датчики
Использование датчиков
Обратные вызовы
Сводные метрики
Гистограммы
Сегменты
Модульное тестирование метрик
Подход к инструментированию
Что инструментировать?
Инструментирование служб
Инструментирование библиотек
Как широко использовать инструментирование?
Какие имена выбирать для метрик?
Символы
змеиная_нотация
Суффиксы в именах метрик
Единицы измерения
Имя
Библиотека
Глава 4. Экспортирование метрик
Python
WSGI
Twisted
Многозадачность с Gunicorn
Go
Java
HTTPServer
Сервлеты
Pushgateway
Мосты
Парсеры
Текстовый формат экспорта
Типы метрик
Метки
Экранирование
Отметки времени
Проверка метрик
OpenMetrics
Типы метрик
Метки
Отметки времени
Глава 5. Метки
Что такое метки?
Инструментированные и целевые метки
Инструментирование
Метрики
Несколько меток
Дочерние элементы
Агрегирование
Шаблоны использования меток
Метрики-перечисления
Информационные метрики
Когда использовать метки
Кардинальность
Глава 6. Создание дашбордов с Grafana
Установка
Источники данных
Дашборды и панели
Как избежать «стены графиков»
Панель временных рядов
Элементы управления временем
Панель статистики
Панель таблицы
Панель временнóй шкалы состояний
Переменные шаблона
Часть III. Мониторинг инфраструктуры
Глава 7. Node Exporter
Сборщик информации о процессоре
Сборщик информации о файловой системе
Сборщик дисковой статистики
Сборщик информации о сетевых устройствах
Сборщик информации о потреблении памяти
Сборщик информации об аппаратной части
Сборщик статистики
Сборщик информации об имени узла
Сборщик информации об операционной системе
Сборщик информации о средней нагрузке
Сборщик информации о давлении
Сборщик текстовых файлов
Использование сборщика текстовых файлов
Отметки времени
Глава 8. Обнаружение служб
Механизмы обнаружения служб
Статическое обнаружение служб
Обнаружение служб на основе файла
Обнаружение служб через HTTP
Обнаружение служб с помощью Consul
Обнаружение служб с помощью ЕС2
Изменение меток
Выбор целей для мониторинга
Метки целей
replace
job, instance и __address__
labelmap
Изменение регистра значений меток
Списки
Как извлекать метрики
metric_relabel_configs
labeldrop и labelkeep
Конфликты меток и honor_labels
Глава 9. Контейнеры и Kubernetes
cAdvisor
Метрики потребления процессора
Метрики потребления памяти
Метки
Kubernetes
Запуск в Kubernetes
Обнаружение служб
Node
Service
Endpointslice
Pod
Ingress
kube-state-metrics
Альтернативные развертывания
Глава 10. Популярные экспортеры
Consul
MySQLd
Grok Exporter
Blackbox
ICMP
TCP
HTTP
DNS
Настройка Prometheus
Глава 11. Работа с другими системами мониторинга
Другие системы мониторинга
InfluxDB
StatsD
Глава 12. Разработка экспортеров
Consul Telemetry
Пользовательские сборщики
Метки
Методические рекомендации
Часть IV. PromQL
Глава 13. Введение в PromQL
Основы агрегирования
Датчики
Счетчики
Сводные метрики
Гистограммы
Селекторы
Сопоставители
Мгновенный вектор
Вектор диапазона
Подзапросы
Смещение
Модификатор @
HTTP API
query
query_range
Согласование данных
Глава 14. Операторы агрегирования
Группировка
without
by
Операторы
sum
count
Уникальные значения меток
avg
group
stddev и stdvar
min и max
topk и bottomk
quantile
count_values
Глава 15. Двухместные операторы
Работа со скалярами
Арифметические операторы
Тригонометрический оператор
Операторы сравнения
Модификатор bool
Сопоставление векторов
Один к одному
Многие к одному и group_left
Многие ко многим и логические операторы
Оператор or
Оператор unless
Оператор and
Приоритет операторов
Глава 16. Функции
Изменение типа
vector
scalar
Математические функции
abs
ln, log2 и log10
exp
sqrt
ceil и floor
round
clamp, clamp_max и clamp_min
sgn
Тригонометрические функции
Время и дата
time
Функции minute, hour, day_of_week, day_of_month, day_of_year, days_in_month, month и year
timestamp
Метки
label_replace
label_join
Отсутствующие серии, absent и absent_over_time
Сортировка с помощью sort и sort_desc
Гистограммы с histogram_quantile
Счетчики
rate
increase
irate
resets
Изменение датчиков
changes
deriv
predict_linear
delta
idelta
holt_winters
Агрегирование по времени
Глава 17. Правила записи
Использование правил записи
Когда использовать правила записи
Уменьшение кардинальности
Составление функций для обработки векторов диапазонов
Правила для API
Как не следует использовать правила
Именование правил записи
Часть V. Оповещение
Глава 18. Оповещение
Правила оповещения
for
Метки оповещений
Аннотации и шаблоны
Что такое хорошее оповещение?
Настройка диспетчеров уведомлений в Prometheus
Внешние метки
Глава 19. Alertmanager
Конвейер уведомлений
Конфигурационный файл
Дерево маршрутизации
Группировка
Регулирование частоты и повторение
Приемники
Шаблоны уведомлений
Устраненные уведомления
Подавление
Веб-интерфейс Alertmanager
Часть VI. Развертывание
Глава 20. Безопасность на стороне сервера
Функции безопасности в Prometheus
Включение TLS
Дополнительные параметры TLS
Включение базовой аутентификации
Глава 21. Собираем все вместе
Планирование развертывания
Расширение Prometheus
Выход на глобальный уровень с помощью механизма федерации
Долгосрочное хранение
Эксплуатация Prometheus
Аппаратное обеспечение
Управление конфигурацией
Сети и аутентификация
Планирование сбоев
Кластеризация диспетчеров уведомлений
Мета- и перекрестный мониторинг
Управление производительностью
Обнаружение проблем
Поиск дорогостоящих метрик и целей
Hashmod
Снижение нагрузки
Горизонтальное сегментирование
Управление изменениями
Получение помощи
Предметный указатель