• Русский
  • Управление панелями мониторинга

    Обзор функций

    Платформа предоставляет мощные возможности управления панелями мониторинга, предназначенные для замены традиционных инструментов 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 в кластере, мы автоматически запросим кластер хранения для получения соответствующих данных без необходимости специальной настройки.

    Управление панелями

    Панель — это коллекция, состоящая из одной или нескольких панелей, организованных и расположенных в одной или нескольких строках для предоставления ясного обзора соответствующей информации. Эти панели могут запрашивать исходные данные из источников данных и преобразовывать их в ряд визуальных эффектов, поддерживаемых платформой.

    Создание панели

    1. Нажмите Create Dashboard, руководствуясь следующими инструкциями для настройки соответствующих параметров.
    ПараметрОписание
    FolderПапка, в которой находится панель; можно ввести или выбрать существующую папку.
    LabelМетка панели мониторинга; вы можете быстро находить существующие панели, фильтруя по верхним меткам при переключении.
    Set as Main DashboardЕсли включено, текущая панель будет установлена как главная после успешного создания; при повторном входе в функцию панели мониторинга по умолчанию будет отображаться главная панель.
    VariablesДобавьте переменные при создании панели для использования в качестве параметров метрик в добавленных панелях, которые также могут использоваться как фильтры на главной странице панели.
    1. После добавления нажмите Create для завершения создания панели. Далее необходимо добавить переменные, добавить панели и добавить группы для завершения общего дизайна компоновки.

    Импорт панели

    Платформа поддерживает прямой импорт JSON из Grafana для преобразования его в панель мониторинга для отображения.

    • В настоящее время поддерживается только Grafana JSON версии V8+; более низкие версии запрещены к импорту.
    • Если в импортируемой панели есть типы, не поддерживаемые платформой, они могут отображаться как unsupported panel types, но вы можете изменить настройки панели для нормального отображения.
    • После импорта панели вы можете выполнять любые действия управления, как обычно, без отличий от панелей, созданных в платформе.

    Добавление переменных

    1. В области формы переменных нажмите Add.

      ПараметрОписание
      TypeВ настоящее время поддерживаются только переменные типа Query, которые позволяют фильтровать данные на основе признаков временных рядов. Можно задать выражение запроса для динамического вычисления и генерации результатов запроса.
      Display FilterЗначение по умолчанию для отображения выпадающего фильтра на главной странице панели; поддерживается отображение имени и значения, только значения или скрытие фильтра (без отображения).
      Query SettingsИспользование переменных типа Query позволяет фильтровать данные по признакам временных рядов. При определении настроек запроса, помимо использования PromQL для запроса временных рядов, платформа также предоставляет некоторые общие переменные и функции. Смотрите раздел Common Functions and Variables.
      Regular ExpressionС помощью регулярных выражений можно отфильтровать нужные значения из содержимого, возвращаемого запросами переменных. Это делает каждое имя опции в переменной более предсказуемым. Вы можете предварительно просмотреть, соответствуют ли отфильтрованные значения ожиданиям, в Variable Value Preview.
      Selection Settings- Multiple Selection: При выборе из верхних фильтров на главной странице панели позволяет выбирать несколько опций одновременно. Необходимо ссылаться на эту переменную в выражениях запросов панелей для просмотра данных, соответствующих значению переменной.
      - All: Если включено, в опциях фильтра появится вариант All для выбора всех данных переменной.
    2. Нажмите OK для добавления одной или нескольких переменных.

    Добавление панелей

    Совет: Вы можете настроить размер панели, щёлкнув по правому нижнему углу; щёлкните в любом месте панели, чтобы изменить порядок панелей.

    1. Нажмите Add Panel, руководствуясь следующими инструкциями для настройки соответствующих параметров.
    • Panel Preview: Область динамически отображает данные, соответствующие добавленным метрикам.

    • Add Metric: Настройте заголовок панели и метрики мониторинга в этой области.

    • Способ добавления: Поддерживается использование встроенных метрик или нативных пользовательских метрик. Оба способа объединяются и действуют одновременно.

      • Встроенные метрики: Выберите часто используемые метрики и параметры легенды, встроенные в платформу, для отображения данных в текущей панели.
        • Примечание: Все метрики, добавленные в панель, должны иметь единый измерительный блок; нельзя добавлять метрики с разными единицами измерения в одну панель.
      • Нативные: Настройте единицу измерения метрики, выражение метрики и параметры легенды. Выражение метрики следует синтаксису PromQL; подробности смотрите в PromQL Official Documentation.
    • Параметры легенды: Управляют именами, соответствующими кривым на панелях. Можно использовать текст или шаблоны:

      • Правило: Введённое значение должно иметь формат {{.xxxx}}; например, {{.hostname}} заменится на значение, соответствующее метке hostname, возвращаемой выражением.
      • Совет: Если ввести некорректно отформатированный параметр легенды, имена кривых на панели будут отображаться в исходном формате.
    • Instant Switch: При включении переключателя Instant будет выполняться запрос мгновенных значений через интерфейс Query Prometheus и сортировка, как в статистических и gauge панелях. Если выключено, используется метод query_range для вычисления серии данных за определённый период.

    • Настройки панели: Поддерживается выбор разных типов панелей для визуализации метрик. Смотрите раздел Manage Panels.

    1. Нажмите Save для завершения добавления панелей.

    2. Вы можете добавить одну или несколько панелей внутри панели мониторинга.

    3. После добавления панелей можно выполнить следующие операции для настройки отображения и размера панелей по вашему усмотрению.

      • Щёлкните правый нижний угол панели для настройки её размера.
      • Щёлкните в любом месте панели для изменения порядка панелей.
    4. После настройки нажмите кнопку Save на странице панели для сохранения изменений.

    Добавление групп

    Группы — это логические разделители внутри панели, которые могут группировать панели вместе.

    1. Нажмите выпадающее меню Add Panel > Add Group и настройте параметры согласно следующим инструкциям.
    • Group: Имя группы.
    • Repeat: Поддерживается отключение повторов или выбор переменных для текущих панелей.
      • Disable Repeat: Не выбирать переменную, использовать группу по умолчанию.
      • Parameter Variables: Выберите переменные, созданные в текущих панелях, и панель мониторинга сгенерирует строку идентичных подгрупп для каждого соответствующего значения переменной. Подгруппы не поддерживают изменение, удаление или перемещение панелей.
    1. После добавления группы можно выполнять следующие операции для управления отображением панелей внутри панели мониторинга.
      • Группы можно сворачивать или разворачивать для скрытия части содержимого панели. Панели внутри свернутых групп не отправляют запросы.
      • Перемещайте панели в группу, чтобы позволить группе управлять этими панелями. Группа управляет всеми панелями между ней и следующей группой.
      • При сворачивании группы можно также перемещать все панели, управляемые этой группой, вместе.
      • Сворачивание и разворачивание групп также считается изменением панели. Чтобы сохранить это состояние при следующем открытии панели, нажмите кнопку Save.

    Переключение панелей

    Установите созданную пользовательскую панель мониторинга в качестве главной. При повторном входе в функцию панели мониторинга по умолчанию будет отображаться главная панель.

    1. В левой навигационной панели нажмите Operations Center > Monitoring > Monitoring Dashboards.

    2. По умолчанию открывается главная панель мониторинга. Нажмите Switch Dashboard.

    3. Вы можете найти панели, фильтруя по меткам или выполняя поиск по имени, и переключать главные панели с помощью переключателя Main Dashboard.

    Другие операции

    Вы можете нажать кнопку операций справа на странице панели для выполнения необходимых действий с панелью.

    ОперацияОписание
    YMALОткрывает фактический код ресурса CR панели, хранящийся в Kubernetes-кластере. Вы можете изменить всё содержимое панели, редактируя параметры в YAML.
    Export ExpressionПозволяет экспортировать метрики и соответствующие выражения запросов, используемые в текущей панели, в формате CSV.
    CopyКопирует текущую панель; вы можете редактировать панели по необходимости и сохранить как новую панель.
    SettingsИзменяет основную информацию текущей панели, например, изменение меток и добавление дополнительных переменных.
    DeleteУдаляет текущую панель мониторинга.

    Управление панелями

    Платформа предоставляет различные методы визуализации для поддержки разных сценариев использования. В этом разделе будут представлены типы панелей, параметры конфигурации и способы использования.

    Описание панелей

    Название панелиОписаниеРекомендуемые сценарии использования
    1Trend ChartОтображает тенденцию данных во времени с помощью одной или нескольких линий.Показывает тренды во времени, например, изменения использования CPU, памяти и т.д.
    2Step Line ChartСтроится на основе линейного графика, соединяя точки горизонтальными и вертикальными сегментами, образуя ступенчатую структуру.Подходит для отображения временных меток дискретных событий, например, количества оповещений.
    3Bar ChartИспользует вертикальные прямоугольные столбцы для представления величины данных, высота столбцов соответствует значению.Столбчатые диаграммы интуитивны для сравнения значений, полезны для выявления закономерностей и аномалий, подходят для сценариев, ориентированных на изменение значений, например, количество подов, количество узлов и т.д.
    4Horizontal Bar ChartАналогично столбчатой диаграмме, но использует горизонтальные прямоугольные столбцы для представления данных.При большом количестве измерений данных горизонтальные столбчатые диаграммы лучше используют пространство и повышают читаемость.
    5Gauge ChartИспользует полукруглые или кольцевые формы для отображения текущего значения индикатора и его доли от общего.Интуитивно отражает текущее состояние ключевых индикаторов мониторинга, таких как использование CPU и памяти системы. Рекомендуется использовать пороги оповещений с изменением цвета для индикации аномалий.
    6Gauge Bar ChartИспользует вертикальные прямоугольные столбцы для отображения текущего значения индикаторов и их доли.Интуитивно отражает текущее состояние ключевых индикаторов, таких как прогресс выполнения целей и нагрузка системы. При наличии нескольких категорий одного индикатора рекомендуется использовать gauge bar chart, например, доступное дисковое пространство.
    7Pie ChartИспользует сектора для отображения пропорционального соотношения частей и целого.Подходит для демонстрации состава данных по разным измерениям, например, доли кодов ответов 4XX, 3XX и 2XX за период.
    8TableОрганизует данные в формате строк и столбцов, облегчая просмотр и сравнение конкретных значений.Подходит для отображения структурированных многомерных данных, например, подробной информации об узлах, подробной информации о подах и т.д.
    9Stat ChartОтображает текущее значение одного ключевого индикатора, обычно требует текстового пояснения.Подходит для отображения в реальном времени важных индикаторов мониторинга, таких как количество подов, количество узлов, текущее количество оповещений и т.д.
    10Scatter PlotИспользует декартовы координаты для построения серии точек данных, отражая корреляцию между двумя переменными.Подходит для анализа взаимосвязей между двумя индикаторами, выявления закономерностей, таких как линейная корреляция и кластеризация по распределению точек, помогает обнаружить взаимосвязи между метриками.
    11Text CardОтображает ключевую текстовую информацию в формате карточки, обычно содержит заголовок и краткое описание.Подходит для представления текстовой информации, такой как описания панелей и пояснения по устранению неполадок.

    Описание конфигурации панелей

    Общие параметры

    ПараметрОписание
    Basic InformationВыберите подходящий тип панели в зависимости от выбранных метрик и добавьте заголовки и описания; можно добавить одну или несколько ссылок, к которым можно быстро перейти, выбрав соответствующее имя ссылки рядом с заголовком.
    Standard SettingsЕдиницы измерения для нативных метрик. Кроме того, gauge chart и gauge bar поддерживают настройку поля Total Value, которое отображается как процент отношения Current Value/Total Value на диаграмме.
    TooltipsВсплывающие подсказки — переключатель отображения данных в реальном времени при наведении на панели, поддерживает выбранную сортировку.
    Threshold ParametersНастройка порогов для панелей; при включении пороги отображаются выбранными цветами, позволяя визуально оценивать значения по порогам.
    ValueУстановка метода вычисления значений, например, последнее значение или минимальное. Применимо только к stat chart и gauge chart.
    Value MappingПереопределение заданных значений или диапазонов значений, например, определение 100 как полной загрузки. Применимо только к stat chart, table и gauge chart.

    Специальные параметры для панелей

    Тип панелиПараметрОписание
    Trend ChartGraph StyleМожно выбрать между линейным графиком или графиком с заливкой (area chart); линейные графики больше отражают тенденции изменений индикаторов, а area charts акцентируют внимание на изменениях общей и частичной доли. Выбирайте в зависимости от ваших потребностей.
    Gauge ChartGauge Chart Settings
    Display Direction: При необходимости просмотра нескольких метрик на одной диаграмме можно задать горизонтальное или вертикальное расположение метрик.
    Unit Redefinition: Можно задать независимые единицы измерения для каждой метрики; если не задано, платформа использует единицы из Standard Settings.
    Pie ChartPie Chart Settings
    Maximum Number of Slices: Можно ограничить количество секторов в круговой диаграмме, чтобы уменьшить влияние категорий с низкой долей, но большим количеством. Избыточные секторы объединяются в категорию Others.
    Label Display Fields: Можно задать поля, отображаемые в метках круговой диаграммы.
    Pie ChartGraph StyleМожно выбрать стиль отображения: pie или donut.
    TableTable Settings
    Hide Columns: Можно уменьшить количество столбцов в таблице, чтобы сосредоточиться на основных.
    Column Alignment: Можно изменить выравнивание данных в столбце.
    Display Name and Unit: Можно изменить имена столбцов и единицы измерения.
    Text CardGraph Style
    Style: Можно выбрать редактирование содержимого текстовой карты в виде rich-text или HTML.

    Создание панелей мониторинга через CLI

    1. Создайте новый YAML-файл конфигурации с именем example-dashboard.yaml.

    2. Добавьте ресурс MonitorDashboard в YAML-файл и отправьте его. Следующий пример создаёт панель мониторинга с именем demo-v2-dashboard1:

      kind: MonitorDashboard
      apiVersion: ait.alauda.io/v1alpha2
      metadata:
        annotations:
          cpaas.io/dashboard.version: '3'
          cpaas.io/description: '{"zh":"描述信息","en":""}' # Description field
          cpaas.io/operator: admin
        labels:
          cpaas.io/dashboard.folder: demo-v2-folder1 # Folder
          cpaas.io/dashboard.is.home.dashboard: 'False' # Is it the main dashboard?
        name: demo-v2-dashboard1 # Name
        namespace: cpaas-system # Namespace (all management view creations will occur in this ns)
      spec:
        body: # All information fields
          titleZh: 更新显示名称 # Built-in field for Chinese display name (this field is created under the Chinese language)
          title: english_display_name # Built-in field for English display name (this field is created under the English language) Built-in dashboards can set bilingual translations.
          templating: # Custom variables
            list:
              - hide: 0 # 0 means not hidden; 1 means only the label is hidden; 2 means both label and value are hidden
                label: 集群 # Built-in variable display name (label is set to the appropriate name based on the language, e.g., cluster in English)
                name: cluster # Built-in variable name (unique)
                options: # Define dropdown options; if a query retrieves data, it will use requested data; otherwise, it will use options. A default value can be set (generally only used for setting default values)
                  - selected: false # Whether to default select
                    text: global
                    value: global
                type: custom # Custom variable type; currently, only built-in (custom) and query are supported (Importing Grafana will support constant custom interval (after import, it will be changed to a custom variable and will not support auto))
      
              - allValue: '' # Select all, passing options with the format xxx|xxx|xxx; can set allValue for conversion (Grafana retrieves all data for the current variable as xxx|xxx|xxx, adjustments will ensure consistency)
                current: null # Current value of the variable; if not set, defaults to the first in the list
                definition: query_result(kube_namespace_labels) # Query expression for data retrieval
                hide: 0 # 0 means not hidden; 1 means only the label is hidden; 2 means both label and value are hidden
                includeAll: true # Whether to select all
                label: ns # Built-in variable display name
                multi: true # Whether multiple selections are allowed
                name: ns # Variable name (unique)
                options: []
                query: ''
                regex: /.*namespace=\"(.*?)\".*/ # Regex expression for extracting variable values
                sort: 2 # Sorting: 1 - ascending alphabetical order; 2 - descending alphabetical order (only these two support temporarily); 3 - ascending numerical order; 4 - descending numerical order
                type: query # Custom variable type
          time: # Dashboard time
            from: now-30m # Start time
            to: now # End time
          repeat: '' # Row repeat configuration; chooses custom variable
          collapsed: 'false' # Row collapsed or expanded configuration
          description: '123' # Description (tooltip after title)
          targets: # Data sources
            - indicator: cluster.node.ready # Metric
              expr: sum (cpaas_pod_number{cluster=\"\"}>0) # PromQL expression
              instant: false # Query mode true retrieves data at a specific time
              legendFormat: '' # Legend
              range: true # Default querying range when retrieving data
              refId: 指标1 # Unique identifier for display name of data source
          gridPos: # Information on the dashboard's positional layout
            h: 8 # Height
            w: 12 # Width (width corresponds to 24 grid units)
            x: 0 # Horizontal position
            y: 0 # Vertical position
          panels: # Panel data
            title: panel标题tab # Panel name
            type: table # Panel type; currently supports timeseries, barchart, stat, gauge, table, bargauge, row, text, pie (step chart, scatter plot, bar chart, configurable through drawStyle attribute)
            id: a2239830-492f-4d27-98f3-cb7ecb77c56f # Unique identifier
            links: # Links
              - targetBlank: true # Open in a new tab
                title: '1' # Name
                url: '1' # URL address
            transformations: # Data transformations
              - id: 'organize' # Type organize; used for sorting, rearranging order, showing fields, whether to display
                options:
                  excludeByName: # Hidden fields
                    cluster_cpu_utilization: true
                  indexByName: # Sort
                    cluster_cpu_utilization: 0,
                    Time: 1
                  renameByName: # Rename
                    Time: ''
                    cluster_cpu_utilization: '222'
              - id: 'merge' # Merging data
                options:
            fieldConfig: # For defining panel properties and appearance
              defaults: # Default configuration
                custom: # Custom graphic attributes
                  align: 'left' # Table alignment: left, center, right
                  cellOptions: # Table threshold configuration
                    type: color-text # Only supports text for threshold color settings
                  spanNulls: false # true connects null values; false does not connect; number == 0 connects null values according to 0
                  drawStyle: line # Panel types: line, bars for bar charts, points for point charts
                  fillOpacity: 20 # Exists when drawStyle is area (currently does not support configuration, area defaults to 20)
                  thresholdsStyle: # Configures how to display thresholds (currently only supports line)
                    mode: line # Threshold display format (area not supported currently)
                  lineInterpolation: 'stepBefore' # Step chart configuration; defaults to only supporting stepBefore (stepAfter will be supported later)
                decimals: 3 # Decimal points
                min: 0 # Minimum value (currently not supported for page configuration, only supports imports that have been adapted)
                max: 1 # Maximum value (page configuration only applies to stat gauge barGauge pie)
                unit: '%' # Unit
                mappings: # Value mapping configuration (currently only supports value and range types; special types supported on data)
                  - options: # Value mapping rules
                      '1': # Corresponding value
                        index: 0
                        text: 'Running' # Displayed as Running when value is 1
                    type: value # Value mapping type
                  - options: # Range mapping rules
                      from: 2 # Range start value
                      to: 3 # Range end value
                      result: # Mapping result
                        index: 1
                        text: 'Error' # Values from 2 to 3 will display as Error
                    type: range # Mapping type for range
                  - type: special # Mapping type for special scenarios
                    options:
                      match: null # nan null null+nan empty true false
                      result:
                        text: xxx
                        index: 2
                thresholds: # Threshold configuration
                  mode: absolute # Threshold configuration mode, absolute value mode (currently only supports absolute and percentage mode; percentage mode is not supported yet)
                  steps: # Threshold steps
                    - color: '#a7772f' # Threshold color
                      value: '2' # Threshold value
                    - color: '#007AF5' # Default value with no value is the Base
              overrides: # Override configuration
                - matcher:
                    id: byName # Match based on field name
                    options: node # Corresponding name
                  properties: # Override configuration; id currently only supports displayName unit
                    - id: displayName # Display name override
                      value: '1' # Overridden display name
                    - id: unit # Unit override
                      value: GB/s # Unit value
                    - id: noValue # No value display
                      value: No value display
            options:
              orientation: horizontal # Control the layout direction of panels; applies to gauge and barGauge (stat will be supported later)
              legend: # Legend configuration
                calcs: # Calculating methods (only displays when the legend position is on the right)
                  - latest # Currently only supports most recent value
                placement: right # Legend position (right or bottom; defaults to bottom)
                placementRightTop: '' # Configuration for the upper right
                showLegend: true # Whether to display the legend
              tooltip: # Tooltips
                mode: multi # Mode dual selection (only multi-mode supported) All data displayed when the mouse hovers over
                sort: asc # Sorting: asc or desc
              reduceOptions: # Value calculating method (used for aggregating data)
                calcs: # Calculating methods (latest, minimum, maximum, average, sum)
                  - latest
                limit: 3 # Pie limits the number of slices
              textMode: 'value' # Stat configuration; defines style for displaying metric value; options are auto, value, value_and_name, name, none (currently not supported in the page configuration, but supported in imports)
              colorMode: 'value' # Stat configuration; defines color mode for displaying metric values; options are none, value, background (defaults to value; not supported in configuration but adapted in import)
              displayLabels: ['name', 'value', 'percent'] # Fields displayed in pie chart labels
              pieType: 'pie' # Pie chart type; options are pie and donut
              mode: 'html' # Text chart type mode; options are html and richText
              content: '<div>xxx</div>' # Content for text chart type
              footer:
                enablePagination: true # Table pagination enabled

    Общие функции и переменные

    Общие функции

    При определении настроек запроса, помимо использования PromQL, платформа предоставляет некоторые общие функции для удобства настройки:

    ФункцияНазначение
    label_names()Возвращает все метки в Prometheus, например, label_names().
    label_values(label)Возвращает все доступные значения для имени метки во всех мониторимых метриках Prometheus, например, label_values(job).
    label_values(metric, label)Возвращает все доступные значения для имени метки в указанной метрике Prometheus, например, label_values(up, job).
    metrics(metric)Возвращает все имена метрик, удовлетворяющие заданному регулярному выражению в поле метрик, например, metrics(cpaas_active).
    query_result(query)Возвращает результат запроса для указанного запроса Prometheus, например, query_result(up).

    Общие переменные

    При определении настроек запроса вы можете комбинировать общие функции в переменные для быстрого определения пользовательских переменных. Ниже приведены некоторые распространённые определения переменных для справки:

    Имя переменнойФункция запросаРегулярное выражение
    clusterlabel_values(cpaas_cluster_info,cluster)-
    nodelabel_values(node_load1, instance)/(.*?):.*/
    namespacequery_result(kube_namespace_labels)/.*namespace=\"(.*?)\".*/
    deploymentlabel_values(kube_deployment_spec_replicas{namespace="$namespace"}, deployment)-
    daemonsetlabel_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset)-
    statefulsetlabel_values(kube_statefulset_replicas{namespace="$namespace"}, statefulset)-
    podlabel_values(kube_pod_info{namespace=~"$namespace"}, pod)-
    vmclusterlabel_values(up, vmcluster)-
    daemonsetlabel_values(kube_daemonset_status_number_ready{namespace="$namespace"}, daemonset)-

    Пример использования переменной 1

    Использование функции query_result(query) для запроса значения: node_load5 и извлечения IP.

    1. В Query Settings заполните query_result(node_load5).

    2. В области Variable Value Preview пример предварительного просмотра: node_load5{container="node-exporter",endpoint="metrics",host_ip="192.168.178.182",instance="192.168.178.182:9100"}.

    3. В Regular Expression заполните /.*instance="(.*?):.*/ для фильтрации значения.

    4. В области Variable Value Preview пример предварительного просмотра: 192.168.176.163.

    Пример использования переменной 2

    1. Добавьте первую переменную: 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 и другие.
    2. Добавьте вторую переменную: deployment, ссылаясь на ранее созданную переменную:

      • Query Settings: kube_deployment_spec_replicas{namespace=~"$namespace"}.
      • Regular Expression: /.+deployment="(.*?)",.*/.
    3. Добавьте панель в текущую панель мониторинга и используйте ранее добавленные переменные, например:

      • Имя метрики: pod Memory Usage under Compute Components.
      • Пара ключ-значение: kind: Deployment, name: $deployment, namespace: $namespace.
    4. После добавления панелей и их сохранения вы можете просмотреть соответствующую информацию на главной странице панели.

    Примечания при использовании встроенных метрик

    WARNING

    Следующие метрики используют пользовательские переменные 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