Элементы управления Filter and Group by

Note

Функция Filter and Group by переименовывает переменную Ad hoc filters и расширяет её, добавляя группировку для источников данных Prometheus и Loki. Однако в схеме дашборда она по-прежнему называется "kind": "AdhocVariable" в свойстве схемы variables.

Опция Filter and Group by — один из самых сложных и гибких элементов управления дашборда. Вместо создания переменной для каждого измерения, по которому вы хотите фильтровать, она автоматически запрашивает у вашего источника данных доступные измерения и позволяет пользователям динамически добавлять и удалять фильтры и измерения группировки на дашборде. Это позволяет быстро применять фильтры ко всему дашборду.

Функция группировки позволяет группировать данные по ключам, разделяя их. Обычно эта функция используется вместе с агрегатными запросами, например sum(your_metric_here), чтобы разбить агрегированные результаты по выбранным измерениям. Затем вы можете использовать фильтры внутри панелей, чтобы включать или исключать данные, углубляясь в них.

Функция фильтрации и группировки позволяет добавлять пары «метка/значение» фильтра, которые автоматически добавляются во все запросы, использующие указанный источник данных. В отличие от переменных, эти фильтры не используются в запросах. Вместо этого с их помощью вы пишете фильтры для существующих запросов.

Следующие источники данных поддерживают фильтры. Источники данных со звёздочкой также поддерживают функцию группировки:

Добавление элементов управления фильтрацией и группировкой

