Управление Мониторинговыми Панелями
Содержание
Обзор ФункцийОсновные ВозможностиПреимуществаСценарии ИспользованияПредварительные ТребованияВзаимосвязь Между Панелями Мониторинга и Компонентами МониторингаУправление ПанелямиСоздание ПанелиИмпорт ПанелиДобавление ПеременныхДобавление ПанелейДобавление ГруппПереключение ПанелейДругие ОперацииУправление ПанелямиОписание ПанелейОписание Настроек ПанелейОбщие ПараметрыСпециальные Параметры ПанелейСоздание Панелей Мониторинга через CLIОбщие Функции и ПеременныеОбщие ФункцииОбщие ПеременныеПример Использования Переменной №1Пример Использования Переменной №2Примечания по Использованию Встроенных МетрикОбзор Функций
Платформа предоставляет мощный функционал управления панелями мониторинга, предназначенный для замены традиционных инструментов Grafana, предлагая пользователям более комплексный и гибкий опыт мониторинга. Эта функция агрегирует различные данные мониторинга внутри платформы, представляя единый мониторинговый обзор, что значительно повышает эффективность вашей настройки.
Основные Возможности
- Поддержка настройки пользовательских панелей мониторинга как для бизнес-вью, так и для платформенных вью.
- Возможность просмотра публично расшаренных панелей, настроенных в платформенных вью, из бизнес-вью с изоляцией данных по namespace, к которому принадлежит бизнес.
- Поддержка управления панелями внутри дашборда: добавление, удаление, изменение панелей, масштабирование панелей и перемещение панелей с помощью drag-and-drop.
- Возможность задавать пользовательские переменные внутри дашборда для фильтрации данных запросов.
- Поддержка настройки групп внутри дашборда для управления панелями. Группы могут отображаться повторно на основе пользовательских переменных.
- Поддерживаемые типы панелей включают: trend, step line chart, bar chart, horizontal bar chart, bar gauge chart, gauge chart, table, stat chart, XY chart, pie chart, text.
- Функция однокликового импорта панелей из Grafana.
Преимущества
- Поддержка пользовательских сценариев мониторинга без ограничений предопределёнными шаблонами, что позволяет достичь по-настоящему персонализированного мониторинга.
- Предоставляет широкий набор вариантов визуализации, включая линейные графики, столбчатые диаграммы, круговые диаграммы, а также гибкие варианты компоновки и стилизации.
- Бесшовная интеграция с ролевыми правами платформы, позволяющая бизнес-вью определять собственные панели мониторинга с обеспечением изоляции данных.
- Глубокая интеграция с различными функциями контейнерной платформы, обеспечивающая мгновенный доступ к данным мониторинга контейнеров, сетей, хранилищ и др., предоставляя пользователям всестороннее наблюдение за производительностью и диагностику неисправностей.
- Полная совместимость с JSON панелей Grafana, что облегчает миграцию с Grafana для продолжения использования.
Сценарии Использования
- Управление IT-операциями: В составе команды IT-операций вы можете использовать панели мониторинга для унифицированного отображения и управления различными метриками производительности контейнерной платформы, такими как CPU, память, сетевой трафик и др. Настраивая отчёты мониторинга и правила оповещений, вы сможете своевременно выявлять и локализовать системные проблемы, повышая эффективность эксплуатации.
- Анализ производительности приложений: Для разработчиков и тестировщиков приложений панели мониторинга предлагают разнообразные визуализации для наглядного отображения состояния работы приложений и потребления ресурсов. Вы можете создавать специализированные виды мониторинга, адаптированные под разные сценарии приложений, для глубокого анализа узких мест производительности и предоставления основы для оптимизации.
- Управление мультикластером: Для пользователей, управляющих несколькими контейнерными кластерами, панели мониторинга могут агрегировать данные мониторинга из разных кластеров, позволяя получить общий обзор состояния системы.
- Диагностика неисправностей: При возникновении системных проблем панели мониторинга предоставляют комплексные данные о производительности и аналитические инструменты для быстрого выявления корневой причины. Вы можете оперативно просматривать колебания соответствующих метрик на основе информации об оповещениях для углублённого анализа неисправностей.
Предварительные Требования
В настоящее время панели мониторинга поддерживают только просмотр данных мониторинга, собранных компонентами мониторинга, установленными в платформе. Поэтому перед настройкой панели мониторинга необходимо подготовить следующее:
- Убедитесь, что в кластере, для которого вы хотите настроить панель мониторинга, установлены компоненты мониторинга, а именно плагин ACP Monitor с Prometheus или ACP Monitor с VictoriaMetrics.
- Убедитесь, что данные, которые вы хотите отображать на панели, были собраны компонентами мониторинга.
Взаимосвязь Между Панелями Мониторинга и Компонентами Мониторинга
- Ресурсы панелей мониторинга хранятся в Kubernetes кластере. Вы можете переключать отображение между разными кластерами с помощью вкладки Cluster вверху.
- Панели мониторинга зависят от компонентов мониторинга в кластере для запроса источников данных. Поэтому перед использованием панелей убедитесь, что в текущем кластере успешно установлены компоненты мониторинга и они работают нормально.
- Панель мониторинга по умолчанию будет запрашивать данные мониторинга из соответствующего кластера. Если в кластере установлен плагин VictoriaMetrics в режиме proxy, мы автоматически запросим кластер хранения для получения данных для этого кластера без необходимости специальной настройки.
Управление Панелями
Панель — это коллекция из одной или нескольких панелей, организованных и расположенных в одной или нескольких строках для предоставления чёткого обзора релевантной информации. Эти панели могут запрашивать исходные данные из источников и преобразовывать их в ряд визуальных эффектов, поддерживаемых платформой.
Создание Панели
- Нажмите Create Dashboard, ориентируйтесь на следующие инструкции для настройки соответствующих параметров.
- После добавления нажмите Create для завершения создания панели. Далее необходимо добавить переменные, добавить панели и добавить группы для завершения общей компоновки.
Импорт Панели
Платформа поддерживает прямой импорт JSON из Grafana для преобразования его в панель мониторинга для отображения.
- В настоящее время поддерживается только Grafana JSON версии V8+; более низкие версии запрещены к импорту.
- Если какие-либо панели в импортированной панели не входят в поддерживаемый платформой диапазон, они могут отображаться как unsupported panel types, но вы можете изменить настройки панели для нормального отображения.
- После импорта панели вы можете выполнять любые операции управления как обычно, без отличий от панелей, созданных в платформе.
Добавление Переменных
- В области формы переменной нажмите Add.
Query
Переменные типа Query позволяют фильтровать данные на основе измерений временных рядов. Можно задать выражение запроса для динамического вычисления и генерации результатов.
Constant
Константные переменные — это статические переменные с фиксированными значениями, которые не меняются в течение всей панели, обычно используются для хранения идентификаторов окружения, фиксированных порогов или параметров конфигурации, которые нужно ссылать в нескольких панелях без отображения в фильтрах.
Custom
Пользовательские переменные позволяют определить предопределённый список статических опций, которые отображаются как выпадающие фильтры на панели, обычно используются для ручного выбора конкретных сервисов, команд или категорий без необходимости динамических запросов данных.
Textbox
Переменные типа Textbox позволяют пользователям вводить текст напрямую, обычно используются для указания конкретных значений или параметров, не требующих динамических запросов.
- Нажмите OK для добавления одной или нескольких переменных.
Добавление Панелей
Добавьте несколько панелей в текущую созданную панель мониторинга для отображения данных по разным ресурсам.
Совет: Вы можете настроить размер панели, кликнув по правому нижнему углу; клик по любой части панели позволяет изменить порядок панелей.
- Нажмите Add Panel, ориентируйтесь на следующие инструкции для настройки параметров.
-
Panel Preview: Область динамически отображает данные, соответствующие добавленным метрикам.
-
Add Metric: Настройте заголовок панели и метрики мониторинга в этой области.
-
Adding Method: Поддерживается использование встроенных метрик или нативно настроенных метрик. Оба метода объединяются и действуют одновременно.
- Built-in Metrics: Выберите часто используемые метрики и параметры легенды, встроенные в платформу, для отображения данных в текущей панели.
- Примечание: Все метрики, добавленные в панель, должны иметь единый юнит; нельзя добавлять метрики с разными единицами в одну панель.
- Native: Настройте единицу метрики, выражение метрики и параметры легенды. Выражение метрики следует синтаксису PromQL; подробности смотрите в PromQL Official Documentation.
- Built-in Metrics: Выберите часто используемые метрики и параметры легенды, встроенные в платформу, для отображения данных в текущей панели.
-
Legend Parameters: Управляет именами, соответствующими кривым на панелях. Можно использовать текст или шаблоны:
- Правило: Вводимое значение должно быть в формате
{{.xxxx}}; например,{{.hostname}}заменится на значение метки hostname, возвращаемой выражением. - Совет: Если ввести некорректно отформатированный параметр легенды, имена кривых будут отображаться в исходном виде.
- Правило: Вводимое значение должно быть в формате
-
Instant Switch: При включённом переключателе Instant запрос будет выполняться через интерфейс Query Prometheus для мгновенных значений и сортироваться, как в статистических и gauge диаграммах. Если выключен, используется метод
query_rangeдля вычисления серии данных за определённый период. -
Panel Settings: Поддерживает выбор разных типов панелей для визуализации метрик. Смотрите Manage Panels.
-
Нажмите Save для завершения добавления панелей.
-
Можно добавить одну или несколько панелей в дашборд.
-
После добавления панелей доступны следующие операции для настройки отображения и размера:
- Клик по правому нижнему углу панели для настройки размера.
- Клик по любой части панели для изменения порядка панелей.
- Кнопка Edit для изменения настроек панели.
- Кнопка Delete для удаления панели.
- Кнопка Copy для копирования панели.
-
После настройки нажмите кнопку Save на странице панели для сохранения изменений.
Добавление Групп
Группы — это логические разделители внутри панели, которые могут группировать панели вместе.
- Нажмите выпадающее меню Add Panel > Add Group, ориентируйтесь на следующие инструкции для настройки параметров.
- Group: Название группы.
- Repeat: Поддерживает отключение повторов или выбор переменных для текущих панелей.
- Disable Repeat: Не выбирать переменную, использовать группу по умолчанию.
- Parameter Variables: Выбрать переменные, созданные в текущих панелях; панель мониторинга создаст строку идентичных подгрупп для каждого значения переменной. Подгруппы не поддерживают изменение, удаление или перемещение панелей.
- После добавления группы доступны следующие операции для управления отображением панелей внутри дашборда:
- Группы можно сворачивать или разворачивать для скрытия части содержимого. Панели в свернутых группах не отправляют запросы.
- Перемещайте панели в группу, чтобы они управлялись этой группой. Группа управляет всеми панелями между ней и следующей группой.
- При сворачивании группы можно перемещать все панели, управляемые этой группой, вместе.
- Сворачивание и разворачивание групп также считается изменением дашборда. Чтобы сохранить это состояние при следующем открытии, нажмите Save.
Переключение Панелей
Установите созданную пользовательскую панель мониторинга как основную. При повторном входе в функцию мониторинга по умолчанию будет отображаться основная панель.
-
В левом навигационном меню выберите Operations Center > Monitoring > Monitoring Dashboards.
-
По умолчанию открывается основная панель мониторинга. Нажмите Switch Dashboard.
-
Можно найти панели, фильтруя по меткам или поиском по имени, и переключать основную панель с помощью переключателя Main Dashboard.
Другие Операции
Вы можете нажать кнопку операций справа на странице панели для выполнения нужных действий.
Управление Панелями
Платформа предоставляет различные методы визуализации для поддержки разных сценариев. В этом разделе представлены типы панелей, параметры настройки и способы использования.
Описание Панелей
Описание Настроек Панелей
Общие Параметры
Специальные Параметры Панелей
Создание Панелей Мониторинга через CLI
-
Создайте новый YAML файл конфигурации с именем
example-dashboard.yaml. -
Добавьте ресурс MonitorDashboard в YAML и отправьте его. Пример создания панели мониторинга с именем demo-v2-dashboard1:
Общие Функции и Переменные
Общие Функции
При определении настроек запроса, помимо использования PromQL, платформа предоставляет следующие общие функции для удобства настройки:
Общие Переменные
При определении настроек запроса можно комбинировать общие функции в переменные для быстрого создания пользовательских переменных. Ниже приведены распространённые определения переменных для справки:
Пример Использования Переменной №1
Использование функции query_result(query) для запроса значения: node_load5 и извлечения IP.
-
В Query Settings введите
query_result(node_load5). -
В области Variable Value Preview пример превью:
node_load5{container="node-exporter",endpoint="metrics",host_ip="192.168.178.182",instance="192.168.178.182:9100"}. -
В Regular Expression введите
/.*instance="(.*?):.*/для фильтрации значения. -
В области Variable Value Preview пример превью:
192.168.176.163.
Пример Использования Переменной №2
-
Добавьте первую переменную: namespace, используя функцию query_result(query) для запроса значения:
kube_namespace_labelsи извлечения namespace.-
Query Settings:
query_result(kube_namespace_labels). -
Variable Value Preview:
kube_namespace_labels{container="exporter-kube-state", endpoint="kube-state-metrics", instance="12.3.188.121:8080", job="kube-state", label_cpaas_io_project="cpaas-system", namespace="cert-manager", pod="kube-prometheus-exporter-kube-state-55bb6bc67f-lpgtx", project="cpaas-system", service="kube-prometheus-exporter-kube-state"}. -
Regular Expression:
/.+namespace=\"(.*?)\".*/. -
В области Variable Value Preview пример превью включает несколько namespace, таких как
argocd,cpaas-systemи другие.
-
-
Добавьте вторую переменную: deployment, ссылаясь на ранее созданную переменную:
-
Query Settings:
kube_deployment_spec_replicas{namespace=~"$namespace"}. -
Regular Expression:
/.+deployment="(.*?)",.*/.
-
-
Добавьте панель в текущий дашборд и используйте ранее добавленные переменные, например:
-
Имя метрики: pod Memory Usage under Compute Components.
-
Пара ключ-значение:
kind:Deployment,name:$deployment,namespace:$namespace.
-
-
После добавления панелей и сохранения вы сможете просматривать соответствующую информацию на главной странице панели.
Примечания по Использованию Встроенных Метрик
Следующие метрики используют пользовательские переменные namespace, name и kind, которые не поддерживают множественный выбор или выбор всех.
namespaceподдерживает выбор только одного конкретного namespace;nameподдерживает только три типа вычислительных компонентов:deployment,daemonset,statefulset;kindподдерживает указание только одного из типов:Deployment,DaemonSet,StatefulSet.
-
workload.cpu.utilization -
workload.memory.utilization -
workload.network.receive.bytes.rate -
workload.network.transmit.bytes.rate -
workload.gpu.utilization -
workload.gpu.memory.utilization -
workload.vgpu.utilization -
workload.vgpu.memory.utilization