Записанные запросы (устарело)

Warning

Записанные запросы устарели. Вместо них используйте новые правила записи, управляемые Grafana.

О том, как перенести записанные запросы в правила записи, управляемые Grafana, см. документацию по миграции.

Записанные запросы позволяют видеть тренды во времени, снимая снимок значения с заданным интервалом. Это даёт понимание исторических трендов.

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

Note

Доступно в Grafana Enterprise и Grafana Cloud.

Как работают записанные запросы

Note

Прежде чем использовать записанные запросы, администратор должен настроить источник данных Prometheus и связать его с целью remote write.

Записанные запросы работают только с бэкенд-плагинами источников данных. О бэкенд-плагинах источников данных см. Backend data source plugin. Записывать можно четыре типа запросов:

  • single row and column — запрос, возвращающий одну строку и один столбец.
  • row count — запрос, возвращающий значимые строки для подсчёта.
  • expression — любое выражение. О создании и использовании выражений см. Write expression queries.
  • dataplane numeric — запрос, возвращающий данные в формате dataplane numeric.

После создания или включения записанного запроса он немедленно делает снимок и продолжает делать снимки с заданным интервалом. Записанный запрос перестаёт делать снимки, когда он отключён, удалён или когда Grafana не работает. Точки данных собираются в бэкенде путём выполнения записанного запроса и пересылки каждого результата в экземпляр Prometheus с поддержкой remote write.

Использование записанного запроса

Чтобы использовать записанный запрос, создайте его и добавьте на дашборд. После этого им можно управлять в разделе Preferences на вкладке Recorded queries.

Создание записанного запроса

  1. Найдите или создайте запрос, который хотите записывать, на дашборде в режиме редактирования панели. Запрос должен возвращать только одну строку и один столбец. Если он возвращает больше, вы всё равно можете записывать число возвращённых результатов, используя опцию «count».
    • Источник данных запроса должен быть бэкенд-источником данных.
    • Выражения можно использовать для агрегирования данных из запроса временного ряда. О создании и использовании выражений см. Write expression queries.
  2. Нажмите кнопку записи запроса, расположенную в правом верхнем углу редактора запросов.
  3. Введите информацию о записанном запросе. Все поля обязательны, если не указано иное.
    • Name — имя записанного запроса.
    • Description — (необязательно) опишите записанный запрос так, как он должен отображаться в списке записанных запросов.
    • Interval — интервал, с которым будет сниматься снимок. Отсчёт интервала начинается при создании записанного запроса и прекращается, если приостановить или удалить записанный запрос. О приостановке и удалении записанных запросов см. Управление записанными запросами.
    • Range — относительный временной диапазон запроса. Если выбрать диапазон 30m и интервал 1h, запрос будет снимать снимок каждый час за прошедшие 30 минут.
    • Count query results — если нужно подсчитывать строки, возвращаемые запросом, включите эту опцию. Если опция выключена, запрос должен возвращать одну строку с одним значением.
  4. Проверьте записанный запрос, нажав кнопку проверки записанного запроса.
  5. Нажмите Start recording query, чтобы начать запись запроса.

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

Существующие записанные запросы можно добавлять на панели дашборда. Для каждого добавленного записанного запроса создаётся запрос Prometheus: generated_recorded_query_name{id="generated_id", name="recorded query name"}. Созданный запрос Prometheus возвращает все собранные снимки записанного запроса.

  1. Перейдите к панели на дашборде, куда хотите добавить записанный запрос.
  2. Нажмите кнопку + Recorded query, расположенную под запросами.
  3. Если хотите отфильтровать записанные запросы по источнику данных, выберите источник данных в выпадающем меню фильтрации по источнику данных.
  4. Нажмите кнопку Add у вашего записанного запроса, чтобы добавить его на панель.

После добавления записанного запроса на панель источник данных панели станет -- Mixed --. Ваш записанный запрос представлен запросом Prometheus с меткой имени, совпадающей с именем записанного запроса. О источнике данных Prometheus см. Prometheus.

Если после добавления записанного запроса вместо источника данных Prometheus появляется запрос с источником данных -- Mixed --, это может означать, что для записанных запросов не настроена цель remote write в Prometheus. О настройке точки remote write см. Цель remote write.

Управление записанными запросами

Записанные запросы можно приостанавливать/возобновлять и удалять на вкладке Recorded queries в разделе Preferences. Удаление записанного запроса убирает его из Grafana, но собранная в Prometheus информация останется. Приостановленный записанный запрос перестаёт собирать новые точки данных до возобновления.

Цель remote write

Цель remote write — это источник данных Prometheus, в который записываются точки данных записанных запросов. Вам понадобится Prometheus с включённым remote write, и для этого Prometheus нужно создать источник данных.

Цель remote write можно изменить, нажав Edit Remote Write Target в правом верхнем углу вкладки Recorded Queries в разделе Preferences. Выберите источник данных Prometheus с включённым remote write и введите путь remote write.