Веб-интерфейс системы мониторинга
В качестве веб-интерфейса системы мониторинга используется Grafana.
Главный экран
На главном экране Grafana расположена основная информация о кластере и его основных компонентах.
В левой верхней части экрана указаны характеристики основных компонентов кластера: версия containerd, дистрибутив Linux, на базе которого работает кластер, а также версии Grafana, Prometheus и т.д.
В правой верхней части экрана расположены удобные графические обозначения для основных параметров — количества узлов кластере, количество запущенных в ней подов и других сущностей кластера.
Для получения более подробной информации можно навести на любой элемент курсор мыши, нужная информация отображается во всплывающей подсказке.
Ниже блоков с характеристиками расположены быстрые ссылки на дашборды некоторых компонентов кластера. Например, на мониторинг узлов кластера, потребления системных ресурсов его компонентами и статистику сетевого взаимодействия.
Левее расположен блок со ссылками на веб-интерфейсы кластера, доступные для пользователя, а также блок с информацией о способе обновления кластера и временных окнах, в которые это обновление должно произойти (если они настроены).
В левом верхнем углу главного экрана расположена кнопка открытия бокового меню, в котором расположены ссылки на основные элементы Grafana.
При переходе на вкладку «Dashboards» откроется список всех доступных дашбордов Deckhouse, сгруппированных по категориям.
Они имеют вложенную структуру и сгруппированы по назначению — приложения в кластере (Applications), сетевое взаимодействие (Ingress Nginx), параметры кластера (Kubernetes Cluster), основные (Main) и безопасность (Security).
Работа с дашбордами
Дашборд представляет собой экран с расположенными на нем таблицами и графиками, содержащими информацию о выбранном компоненте кластера.
Фильтрация информации
В верхней части под названием и быстрой ссылкой на родительскую категорию располагается блок фильтров, позволяющий настроить отображение, исключив из выдачи несущественную информацию или сконцентрировав выбор на одном конкретном компоненте.
Например, на приведенном выше примере с дашбордом узлов кластера можно задать в фильтре отображение только одного из трех узлов, исключив из выдачи информацию об остальных двух узлах.
После выбора в фильтре параметров дашборд сразу же изменится, и содержимое будет заменено на соответствующее заданным параметрам фильтрации.
Работа с данными
Каждый из представленных на дашборде графиков можно открыть в более подробном виде. Для этого необходимо навести курсор на правый верхний угол блока с графиком, нажать на появившуюся кнопку с тремя точками и выбрать пункт «View».
Выбранный график откроется на весь экран.
Здесь можно просмотреть более подробно информацию на графике за определенный момент времени. Для этого нужно навести курсор мыши на график — он примет вид красной горизонтальной черты, а рядом с ним отобразится всплывающее окошко с временной меткой и значением графика на этот момент:
Для перехода обратно на предыдущий экран достаточно нажать «Esc». Просмотреть подробно список записей из которых строится график, можно, выбрав в меню блока (по кнопке с тремя точками в правом верхнем углу блока) пункт «Inspect» и соответствующий запросу подпункт «Data».
В правой части экрана откроется окно с подробным содержанием записей.
В открывшемся окне отобразятся все данные, из которых построен график. Здесь их также можно скачать в формате CSV и просмотреть общую статистику (например, общее количество записей). Для этого необходимо перейти на вкладку «Stats» окна со с данными.
Описание дашбордов
Дашборд «Applications – Log Shipper» — состояние модуля log-shipper
. Здесь представлено количество агентов модуля на узлах и их нагрузка.
Дашборд «Applications – Loki» — состояние модуля loki
.
Дашборд «Applications – Loki Logs» — логи модуля loki
.
Дашборды группы Ingress Nginx — дашборды, связанные с Ingress-контроллерами:
-
Дашборд «Namespace Detail» — на этом дашборде отображается детализация компонентов в пространстве имен. В фильтрах возможно выбрать конкретное пространство имен, Ingress, Service и другие параметры для отображения.
-
Дашборд «Namespaces» — данные по Ingress-контроллеру в разрезе пространств имен кластера. В фильтрах можно выбрать конкретное пространство имен, виртуальные хосты и тип контента.
-
Дашборд «VHost Detail» — подробные данные по Ingress-контроллеру в разрезе виртуальных хостов.
-
Дашборд «VHost» — сводные данные по Ingress-контроллеру в разрезе виртуальных хостов кластера. В фильтрации можно выбрать конкретный виртуальный хост.
Дашборды группы «Kubernetes Cluster» — дашборды, связанные с кластером Kubernetes:
-
Дашборд «Aggregating Proxy Cache» — сводная информация по потребляемым прокси-сервером ресурсам.
-
Дашборд «Cilium Metrics» — метрики модуля
cni-cilium
. -
Дашборд «Control Plane Status» — состояние управляющего слоя кластера.
-
Дашборд «Deprecated APIs» — отображает состояния Kubernetes API, которое на текущий момент находится в состоянии прекращения поддержки. Также на нем расположены инструкции по миграции на актуальные версии и запросы к эндпоинтам этого API.
-
Дашборд «DNS (coredns)» — данные о работе CoreDNS.
-
Дашборд «etcd3» — состояние базы данных etcd.
-
Дашборд «External ping» — статистика внешних запросов.
-
Дашборд «Ingress Nginx Controller Detail» — параметры Ingress Nginx-контроллера.
-
Дашборд «Ingress Nginx Controllers» — подробные данные об Ingress Nginx-контроллерах кластера.
-
Дашборд «Node» — данные о работе узлов. В фильтрах можно выбрать целевой узел для отображения статистики.
-
Дашборд «Nodes» — сводные данные о работе узлов кластера. В фильтрах можно выбрать конкретный узел.
-
Дашборд «Nodes ping» — пинг до узлов кластера.
-
Дашборд «NTP» — состояние сервера времени.
-
Дашборд «Prometheus Benchmark» — статус модуля
prometheus
. -
Дашборд «Prometheus-(self)» — сводная информация о состоянии Prometheus.
Дашборды группы «Main» — дашборды с общими данными о состоянии кластера:
-
Дашборд «Capacity Planning» — сводные данные о производительности кластера.
-
Дашборд «Deckhouse» — сводная информация о состоянии ядра платформы.
-
Дашборд «Namespace» — данные по конкретному пространству имен кластера.
-
Дашборд «Namespace / Controller» — данные по контроллерам в пространствах имен. В фильтрах можно выбрать конкретные пространства имен и контроллеры.
-
Дашборд «Namespace / Controller / Pod» — данные по подам в пространствах имен. В фильтрах можно выбрать определенные пространства имен и поды в них.
-
Дашборд «Namespaces» — сводные данные в разрезе пространств имен в кластере.
Просмотр журналов событий безопасности
Просмотр журналов событий безопасности осуществляется в веб-интерфейсе Grafana. Необходимые дашборды сгруппированы в папке «Security»:
-
Admission policy engine. Содержит информацию, связанную с работой политик безопасности. В том числе: количество событий запрета выполнения действий из-за нарушения политики безопасности; разбивку запретов выполнения действий по типу запрета; журнал событий. Журнал событий безопасности, связанных с политиками безопасности, находится в окне OPA Violations.
-
CIS Kubernetes Benchmark. Дашборд с информацией о результатах работы сканера проверок конфигурации кластера на соответствие принятым подходам (лучшим практикам). Содержит сводную информацию о результатах проверки, без возможности детализации. Дашборд доступен при включенном модуле
operator-trivy
. -
Kubernetes audit logs. Журнал регистрации обращений к API-серверу. Содержит записи о всех обращениях к API-серверу кластера в JSON-формате.
-
Runtime audit engine logs. Журнал регистрации событий безопасности аудита работы ядра Linux и API-сервера кластера.
-
Trivy Image Vulnerability Overview. Дашборд со сводной и детализированной информацией о сканировании образов контейнеров подов в пространствах имен, отмеченных аннотацией
security-scanning.deckhouse.io/enabled
.