Запускаем Prometheus. Мониторинг инфраструктуры и приложений
Покупка
Новинка
Тематика:
Системы управления базами данных (СУБД)
Издательство:
ДМК Пресс
Перевод:
Киселев Артём Николаевич
Год издания: 2023
Кол-во страниц: 394
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное профессиональное образование
ISBN: 978-6-01810-341-4
Артикул: 856518.01.99
Возьмите на вооружение Prometheus — систему мониторинга на основе метрик, используемую тысячами организаций. Эта книга расскажет о системе мониторинга на основе метрик Prometheus и познакомит с наиболее важными ее аспектами, включая создание дашбордов и оповещений, прямое инструментирование кода, а также извлечение метрик из сторонних систем с помощью экспортеров.
Авторы покажут, как использовать систему Prometheusдля мониторинга приложений и инфраструктуры, как настроить Prometheus, Node Exporter и Alertmanager, как использовать эти инструменты для мониторинга приложений и инфраструктуры.
Издание адресовано инженерам по надежности сайтов, администраторам Kubernetes и разработчикам программного обеспечения.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Системы управления базами данных (СУБД)
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Жюльен Пивотто, Брайан Бразил Запускаем Pro-me-theus
Julien Pivotto and Brian Brazil Pro-me-theus: Up & Running Infrastructure and Application Performance Monitoring Second Edition Beijing • Boston • Farnham • Sebastopol • Tokyo
Жюльен Пивотто, Брайан Бразил Запускаем Pro me theus Мониторинг инфраструктуры и приложений
УДК 004.04 ББК 32.372 П32 Пивотто Ж., Бразил Б. П32 Запускаем Pro-me-theus / пер. с англ. А. Н. Киселева. – М.: Books.kz, 2023. – 392 с.: ил. ISBN 978-601-81034-1-4 Возьмите на вооружение Pro-me-theus – систему мониторинга на основе метрик, используемую тысячами организаций. Эта книга расскажет о системе мониторинга на основе метрик Pro-me-theus и познакомит с наиболее важными ее аспектами, включая создание дашбордов и оповещений, прямое инструментирование кода, а также извлечение метрик из сторонних систем с помощью экспортеров. Авторы покажут, как использовать систему Pro-me-theus для мониторинга приложений и инфраструктуры, как настроить Pro-me-theus, Node Exporter и Alertmanager, как использовать эти инструменты для мониторинга приложений и инфраструктуры. Издание адресовано инженерам по надежности сайтов, администраторам Kubernetes и разработчикам программного обеспечения. УДК 004.04 ББК 32.372 Authorized Russian translation of the English edition of Prometheus: Up & Running, 2E ISBN 9781098131142 © 2023 Julien Pivotto. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-098-13114-2 (англ.) © 2023 Julien Pivotto ISBN 978-6-01810-341-4 (казах.) © Перевод, оформление, издание, Books.kz, 2023
Содержание Вступление.................................................................................................................12 Об авторах.................................................................................................................15 Колофон......................................................................................................................16 Часть I. ВВЕДЕНИЕ................................................................................................17 Глава 1. Что такое Prometheus?..........................................................................18 Что такое мониторинг?..............................................................................................19 Краткая и неполная история мониторинга........................................................21 Категории мониторинга........................................................................................22 Архитектура Pro-me-theus............................................................................................27 Клиентские библиотеки.........................................................................................27 Экспортеры..............................................................................................................28 Обнаружение служб................................................................................................29 Извлечение данных................................................................................................30 Хранилище...............................................................................................................30 Дашборды................................................................................................................30 Правила записи и оповещения.............................................................................31 Управление уведомлениями.....................................................................................32 Долгосрочное хранение.........................................................................................32 Чем Prometheus не является......................................................................................32 Глава 2. Настройка и запуск Prometheus........................................................34 Запуск Prometheus......................................................................................................34 Использование браузера выражений......................................................................38 Запуск экспортера узла..............................................................................................42 Оповещение.................................................................................................................46 Часть II. МОНИТОРИНГ ПРИЛОЖЕНИЙ.....................................................53 Глава 3. Инструментирование.............................................................................54 Простая программа.....................................................................................................54 Счетчики.......................................................................................................................56 Подсчет исключений..............................................................................................58 Подсчет размера.....................................................................................................59
6 Содержание Датчики........................................................................................................................60 Использование датчиков.......................................................................................61 Обратные вызовы...................................................................................................62 Сводные метрики........................................................................................................63 Гистограммы................................................................................................................65 Сегменты..................................................................................................................66 Модульное тестирование метрик.............................................................................68 Подход к инструментированию................................................................................69 Что инструментировать?.......................................................................................70 Как широко использовать инструментирование?.............................................72 Какие имена выбирать для метрик?....................................................................72 Глава 4. Экспортирование метрик.....................................................................76 Python...........................................................................................................................77 WSGI..........................................................................................................................77 Twisted......................................................................................................................78 Многозадачность с Gunicorn.................................................................................79 Go...................................................................................................................................82 Java................................................................................................................................83 HTTPServer...............................................................................................................83 Сервлеты..................................................................................................................85 Pushgateway..................................................................................................................86 Мосты............................................................................................................................90 Парсеры........................................................................................................................90 Текстовый формат экспорта......................................................................................91 Типы метрик............................................................................................................91 Метки........................................................................................................................92 Экранирование.......................................................................................................93 Отметки времени...................................................................................................93 Проверка метрик....................................................................................................94 OpenMetrics..................................................................................................................94 Типы метрик............................................................................................................95 Метки........................................................................................................................96 Отметки времени...................................................................................................96 Глава 5. Метки...........................................................................................................97 Что такое метки?.........................................................................................................97 Инструментированные и целевые метки...............................................................98 Инструментирование.................................................................................................99 Метрики.................................................................................................................100 Несколько меток...................................................................................................101 Дочерние элементы..............................................................................................101 Агрегирование...........................................................................................................103 Шаблоны использования меток..............................................................................104 Метрики-перечисления.......................................................................................104 Информационные метрики................................................................................106
Содержание 7 Когда использовать метки.......................................................................................108 Кардинальность....................................................................................................109 Глава 6. Создание дашбордов с Grafana.......................................................112 Установка....................................................................................................................113 Источники данных....................................................................................................115 Дашборды и панели..................................................................................................116 Как избежать «стены графиков».........................................................................117 Панель временных рядов.........................................................................................117 Элементы управления временем.......................................................................119 Панель статистики....................................................................................................121 Панель таблицы.........................................................................................................123 Панель временнóй шкалы состояний....................................................................125 Переменные шаблона...............................................................................................126 Часть III. МОНИТОРИНГ ИНФРАСТРУКТУРЫ.......................................130 Глава 7. Node Exporter..........................................................................................131 Сборщик информации о процессоре.....................................................................132 Сборщик информации о файловой системе.........................................................133 Сборщик дисковой статистики...............................................................................134 Сборщик информации о сетевых устройствах.....................................................135 Сборщик информации о потреблении памяти....................................................136 Сборщик информации об аппаратной части.......................................................136 Сборщик статистики................................................................................................137 Сборщик информации об имени узла...................................................................138 Сборщик информации об операционной системе..............................................138 Сборщик информации о средней нагрузке..........................................................139 Сборщик информации о давлении........................................................................139 Сборщик текстовых файлов....................................................................................140 Использование сборщика текстовых файлов...................................................141 Отметки времени.................................................................................................143 Глава 8. Обнаружение служб.............................................................................144 Механизмы обнаружения служб.............................................................................145 Статическое обнаружение служб........................................................................146 Обнаружение служб на основе файла................................................................147 Обнаружение служб через HTTP........................................................................150 Обнаружение служб с помощью Consul............................................................151 Обнаружение служб с помощью ЕС2.................................................................152 Изменение меток......................................................................................................154 Выбор целей для мониторинга...........................................................................154 Метки целей...........................................................................................................157 Как извлекать метрики............................................................................................165 metric_relabel_configs............................................................................................167 Конфликты меток и honor_labels........................................................................169
8 Содержание Глава 9. Контейнеры и Kubernetes..................................................................170 cAdvisor.......................................................................................................................170 Метрики потребления процессора.....................................................................171 Метрики потребления памяти............................................................................172 Метки......................................................................................................................172 Kubernetes..................................................................................................................173 Запуск в Kubernetes..............................................................................................173 Обнаружение служб..............................................................................................175 kube-state-metrics.................................................................................................184 Альтернативные развертывания............................................................................185 Глава 10. Популярные экспортеры.................................................................187 Consul..........................................................................................................................187 MySQLd.......................................................................................................................189 Grok Exporter..............................................................................................................190 Blackbox......................................................................................................................193 ICMP........................................................................................................................194 TCP..........................................................................................................................199 HTTP........................................................................................................................201 DNS..........................................................................................................................203 Настройка Prometheus.........................................................................................205 Глава 11. Работа с другими системами мониторинга..............................209 Другие системы мониторинга................................................................................209 InfluxDB.......................................................................................................................211 StatsD..........................................................................................................................212 Глава 12. Разработка экспортеров..................................................................215 Consul Telemetry........................................................................................................215 Пользовательские сборщики...................................................................................219 Метки......................................................................................................................223 Методические рекомендации.................................................................................224 Часть IV. PROMQL.................................................................................................226 Глава 13. Введение в PromQL...........................................................................227 Основы агрегирования.............................................................................................227 Датчики..................................................................................................................227 Счетчики................................................................................................................229 Сводные метрики.................................................................................................230 Гистограммы.........................................................................................................231 Селекторы..................................................................................................................233 Сопоставители.......................................................................................................234 Мгновенный вектор.............................................................................................235 Вектор диапазона.................................................................................................236
Содержание 9 Подзапросы............................................................................................................238 Смещение...............................................................................................................239 Модификатор @...................................................................................................240 HTTP API.....................................................................................................................240 query........................................................................................................................240 query_range.............................................................................................................243 Глава 14. Операторы агрегирования..............................................................246 Группировка...............................................................................................................246 without....................................................................................................................247 by.............................................................................................................................248 Операторы..................................................................................................................249 sum..........................................................................................................................249 count........................................................................................................................250 avg...........................................................................................................................251 group.......................................................................................................................252 stddev и stdvar........................................................................................................252 min и max...............................................................................................................253 topk и bottomk.......................................................................................................254 quantile...................................................................................................................254 count_values...........................................................................................................255 Глава 15. Двухместные операторы.................................................................258 Работа со скалярами.................................................................................................258 Арифметические операторы..............................................................................259 Тригонометрический оператор..........................................................................260 Операторы сравнения..........................................................................................260 Сопоставление векторов..........................................................................................262 Один к одному.......................................................................................................263 Многие к одному и group_left.............................................................................265 Многие ко многим и логические операторы....................................................268 Приоритет операторов.............................................................................................272 Глава 16. Функции.................................................................................................273 Изменение типа........................................................................................................273 vector.......................................................................................................................273 scalar.......................................................................................................................274 Математические функции.......................................................................................275 abs............................................................................................................................275 ln, log2 и log10.......................................................................................................276 exp...........................................................................................................................276 sqrt...........................................................................................................................276 ceil и floor...............................................................................................................277 round.......................................................................................................................277 clamp, clamp_max и clamp_min............................................................................278 sgn...........................................................................................................................278
10 Содержание Тригонометрические функции...........................................................................278 Время и дата..............................................................................................................279 time..........................................................................................................................279 Функции minute, hour, day_of_week, day_of_month, day_of_year, days_in_month, month и year................................................................................280 timestamp...............................................................................................................281 Метки..........................................................................................................................282 label_replace...........................................................................................................282 label_join.................................................................................................................283 Отсутствующие серии, absent и absent_over_time................................................283 Сортировка с помощью sort и sort_desc.................................................................284 Гистограммы с histogram_quantile..........................................................................285 Счетчики.....................................................................................................................285 rate...........................................................................................................................286 increase...................................................................................................................287 irate.........................................................................................................................288 resets.......................................................................................................................289 Изменение датчиков................................................................................................289 changes....................................................................................................................289 deriv.........................................................................................................................290 predict_linear..........................................................................................................290 delta.........................................................................................................................291 idelta........................................................................................................................291 holt_winters............................................................................................................291 Агрегирование по времени.....................................................................................292 Глава 17. Правила записи....................................................................................294 Использование правил записи...............................................................................294 Когда использовать правила записи......................................................................297 Уменьшение кардинальности.............................................................................297 Составление функций для обработки векторов диапазонов.........................299 Правила для API....................................................................................................300 Как не следует использовать правила...............................................................300 Именование правил записи....................................................................................302 Часть V. ОПОВЕЩЕНИЕ.....................................................................................306 Глава 18. Оповещение.........................................................................................307 Правила оповещения................................................................................................308 for............................................................................................................................310 Метки оповещений...............................................................................................312 Аннотации и шаблоны.........................................................................................315 Что такое хорошее оповещение?........................................................................317 Настройка диспетчеров уведомлений в Prometheus...........................................318 Внешние метки.....................................................................................................319