Платформа предоставляет мощный функционал управления панелями мониторинга, предназначенный для замены традиционных инструментов Grafana, предлагая пользователям более комплексный и гибкий опыт мониторинга. Эта функция агрегирует различные данные мониторинга внутри платформы, представляя единый мониторинговый обзор, что значительно повышает эффективность вашей настройки.
В настоящее время панели мониторинга поддерживают только просмотр данных мониторинга, собранных компонентами мониторинга, установленными в платформе. Поэтому перед настройкой панели мониторинга необходимо подготовить следующее:
Панель мониторинга — это коллекция из одной или нескольких панелей, организованных и расположенных в одной или нескольких строках для предоставления чёткого обзора релевантной информации. Эти панели могут запрашивать исходные данные из источников и преобразовывать их в ряд визуальных эффектов, поддерживаемых платформой.
Параметр | Описание |
---|---|
Folder | Папка, в которой располагается панель; можно ввести или выбрать существующую папку. |
Label | Метка панели мониторинга; вы можете быстро находить существующие панели, фильтруя по верхним меткам при переключении. |
Set as Main Dashboard | Если включено, текущая панель будет установлена как основная после успешного создания; при повторном входе в функцию мониторинга по умолчанию будет отображаться основная панель. |
Variables | Добавьте переменные при создании панели для использования в качестве параметров метрик в добавленных панелях, которые также могут использоваться как фильтры на главной странице панели. |
Платформа поддерживает прямой импорт JSON из Grafana для преобразования его в панель мониторинга для отображения.
Query
Переменные типа Query
позволяют фильтровать данные на основе размерностей временных рядов. Выражение запроса может быть задано для динамического вычисления и генерации результатов.
Параметр | Описание |
---|---|
Query Settings | При определении настроек запроса, помимо использования PromQL для запроса временных рядов, платформа также предоставляет некоторые общие переменные и функции. Смотрите Common Functions and Variables. |
Regular Expression | С помощью регулярных выражений можно отфильтровать нужные значения из содержимого, возвращаемого запросами переменных. Это делает каждое имя опции в переменной более ожидаемым. Вы можете предварительно просмотреть, соответствуют ли отфильтрованные значения ожиданиям в Variable Value Preview. |
Selection Settings | - Multiple Selection: При выборе из верхних фильтров на главной странице панели позволяет выбрать несколько опций одновременно. Необходимо ссылаться на эту переменную в выражении запроса панелей для просмотра данных, соответствующих значению переменной. - All: Если отмечено, в фильтрах появится опция All для выбора всех данных переменной. |
Constant
Постоянные переменные — это статические переменные с фиксированными значениями, которые не меняются на протяжении всей панели, обычно используются для хранения идентификаторов окружения, фиксированных порогов или параметров конфигурации, к которым нужно обращаться из нескольких панелей без отображения в фильтрах.
Параметр | Описание |
---|---|
Constant Value | Значение постоянной переменной. |
Custom
Пользовательские переменные позволяют определить предопределённый список статических опций, которые отображаются в виде выпадающих фильтров на панели, обычно используются для ручного выбора конкретных сервисов, команд или категорий без необходимости динамических запросов данных.
Параметр | Описание |
---|---|
Custom Settings | Введите значения опций через запятую, используя формат display_name : value для каждой опции (например, Production : prod, Staging : stage, Development : dev), либо просто перечислите значения, если имя отображения совпадает со значением. |
Textbox
Переменные типа Textbox позволяют пользователям вводить текст напрямую, обычно используются для указания конкретных значений или параметров, не требующих динамических запросов.
Параметр | Описание |
---|---|
Textbox Value | Значение по умолчанию для текстового поля. |
Добавьте несколько панелей в текущую созданную панель мониторинга для отображения данных различных ресурсов.
Совет: Размер панели можно настроить, кликнув по правому нижнему углу; для изменения порядка панелей кликните по любой области панели.
Panel Preview: Область динамически отображает данные, соответствующие добавленным метрикам.
Add Metric: Настройте заголовок панели и метрики мониторинга в этой области.
Способ добавления: Поддерживается использование встроенных метрик или нативных пользовательских метрик. Оба метода объединяются и действуют одновременно.
Legend Parameters: Управляет именами, соответствующими кривым на панелях. Можно использовать текст или шаблоны:
{{.xxxx}}
; например, {{.hostname}}
заменится на значение метки hostname, возвращаемой выражением.Instant Switch: При включённом переключателе Instant будет выполняться запрос мгновенных значений через интерфейс Query Prometheus и сортировка, как в статистических и gauge диаграммах. Если выключен, используется метод query_range
для вычисления серии данных за определённый период.
Panel Settings: Поддерживается выбор различных типов панелей для визуализации метрик. Смотрите Manage Panels.
Нажмите Save для завершения добавления панелей.
Можно добавить одну или несколько панелей в рамках панели мониторинга.
После добавления панелей доступны следующие операции для настройки отображения и размера:
После внесения изменений нажмите кнопку Save на странице панели для сохранения.
Группы — это логические разделители внутри панели, которые могут группировать панели вместе.
Установите созданную пользовательскую панель мониторинга как основную. При повторном входе в функцию мониторинга по умолчанию будет отображаться основная панель.
В левом навигационном меню выберите Operations Center > Monitoring > Monitoring Dashboards.
По умолчанию открывается основная панель мониторинга. Нажмите Switch Dashboard.
Можно найти панели, фильтруя по меткам или поиском по имени, и переключать основные панели с помощью переключателя Main Dashboard.
Вы можете нажать кнопку операций справа на странице панели для выполнения нужных действий.
Операция | Описание |
---|---|
YMAL | Открывает фактический код ресурса CR панели, хранящийся в Kubernetes-кластере. Вы можете изменить всё содержимое панели, редактируя параметры в YAML. |
Export Expression | Экспортирует метрики и соответствующие выражения запросов, используемые в текущей панели, в формате CSV. |
Copy | Копирует текущую панель; вы можете редактировать панели по необходимости и сохранить как новую панель. |
Settings | Изменяет основную информацию текущей панели, например, смену меток и добавление переменных. |
Delete | Удаляет текущую панель мониторинга. |
Платформа предоставляет различные методы визуализации для поддержки разных сценариев. В этом разделе описаны типы панелей, параметры настройки и способы использования.
№ | Название панели | Описание | Рекомендуемые сценарии использования |
---|---|---|---|
1 | Trend Chart | Отображает тенденцию данных во времени с помощью одной или нескольких линий. | Показывает тренды во времени, например, изменения использования CPU, памяти и т.д. |
2 | Step Line Chart | Расширение линейного графика с соединением точек горизонтальными и вертикальными сегментами, образующими ступенчатую структуру. | Подходит для отображения временных меток дискретных событий, например, количества оповещений. |
3 | Bar Chart | Использует вертикальные прямоугольные столбцы для представления величины данных, высота столбцов соответствует значению. | Столбчатые диаграммы интуитивны для сравнения значений, полезны для выявления закономерностей и аномалий, подходят для сценариев с акцентом на изменение значений, например, количество подов, количество узлов и т.д. |
4 | Horizontal Bar Chart | Аналогично столбчатой диаграмме, но использует горизонтальные столбцы. | При большом количестве размерностей данных горизонтальные столбчатые диаграммы лучше используют пространство и повышают читаемость. |
5 | Gauge Chart | Использует полукруглые или кольцевые формы для отображения текущего значения индикатора и его доли от общего. | Интуитивно отражает текущее состояние ключевых индикаторов мониторинга, например, загрузку CPU и использование памяти системы. Рекомендуется использовать пороги с изменением цвета для индикации аномалий. |
6 | Gauge Bar Chart | Использует вертикальные прямоугольные столбцы для отображения текущих значений индикаторов и их доли. | Интуитивно отражает текущее состояние ключевых индикаторов, например, прогресс выполнения задачи и нагрузку системы. При наличии нескольких категорий одного индикатора рекомендуется использовать именно этот тип, например, доступное дисковое пространство. |
7 | Pie Chart | Использует сектора для отображения пропорционального соотношения частей и целого. | Подходит для демонстрации состава данных по разным размерностям, например, доли ответов 4XX, 3XX, 2XX за период. |
8 | Table | Организует данные в виде строк и столбцов, облегчая просмотр и сравнение конкретных значений. | Подходит для отображения структурированных многомерных данных, например, подробной информации об узлах, подах и т.д. |
9 | Stat Chart | Отображает текущее значение одного ключевого индикатора, обычно с текстовым пояснением. | Подходит для отображения в реальном времени важных индикаторов мониторинга, например, количества подов, узлов, текущего числа оповещений и т.д. |
10 | Scatter Plot | Использует декартовы координаты для отображения серии точек данных, отражая корреляцию между двумя переменными. | Подходит для анализа взаимосвязей между двумя индикаторами, выявления закономерностей, таких как линейная корреляция и кластеризация, через распределение точек, помогая обнаружить связи между метриками. |
11 | Text Card | Отображает ключевую текстовую информацию в формате карточки, обычно содержит заголовок и краткое описание. | Подходит для представления текстовой информации, например, описаний панелей и пояснений по устранению неполадок. |
Параметр | Описание |
---|---|
Basic Information | Выберите подходящий тип панели в зависимости от выбранных метрик, добавьте заголовки и описания; можно добавить одну или несколько ссылок для быстрого доступа, выбирая имя ссылки рядом с заголовком. |
Standard Settings | Единицы измерения для нативных метрик. Кроме того, gauge и bar gauge поддерживают настройку поля Total Value, которое отображается как процент от Current Value/Total Value на диаграмме. |
Tooltips | Всплывающие подсказки для отображения данных в реальном времени при наведении на панели, поддерживают выбранную сортировку. |
Threshold Parameters | Настройка порогов для панелей; при включении пороги отображаются выбранными цветами, позволяя визуально оценивать значения относительно порогов. |
Value | Метод вычисления значения, например, последнее или минимальное значение. Применимо только к stat и gauge диаграммам. |
Value Mapping | Переопределение заданных значений, диапазонов, регулярных выражений или специальных значений, например, определение 100 как полной загрузки. Применимо к stat, table и gauge диаграммам. |
Тип панели | Параметр | Описание |
---|---|---|
Trend Chart | Graph Style | Можно выбрать между линейным графиком и графиком с заливкой (area); линейные графики больше отражают тенденции изменений индикаторов, а area-графики акцентируют внимание на изменениях общей и частичной пропорции. Выбирайте в зависимости от потребностей. |
Gauge Chart | Gauge Chart Settings | Show Direction: При необходимости просмотра нескольких метрик на одном графике можно задать горизонтальное или вертикальное расположение. Unit Redefinition: Можно задать отдельные единицы измерения для каждой метрики; если не задано, используется единица из Standard Settings. |
Stat Chart | Stat Chart Settings | Show Direction: При необходимости просмотра нескольких метрик на одном графике можно задать горизонтальное или вертикальное расположение. Graph Mode: Можно добавить график в stat chart для отображения тренда метрики во времени. |
Pie Chart | Pie Chart Settings | Maximum Number of Slices: Позволяет уменьшить количество секторов в круговой диаграмме, чтобы снизить влияние категорий с низкой долей, но большим количеством. Избыточные секторы объединяются в Others. Label Display Fields: Настройка полей, отображаемых в метках круговой диаграммы. |
Pie Chart | Graph Style | Можно выбрать стиль отображения: pie или donut. |
Table | Table Settings | Hide Columns: Позволяет уменьшить количество столбцов для фокусировки на основных. Column Alignment: Настройка выравнивания данных в столбце. Display Name and Unit: Изменение названий столбцов и единиц измерения. |
Text Card | Graph Style | Style: Можно выбрать редактирование содержимого текстовой карточки в формате rich-text или HTML. |
Создайте новый YAML-файл конфигурации с именем example-dashboard.yaml
.
Добавьте ресурс MonitorDashboard в YAML-файл и отправьте его. Пример создания панели мониторинга с именем demo-v2-dashboard1:
При определении настроек запросов, помимо использования PromQL, платформа предоставляет следующие общие функции для удобства настройки:
Функция | Назначение |
---|---|
label_names() | Возвращает все метки в Prometheus, например, label_names(). |
label_values(label) | Возвращает все доступные значения для имени метки во всех метриках Prometheus, например, label_values(job). |
label_values(metric, label) | Возвращает все доступные значения для имени метки в указанной метрике, например, label_values(up, job). |
metrics(metric) | Возвращает все имена метрик, удовлетворяющих заданному регулярному выражению, например, metrics(cpaas_active). |
query_result(query) | Возвращает результат запроса для указанного запроса Prometheus, например, query_result(up). |
При определении настроек запросов можно комбинировать общие функции в переменные для быстрого определения пользовательских переменных. Ниже приведены распространённые определения переменных для справки:
Имя переменной | Функция запроса | Регулярное выражение |
---|---|---|
cluster | label_values(cpaas_cluster_info,cluster) | - |
node | label_values(node_load1, instance) | /(.*?):.*/ |
namespace | query_result(kube_namespace_labels) | /.*namespace=\"(.*?)\".*/ |
deployment | label_values(kube_deployment_spec_replicas{namespace="$namespace"}, deployment) | - |
daemonset | label_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset) | - |
statefulset | label_values(kube_statefulset_replicas{namespace="$namespace"}, statefulset) | - |
pod | label_values(kube_pod_info{namespace=~"$namespace"}, pod) | - |
vmcluster | label_values(up, vmcluster) | - |
daemonset | label_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset) | - |
Использование функции 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
.
Добавьте первую переменную: 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