Веб-интерфейсы, связанные с модулем: grafana
Устанавливает и полностью настраивает Prometheus, настраивает сбор метрик со многих распространенных приложений, а также предоставляет необходимый минимальный набор alert’ов для Prometheus и dashboard Grafana.
Если используется StorageClass с поддержкой автоматического расширения (allowVolumeExpansion: true
), при нехватке места на диске для данных Prometheus его емкость будет увеличена.
Ресурсы CPU и memory автоматически выставляются при пересоздании пода на основе истории потребления, благодаря модулю Vertical Pod Autoscaler. Также, благодаря кэшированию запросов к Prometheus с помощью Trickster, потребление памяти Prometheus сильно сокращается.
Поддерживается как pull-, так и push-модель получения метрик.
Мониторинг аппаратных ресурсов
Реализовано отслеживание нагрузки на аппаратные ресурсы кластера с графиками по утилизации:
- процессора;
- памяти;
- диска;
- сети.
Графики доступны с агрегацией в разрезе:
- по подам;
- контроллерам;
- пространствам имен;
- узлам.
Мониторинг Kubernetes
Deckhouse настраивает мониторинг широкого набора параметров «здоровья» Kubernetes и его компонентов, в частности:
- общей утилизации кластера;
- связанности узлов Kubernetes между собой (измеряется rtt между всеми узлами);
- доступности и работоспособности компонентов control plane:
etcd
;coredns
иkube-dns
;kube-apiserver
и др.
- синхронизации времени на узлах и др.
Мониторинг Ingress
Подробно описан здесь
Режим расширенного мониторинга
В Deckhouse возможно использование режима расширенного мониторинга, который предоставляет возможности алертов по дополнительным метрикам: свободному месту и inode на дисках узлов, утилизации узлов, доступности подов и образов контейнеров, истечении действия сертификатов, другим событиям кластера.
Алертинг в режиме расширенного мониторинга
Deckhouse позволяет гибко настроить алертинг на каждый из namespace’ов и указывать разную критичность в зависимости от порогового значения. Есть возможность указать множество пороговых значений отправки алертов в различные namespace’ы, например, для таких параметров, как:
- значения свободного места и inodes на диске;
- утилизация CPU узлов и контейнера;
- процент 5xx ошибок на
nginx-ingress
; - количество возможных недоступных подов в
Deployment
,StatefulSet
,DaemonSet
.
Алерты
Мониторинг в составе Deckhouse включает также и возможности уведомления о событиях. В стандартной поставке уже идет большой набор только необходимых алертов, покрывающих состояние кластера и его компонентов. При этом всегда остается возможность добавления кастомных алертов.
Отправка алертов во внешние системы
Deckhouse поддерживает отправку алертов с помощью Alertmanager
:
- по протоколу SMTP;
- в PagerDuty;
- в Slack;
- в Telegram;
- посредством Webhook;
- по любым другим каналам, поддерживаемым в Alertmanager.
Включенные модули
Компоненты, устанавливаемые Deckhouse
Компонент | Описание |
---|---|
prometheus-main | Основной Prometheus, который выполняет scrape каждые 30 секунд (с помощью параметра scrapeInterval можно изменить это значение). Именно он обрабатывает все правила, отправляет алерты и является основным источником данных. |
prometheus-longterm | Дополнительный Prometheus, который выполняет scrape данных из основного Prometheus (prometheus-main ) каждые 5 минут (с помощью параметра longtermScrapeInterval можно изменить это значение). Используется для продолжительного хранения истории и отображения больших промежутков времени. |
trickster | Кэширующий прокси, снижающий нагрузку на Prometheus. |
aggregating-proxy | Агрегирующий и кеширующий прокси, снижающий нагрузку на Prometheus и объединяющий main и longterm в один источник. |
memcached | Сервис кэширования данных в оперативной памяти. |
grafana | Управляемая платформа визуализации данных. Включает подготовленные dashboard’ы для всех модулей Deckhouse и некоторых популярных приложений. Grafana умеет работать в режиме высокой доступности, не хранит состояние и настраивается с помощью CRD. |
metrics-adapter | Компонент, соединяющий Prometheus и Kubernetes metrics API. Включает поддержку HPA в кластере Kubernetes. |
vertical-pod-autoscaler | Компонент, позволяющий автоматически изменять размер запрошенных ресурсов для подов с целью оптимальной утилизации CPU и памяти. |
Различные exporter’ы | Подготовленные и подключенные к Prometheus exporter’ы. Список включает множество exporter’ов для всех необходимых метрик: kube-state-metrics , node-exporter , oomkill-exporter , image-availability-exporter и многие другие. |
Внешние компоненты
Deckhouse может интегрироваться с большим количеством разнообразных решений следующими способами:
Название | Описание |
---|---|
Alertmanagers | Alertmanager’ы могут быть подключены к Prometheus и Grafana и находиться как в кластере Deckhouse, так и за его пределами. |
Long-term metrics storages | Используя протокол remote write , возможно отсылать метрики из Deckhouse в большое количество хранилищ, включающее Cortex, Thanos, VictoriaMetrics. |