Управление панелями мониторинга
Содержание
Обзор функцийОсновные возможностиПреимуществаСценарии использованияПредварительные требованияВзаимосвязь между панелями мониторинга и компонентами мониторингаУправление панелямиСоздание панелиИмпорт панелиДобавление переменныхДобавление панелейДобавление группПереключение панелейДругие операцииУправление панелямиОписание панелейОписание конфигурации панелейОбщие параметрыСпециальные параметры для панелейСоздание панелей мониторинга через 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.
-
Нажмите OK для добавления одной или нескольких переменных.
Добавление панелей
Совет: Вы можете настроить размер панели, щёлкнув по правому нижнему углу; щёлкните в любом месте панели, чтобы изменить порядок панелей.
- Нажмите Add Panel, руководствуясь следующими инструкциями для настройки соответствующих параметров.
-
Panel Preview: Область динамически отображает данные, соответствующие добавленным метрикам.
-
Add Metric: Настройте заголовок панели и метрики мониторинга в этой области.
-
Способ добавления: Поддерживается использование встроенных метрик или нативных пользовательских метрик. Оба способа объединяются и действуют одновременно.
- Встроенные метрики: Выберите часто используемые метрики и параметры легенды, встроенные в платформу, для отображения данных в текущей панели.
- Примечание: Все метрики, добавленные в панель, должны иметь единый измерительный блок; нельзя добавлять метрики с разными единицами измерения в одну панель.
- Нативные: Настройте единицу измерения метрики, выражение метрики и параметры легенды. Выражение метрики следует синтаксису PromQL; подробности смотрите в PromQL Official Documentation.
- Встроенные метрики: Выберите часто используемые метрики и параметры легенды, встроенные в платформу, для отображения данных в текущей панели.
-
Параметры легенды: Управляют именами, соответствующими кривым на панелях. Можно использовать текст или шаблоны:
- Правило: Введённое значение должно иметь формат
{{.xxxx}}; например,{{.hostname}}заменится на значение, соответствующее метке hostname, возвращаемой выражением. - Совет: Если ввести некорректно отформатированный параметр легенды, имена кривых на панели будут отображаться в исходном формате.
- Правило: Введённое значение должно иметь формат
-
Instant Switch: При включении переключателя Instant будет выполняться запрос мгновенных значений через интерфейс Query Prometheus и сортировка, как в статистических и gauge панелях. Если выключено, используется метод
query_rangeдля вычисления серии данных за определённый период. -
Настройки панели: Поддерживается выбор разных типов панелей для визуализации метрик. Смотрите раздел Manage Panels.
-
Нажмите Save для завершения добавления панелей.
-
Вы можете добавить одну или несколько панелей внутри панели мониторинга.
-
После добавления панелей можно выполнить следующие операции для настройки отображения и размера панелей по вашему усмотрению.
- Щёлкните правый нижний угол панели для настройки её размера.
- Щёлкните в любом месте панели для изменения порядка панелей.
-
После настройки нажмите кнопку 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и другие.
- Query Settings:
-
Добавьте вторую переменную: deployment, ссылаясь на ранее созданную переменную:
- Query Settings:
kube_deployment_spec_replicas{namespace=~"$namespace"}. - Regular Expression:
/.+deployment="(.*?)",.*/.
- Query Settings:
-
Добавьте панель в текущую панель мониторинга и используйте ранее добавленные переменные, например:
- Имя метрики: 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