Prometheus: запуск и исполнение

Брайан Брайзил

 

Первая публикация на английском языке: Июль 2018

Опубликовано O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

ISBN 978-1-492-03414-8

oreilly.com

2018-08-05

 Состав исполнителей

Издания на английском языке
Автор
Брайан Брайзил
Рецензент
Редактор
Вирджиния Вилсон
Редактор выпуска
Никлас Адамс
Литературный редактор
Кристина Эдвардс
Корректор
Соня Заруба
Редактор разработки содержания
Технический рецензенты
Юлиус Вольц
Карл Бергквест
Эндрю МакМиллан
Грег Старк
Составитель указателя
Эллен Трутман- Зейг
Дизайнер содержимого
Дэйвид Футейто
Изготовитель переплёта
Карин Монтгомери
Графика
Дэйвид Футейто

 Об авторе

Брайан Брайзил

 Рецензент

 oreilly.com

 Содержание

Предисловие
Расширение знания
Используемые в книги соглашения
Применение примеров кода
O’Reilly Safari
Как поддерживать связь с нами
Благодарности
Глава 1. Что такое Prometheus?
Что представляет из себя мониторинг?
Краткая и неполная история мониторинга
Категории мониторинга
Профилирование
Отслеживание
Ведение журналов
Измерения
Архитектура Prometheus
Библиотеки клиента
Экспортёры
Обнаружение служб
Выуживание
Хранение
Инструментальные панели
Запись правил и предупреждений
Управление предупреждениями
Долговременное хранение
Чем не является Prometheus
Глава 2. Начало работы с Prometheus
Запуск Prometheus
Применение Браузера выражения
Запуск Экспортёра узла
Предупреждения
Глава 3. Оснастка
Пример программы
Счётчик
Подсчёт исключительных ситуаций
Подсчёт размера
Gauge
Использование Gauge
Обратные вызовы
Итоговый список
Гистограмма
Корзины
Инструменты проверки
Методические инструменты
Что мне делать инструментом?
Служебный инструментарий
Библиотечный инструментарий
Сколько инструментария мне требуется?
Что мне следует именовать параметрами?
Символы
snake_case
Суфиксы параметров
Элементы
Название
Библиотека
Глава 4. Экспозиция
Python
WSGI
Twisted
Множество процессов посредством Gunicorn
Go
Java
HTTPServer
Servlet
Pushgateway
Мосты
Синтаксические анализаторы
Формат экспозиции
Типы параметров
Метки
Выходы
Временные штампы
Параметры проверки
Глава 5. Метки
Что такое метки?
Инструментальная оснастка и Целевые метки
Инструментарий
Параметры
Множественные метки
Потомки
Агрегация
Шаблоны меток
Enum
Info
Когда применять метки
Кардинальное число
Глава 6. Инструментальная панель при помощи Grafana
Установка
Источник данных
Инструментальные панели и пульты
Избегаем стены Диаграмм
Панель Диаграмм
Временной контроль
Панель Singlestat
Табличная панель
Переменные шаблона
Глава 7. Экспортёр узла
Коллектор ЦПУ
Коллектор файловой системы
Коллектор состояний диска
Коллектор сетевых устройств
Коллектор информации о памяти
Коллектор отслеживания аппаратных средств
Коллектор статистик
Коллектор средних нагрузок
Коллектор текстовых файлов
Применение коллектора Textfile
Временные штампы
Глава 8. Обнаружение служб
Механизмы обнаружения служб
Статика
Файл
Consul
EC2
Изменение меток
Выбор того что выискивать
Целевые метки
Замена
job, instance и __address__
Карта меток
Списки
Как выискивать
metric_relabel_configs
labeldrop и labelkeep
Конфликты меток и honor_labels
Глава 9. Контейнеры и Kubernetes
cAdvisor
ЦПУ
Оперативная память
Метки
Kubernetes
Запуск Kubernetes
Обнаружение служб
Узел
Служба
Конечные точки
Поды
Право доступа
kube-state-metrics
Глава 10. Общеупотребимые Экспортёры
Consul
HAProxy
Экспортёр Grok
Blackbox
ICMP
TCP
HTTP
DNS
Настройка Prometheus
Глава 11. Работа с прочими системами мониторинга
Прочие системы мониторинга
InfluxDB
StatsD
Глава 12. Создание импортёров
Телеметрия StatsD
Индивидуальные коллекторы
Метки
Руководства
Глава 13. Введение в PromQL
Основы агрегации
Gauge
Счётчик
Итог
Гистограмма
Переключатели
Согласующие устройства
Вектор моментов
Вектор диапазонов
Смещение
HTTP API
Запрос
Диапазон запроса
Отранжированные данные
Глава 14. Операторы агрегации
Группирование
without
by
Операторы
sum
count
Значения уникальной метки
avg
stddev и stdvar
min и max
topk и bottomk
quantile
Сообщество
count_values
Глава 15. Двуместные операторы
Работа со скалярами
Арифметические операторы
Операторы сравнения
Модификатор bool
Векторные соответствия
Один- к- одному
Многие- к- одному и group_left
Многие- ко- многим и логические операторы
Оператор или
Оператор пока не
Оператор и
Приоритетность операторов
Глава 16. Функции
Тип изменения
vector
scalar
Математические
abs
ln, log2 и log10
exp
sqrt
ceil и floor
round
clamp_max и clamp_min
Время и дата
time
minute, hour, day_of_week, day_of_month, days_in_month, month и year
timestamp
Метки
label_replace
label_join
Последовательность пропуска и absent
Сортировка при помощи sort и sort_desc
Гистограммы и histogram_quantile
Счётчики
rate
increase
irate
resets
Изменяющие Gauge
changes
deriv
predict_linear
delta
idelta
holt_winters
Агрегация по времени
Глава 17. Правила записи
Применение правил записи
Когда применять правила записи
Понижение кардинального числа
Составление функций вектора диапазона
Правила для API
Как не следует применять правила
Именование правил записи
Глава 18. Предупреждения
Правила предупреждения
for
Метки Alert
Аннотации и Шабломы
Что такое хорошие предупреждения?
Настройка Alertmanagers
Внешние метки
Глава 19. Alertmanager
Конвейер уведомлений
Файл настройки
Дерево маршрутизации
Группирование
Дросселирование и повтор
Получатели
Шаблоны уведомлений
Разрешение уведомлений
Сдерживания
Веб интерфейс Alertmanager
Глава 20. Собираем всё воедино
Планирование отката
Взращивание Prometheus
Планирование отката
Реализация Global посредством Федерализации
Долговременное хранение
Запуск Prometheus
Оборудование
Управление настройкой
Сетевые среды и аутентификация
Планирование для отказа
Кластеризация Alertmanager
Мета- и перекрёстный мониторинг
Производительность изменений
Выявление проблем
Поиск затратных параметров и целей
Hashmod
Снижение нагрузки
Горизонтальное разделение
Управление изменениями
Получение подсказки
Указатель

 Предисловие

 Расширение знания

 Используемые в книги соглашения

В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.

CodeInText указывает кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов, имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter. Вот некий пример: "Это содержит отдельный файл с названием index.html".

Блок кода устанавливается следующим образом:


apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: cli-hello-world
  labels:
    app: nginx
 	   

Если вы желаете привлечь внимание к определённой части блока кода,соответствующие строки или элементы выделяются жирным:


apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: cli-hello-world
  labels:
    app: nginx
 	   

Любой ввод командной строки или её вывод записываются следующим образом:


$ brew cask install minikube
 	   

Жирно: указывает новый термин, важное слово которые вы видите на экране, например, в меню или блоках диалогов появляются именно так. Вот пример: "Внизу данной страницы у вас будет кнопка, которая позволит вам создать Access Token and Access Token Secret для вашей учётной записи.".

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Применение примеров кода

 O’Reilly Safari

 Как поддерживать связь с нами

 Благодарности