Элементы управления 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), чтобы разбить агрегированные результаты по выбранным измерениям.
Затем вы можете использовать фильтры внутри панелей, чтобы включать или исключать данные, углубляясь в них.
Функция фильтрации и группировки позволяет добавлять пары «метка/значение» фильтра, которые автоматически добавляются во все запросы, использующие указанный источник данных. В отличие от переменных, эти фильтры не используются в запросах. Вместо этого с их помощью вы пишете фильтры для существующих запросов.
Следующие источники данных поддерживают фильтры. Источники данных со звёздочкой также поддерживают функцию группировки:
- Prometheus*
- Loki*
- InfluxDB
- Elasticsearch
- OpenSearch.
- Специальный источник данных Dashboard — используйте этот специальный источник данных, чтобы применять фильтры к данным из неподдерживаемых источников данных.
Добавление элементов управления фильтрацией и группировкой
Чтобы добавить элементы управления фильтрацией и группировкой, выполните следующие шаги:
-
Перейдите к дашборду, который хотите изменить.
-
Нажмите Edit.
-
Нажмите значок Add new element (синий знак плюса).
-
Нажмите Filter and Group by.
-
Введите Name для фильтра.
-
(Необязательно) В поле Label введите отображаемое имя для выпадающего списка фильтра.
Если вы не введёте отображаемое имя, то меткой выпадающего списка будет имя фильтра.
-
(Необязательно) В поле Description введите описание фильтра. Описание отображается как всплывающая подсказка со значком информации рядом с именем фильтра на дашборде.
Описания поддерживают ссылки. Вы можете использовать ссылки в стиле Markdown (
[текст ссылки](https://example.com)) или вставить обычные URL-адреса (https://example.com). Только URL-адресаhttpиhttpsотображаются как кликабельные ссылки — другие протоколы отображаются как обычный текст. -
Выберите опцию Display:
- Above dashboard: выпадающий список фильтра отображается над дашбордом со значением Name или Label фильтра. Это значение по умолчанию.
- Above dashboard, label hidden: выпадающий список фильтра отображается над дашбордом, но без отображения имени фильтра.
- Controls menu: фильтр отображается в меню элементов управления дашборда, а не над дашбордом. Меню элементов управления дашборда отображается как кнопка на панели инструментов дашборда.
- Hidden: выпадающий список фильтра не отображается на дашборде.
-
В разделе Filter options страницы задайте следующие параметры:
-
Нажмите Save.
-
Введите необязательное описание изменений дашборда и нажмите Save.
-
Нажмите Exit edit.
Теперь вы можете фильтровать и группировать данные на дашборде.
Вы можете удалять и сбрасывать фильтры по умолчанию и измерения группировки, а также просматривать недавно использованные:
Чтобы сразу увидеть все активные фильтры и измерения группировки на дашборде, нажмите значок Filters overview (фильтр) на панели инструментов, чтобы открыть обзор. Обзор позволяет искать конкретные ключи и изменять их, не пролистывая элементы управления дашборда:
Добавьте оператор и значение для ключа, чтобы добавить его в качестве фильтра, или установите флажок Group by, чтобы задать измерение группировки. Один и тот же ключ можно использовать и как фильтр, и для группировки.
Кросс-фильтрация
В некоторых визуализациях можно применять фильтры прямо из визуализации. Нажмите на серию на панели, а затем нажмите Filter on this value или Filter out this value. Фильтрация выполняется по меткам, найденным в этой серии:
Чтобы включить эту функциональность, нужно добавить переопределение для каждого поля, по которому хотите фильтровать. В переопределении:
- Выберите имя поля.
- Включите переключатель Filterable.
Это также можно сделать программно, вернув фрейм данных с соответствующим свойством filterable для нужных полей.
Кросс-фильтрация поддерживается для следующих визуализаций:
Применение кросс-фильтрации
Чтобы применить кросс-фильтрацию, выполните следующие шаги:
-
Чтобы отобразить значки фильтра, наведите курсор на точку данных со значением, по которому хотите фильтровать. В этом примере значение ячейки таблицы —
ConfigMap Updated, которое находится в столбцеalertname:
В визуализациях со столбчатой диаграммой наведите курсор и нажмите на столбец, чтобы отобразить кнопку фильтра:
-
Нажмите значок добавления фильтра.
Пара фильтра
alertname = ConfigMap Updatedдобавляется, и все панели, использующие тот же источник данных, которые содержат это значение, фильтруются по нему:
Если одна из панелей дашборда, использующая этот источник данных, не содержит значение этого фильтра, панель не вернёт никаких данных. В этом примере добавлена пара фильтра _name_ = ALERTS, поэтому столбчатая диаграмма не возвращает результатов:
Для некоторых визуализаций, если ваш запрос не включает какой-либо тип группировки данных, возможно, сначала потребуется сгруппировать данные. Дополнительные сведения см. в разделе Группировка на уровне панели.
В случаях, когда используемый источник данных не поддерживает фильтрацию, рассмотрите возможность использования специального источника данных Dashboard. Дополнительные сведения см. в разделе Фильтрация любых данных с помощью источника данных Dashboard.
Группировка на уровне панели
Когда переключатель Group by включён, вы также можете задать измерение группировки из панели, а не из элемента управления на уровне дашборда. Наведите курсор на любую панель, использующую источник данных фильтра, чтобы отобразить селектор Group by:
Элемент управления Group by на уровне панели включает только ключи, доступные в запросе панели. В отличие от него, элемент управления на уровне дашборда включает все доступные ключи для дашборда. Ваш выбор применяется ко всем панелям дашборда с тем же источником данных.
Фильтрация любых данных с помощью источника данных Dashboard
В случаях, когда источник данных не поддерживает использование фильтров, вы можете использовать источник данных Dashboard, чтобы ссылаться на эти данные, а затем фильтровать их на новой панели. Это позволяет обойти ограничения источника данных на исходной панели.
Чтобы использовать фильтры для данных из неподдерживаемого источника данных, выполните следующие шаги:
-
Перейдите к дашборду с панелью, содержащей данные, которые вы хотите фильтровать.
-
Нажмите Edit в правом верхнем углу дашборда.
-
Нажмите значок Add new element и нажмите или перетащите панель на дашборд.
-
Нажмите Configure visualization.
-
На вкладке Queries в режиме редактирования панели введите
Dashboardв поле Data source и выберите – Dashboard –. -
В разделе настройки запроса сделайте следующие выборы:
- Source panel — выберите панель с исходными данными.
- Data — выберите All Data, чтобы использовать данные панели, а не только аннотации. Это выбор по умолчанию.
- Filters — включите переключатель, чтобы сделать данные из указанной панели доступными для фильтрации.
Note
Если вы ссылаетесь на несколько панелей дашборда с помощью источника данных Dashboard, для фильтрации можно одновременно использовать только одну из этих исходных панелей.
-
Настройте любые другие необходимые параметры панели.
-
Нажмите Save в правом верхнем углу.
-
Введите необязательное описание изменений и нажмите Save.
-
Нажмите Back, а затем Exit edit.
Теперь вы можете фильтровать данные с исходной панели с помощью источника данных Dashboard. Добавьте столько панелей, сколько вам нужно.