Чтобы добавить элементы управления фильтрацией и группировкой, выполните следующие шаги:

  1. Перейдите к дашборду, который хотите изменить.

  2. Нажмите Edit.

  3. Нажмите значок Add new element (синий знак плюса).

  4. Нажмите Filter and Group by.

  5. Введите Name для фильтра.

  6. (Необязательно) В поле Label введите отображаемое имя для выпадающего списка фильтра.

    Если вы не введёте отображаемое имя, то меткой выпадающего списка будет имя фильтра.

  7. (Необязательно) В поле Description введите описание фильтра. Описание отображается как всплывающая подсказка со значком информации рядом с именем фильтра на дашборде.

    Описания поддерживают ссылки. Вы можете использовать ссылки в стиле Markdown ([текст ссылки](https://example.com)) или вставить обычные URL-адреса (https://example.com). Только URL-адреса http и https отображаются как кликабельные ссылки — другие протоколы отображаются как обычный текст.

  8. Выберите опцию Display:

    • Above dashboard: выпадающий список фильтра отображается над дашбордом со значением Name или Label фильтра. Это значение по умолчанию.
    • Above dashboard, label hidden: выпадающий список фильтра отображается над дашбордом, но без отображения имени фильтра.
    • Controls menu: фильтр отображается в меню элементов управления дашборда, а не над дашбордом. Меню элементов управления дашборда отображается как кнопка на панели инструментов дашборда.
    • Hidden: выпадающий список фильтра не отображается на дашборде.
  9. В разделе Filter options страницы задайте следующие параметры:

    Опция Описание
    Data source Выберите целевой источник данных в выпадающем списке. Вы также можете нажать Open advanced data source picker, чтобы увидеть больше опций, включая добавление источника данных (только для администраторов). Дополнительные сведения об источниках данных см. в разделе Добавление источника данных.
    Default filters Задайте пару «ключ/значение» по умолчанию. Необязательно. В элементе управления фильтром дашборда значение по умолчанию обозначается значком информации.
    Enable group by Эта опция появляется только в том случае, если вы выбрали источник данных Prometheus или Loki. Включите переключатель, чтобы включить группировку данных.
    Default group by Задайте ключ по умолчанию для дашборда. Необязательно. В элементе управления фильтром дашборда значение по умолчанию обозначается значком информации.
    Use static key dimensions Чтобы указать измерения фильтра в виде значений, разделённых запятыми (CSV), включите переключатель и введите значения в отведённом для этого поле. Необязательно.
    Allow custom values Включите переключатель, чтобы разрешить пользователям дашборда добавлять собственные значения в списки фильтра и группировки. Необязательно.
  10. Нажмите Save.

  11. Введите необязательное описание изменений дашборда и нажмите Save.

  12. Нажмите Exit edit.

Теперь вы можете фильтровать и группировать данные на дашборде.

Вы можете удалять и сбрасывать фильтры по умолчанию и измерения группировки, а также просматривать недавно использованные:

Дашборд с выбранными фильтрами и группировками
Сброс фильтров и измерений группировки по умолчанию
Дашборд с выбранными фильтрами и группировками
Недавние фильтры и измерения группировки

Чтобы сразу увидеть все активные фильтры и измерения группировки на дашборде, нажмите значок Filters overview (фильтр) на панели инструментов, чтобы открыть обзор. Обзор позволяет искать конкретные ключи и изменять их, не пролистывая элементы управления дашборда:

Дашборд с фильтрами и измерениями группировки

Добавьте оператор и значение для ключа, чтобы добавить его в качестве фильтра, или установите флажок Group by, чтобы задать измерение группировки. Один и тот же ключ можно использовать и как фильтр, и для группировки.

Кросс-фильтрация

В некоторых визуализациях можно применять фильтры прямо из визуализации. Нажмите на серию на панели, а затем нажмите Filter on this value или Filter out this value. Фильтрация выполняется по меткам, найденным в этой серии:

Панель с открытой подсказкой, показывающей опции фильтрации по значению или исключения значения

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

  • Выберите имя поля.
  • Включите переключатель Filterable.
Переопределение поля, делающее некоторые поля доступными для фильтрации

Это также можно сделать программно, вернув фрейм данных с соответствующим свойством filterable для нужных полей.

Кросс-фильтрация поддерживается для следующих визуализаций:

Визуализация Требуется Group by
Bar chart нет
Table нет
Time series да

Применение кросс-фильтрации

Чтобы применить кросс-фильтрацию, выполните следующие шаги:

  1. Чтобы отобразить значки фильтра, наведите курсор на точку данных со значением, по которому хотите фильтровать. В этом примере значение ячейки таблицы — ConfigMap Updated, которое находится в столбце alertname:

    Таблица и столбчатая диаграмма со значком фильтра, отображаемым на ячейке таблицы

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

    Кнопка фильтра во всплывающей подсказке столбчатой диаграммы
  2. Нажмите значок добавления фильтра.

    Пара фильтра alertname = ConfigMap Updated добавляется, и все панели, использующие тот же источник данных, которые содержат это значение, фильтруются по нему:

    Таблица и столбчатая диаграмма после фильтрации

Если одна из панелей дашборда, использующая этот источник данных, не содержит значение этого фильтра, панель не вернёт никаких данных. В этом примере добавлена пара фильтра _name_ = ALERTS, поэтому столбчатая диаграмма не возвращает результатов:

Отфильтрованная таблица и столбчатая диаграмма, не возвращающая результатов

Для некоторых визуализаций, если ваш запрос не включает какой-либо тип группировки данных, возможно, сначала потребуется сгруппировать данные. Дополнительные сведения см. в разделе Группировка на уровне панели.

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

Группировка на уровне панели

Когда переключатель Group by включён, вы также можете задать измерение группировки из панели, а не из элемента управления на уровне дашборда. Наведите курсор на любую панель, использующую источник данных фильтра, чтобы отобразить селектор Group by:

Элемент управления Group by на панели

Элемент управления Group by на уровне панели включает только ключи, доступные в запросе панели. В отличие от него, элемент управления на уровне дашборда включает все доступные ключи для дашборда. Ваш выбор применяется ко всем панелям дашборда с тем же источником данных.

Фильтрация любых данных с помощью источника данных Dashboard

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

Раздел запросов панели с настроенным источником данных Dashboard

Чтобы использовать фильтры для данных из неподдерживаемого источника данных, выполните следующие шаги:

  1. Перейдите к дашборду с панелью, содержащей данные, которые вы хотите фильтровать.

  2. Нажмите Edit в правом верхнем углу дашборда.

  3. Нажмите значок Add new element и нажмите или перетащите панель на дашборд.

  4. Нажмите Configure visualization.

  5. На вкладке Queries в режиме редактирования панели введите Dashboard в поле Data source и выберите – Dashboard –.

  6. В разделе настройки запроса сделайте следующие выборы:

    • Source panel — выберите панель с исходными данными.
    • Data — выберите All Data, чтобы использовать данные панели, а не только аннотации. Это выбор по умолчанию.
    • Filters — включите переключатель, чтобы сделать данные из указанной панели доступными для фильтрации.

    Note

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

  7. Настройте любые другие необходимые параметры панели.

  8. Нажмите Save в правом верхнем углу.

  9. Введите необязательное описание изменений и нажмите Save.

  10. Нажмите Back, а затем Exit edit.

Теперь вы можете фильтровать данные с исходной панели с помощью источника данных Dashboard. Добавьте столько панелей, сколько вам нужно.