Последнее обновление: августа 11, 2026

Редактор запросов OpenTSDB

Редактор запросов позволяет строить запросы OpenTSDB визуально. Доступные параметры зависят от версии OpenTSDB, указанной в настройках источника данных.

Доступ к редактору запросов

Редактор запросов OpenTSDB находится на странице Explore. Также редактор запросов OpenTSDB доступен из панели дашборда: нажмите многоточие в правом верхнем углу панели и выберите Edit.

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

Чтобы создать запрос:

  1. Выберите источник данных OpenTSDB в панели.
  2. Настройте запрос с помощью разделов, описанных ниже.

Раздел «Metric»

Раздел «Metric» содержит основную конфигурацию запроса:

Поле Описание
Metric Имя метрики для запроса. Начните вводить текст, чтобы увидеть подсказки автодополнения с вашего сервера OpenTSDB.
Aggregator Функция агрегирования для объединения нескольких временных рядов. По умолчанию: sum.
Alias Пользовательское отображаемое имя для ряда. Используйте $tag_<tagname>, чтобы включить значения тегов в alias.

Шаблоны alias

Поле alias поддерживает динамическую подстановку значений тегов. Используйте шаблон $tag_<tagname>, где <tagname> — имя тега метрики.

Шаблон Описание Пример результата
$tag_host Подставляет значение тега host webserver01
$tag_env Подставляет значение тега env production
$tag_host - CPU Объединяет значение тега со статическим текстом webserver01 - CPU
$tag_host ($tag_env) Несколько подстановок тегов webserver01 (production)

Раздел «Downsample»

Даунсемплинг (прореживание) уменьшает число возвращаемых точек данных, агрегируя значения по временным интервалам. Это повышает производительность запросов и снижает объём передаваемых данных.

Поле Описание
Down sample Временной интервал для прореживания. Введите значение в поле рядом с меткой Down sample или оставьте его пустым, чтобы использовать автоматический интервал на основе диапазона времени и ширины панели.
Aggregator Функция агрегирования для прореживания. По умолчанию: avg.
Fill (Версия 2.2+) Политика заполнения пропущенных точек данных. По умолчанию: none.
Disable downsampling Переключатель для полного отключения прореживания. Используйте его, когда нужны необработанные точки данных.

Формат интервала

Поле интервала принимает строки длительности:

Формат Описание Пример
s Секунды 30s
m Минуты 5m
h Часы 1h
d Дни 1d
w Недели 1w

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

Раздел «Filters»

Фильтры (доступны в OpenTSDB 2.2+) предоставляют расширенные возможности фильтрации, которые заменяют устаревшую фильтрацию по тегам.

Поле Описание
Key Ключ тега, по которому выполняется фильтрация. Выберите из подсказок автодополнения или введите собственное значение.
Type Тип фильтра. Определяет способ сопоставления значения фильтра. По умолчанию: iliteral_or.
Filter Значение или шаблон фильтра. Поддерживает автодополнение значений тегов.
Group by Переключатель группировки результатов по этому ключу тега. При включении для каждого уникального значения возвращается отдельный временной ряд.

Добавление, изменение и удаление фильтров

Управление фильтрами:

  1. Нажмите кнопку + рядом с «Filters», чтобы добавить новый фильтр.
  2. Настройте поля фильтра (Key, Type, Filter, Group by).
  3. Нажмите add filter, чтобы применить фильтр.
  4. Чтобы изменить существующий фильтр, нажмите значок карандаша рядом с ним.
  5. Чтобы удалить фильтр, нажмите значок x рядом с ним.

К одному запросу можно добавить несколько фильтров. Все фильтры объединяются по логике AND.

Типы фильтров

Тип Описание Пример
literal_or Сопоставляет точные значения. Используйте | для указания нескольких значений. web01|web02|web03
iliteral_or Буквальное сопоставление без учёта регистра. WEB01|web02
wildcard Сопоставление с использованием * как подстановочного символа. web-*-prod
iwildcard Сопоставление с подстановочными символами без учёта регистра. WEB-*
regexp Сопоставление с использованием регулярных выражений. web-[0-9]+
not_literal_or Исключает точные значения. web01|web02
not_iliteral_or Исключение без учёта регистра. TEST|DEV

Поведение Group by

Когда для фильтра включён Group by:

  • Результаты разделяются на отдельные временные ряды для каждого уникального значения отфильтрованного тега.
  • Каждый временной ряд помечается значением своего тега.
  • Это полезно для сравнения значений между хостами, средами и другими измерениями.

Когда Group by отключён:

  • Все совпадающие временные ряды объединяются с помощью выбранного агрегатора.
  • Возвращается один агрегированный временной ряд.

Раздел «Tags»

Теги фильтруют метрики по парам «ключ — значение». Это устаревший метод фильтрации для версий OpenTSDB до 2.2.

Поле Описание
Key Ключ тега, по которому выполняется фильтрация. Выберите из подсказок автодополнения.
Value Значение тега для сопоставления. Используйте * для сопоставления со всеми значениями этого ключа.

Добавление, изменение и удаление тегов

Управление тегами:

  1. Нажмите кнопку + рядом с «Tags», чтобы добавить новый тег.
  2. Выберите или введите ключ тега.
  3. Выберите или введите значение тега (используйте * для подстановочного символа).
  4. Нажмите add tag, чтобы применить фильтр по тегу.
  5. Чтобы изменить существующий тег, нажмите значок карандаша рядом с ним.
  6. Чтобы удалить тег, нажмите значок x рядом с ним.

Note

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

Caution

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

Раздел «Rate»

Раздел «Rate» вычисляет скорость изменения — это важно для счётчиков (counter metrics), которые постоянно увеличиваются.

Поле Описание
Rate Переключатель для включения вычисления скорости. Вычисляет скорость изменения между последовательными значениями за секунду.
Counter (Когда Rate включён) Переключатель, указывающий, что метрика — монотонно возрастающий счётчик, который может сбрасываться.
Counter max (Когда Counter включён) Максимальное значение до сброса счётчика (переполнения).
Reset value (Когда Counter включён) Значение, к которому счётчик сбрасывается после переполнения. По умолчанию: 0.
Explicit tags (Версия 2.3+) Переключатель, требующий наличия всех указанных тегов в совпадающих временных рядах.

Когда использовать вычисление скорости

Включайте Rate, если ваша метрика — постоянно возрастающий счётчик, например:

  • Отправленные/полученные сетевые байты
  • Количество запросов
  • Количество ошибок
  • Операции дискового ввода-вывода

Вычисление скорости преобразует накопительные значения в значения за секунду, что делает данные более осмысленными для визуализации.

Настройки счётчика

Включайте Counter, когда ваша метрика может сбрасываться в ноль (например, после перезапуска сервиса). Настройки счётчика помогают OpenTSDB корректно вычислять скорости с учётом сбросов:

  • Counter max: задайте максимальное значение, которого может достичь счётчик до переполнения. Для 64-битных счётчиков используйте 18446744073709551615. Для 32-битных счётчиков используйте 4294967295.
  • Reset value: значение, к которому сбрасывается счётчик, обычно 0.

Явные теги

Когда включён Explicit tags (версия 2.3+), OpenTSDB возвращает только те временные ряды, у которых присутствуют все указанные в запросе теги. Это предотвращает неожиданные результаты, когда у одних временных рядов есть теги, отсутствующие у других.

Агрегаторы

Функция агрегатора объединяет несколько временных рядов в один. Источник данных содержит встроенный список по умолчанию (avg, sum, min, max, dev, zimsum, mimmin и mimmax), а затем заменяет его списком, полученным с вашего сервера OpenTSDB. В результате вы можете увидеть дополнительные агрегаторы, например count, помимо встроенных по умолчанию.

Распространённые агрегаторы

Агрегатор Описание Вариант использования
sum Суммирует все значения на каждой отметке времени. Общее число запросов по всем серверам.
avg Усредняет все значения на каждой отметке времени. Средняя загрузка CPU по хостам.
min Берёт минимальное значение на каждой отметке времени. Наименьшее время отклика.
max Берёт максимальное значение на каждой отметке времени. Пиковое использование памяти.
dev Вычисляет стандартное отклонение. Измерение разброса времени отклика.
count Подсчитывает количество точек данных. Количество хостов, отправляющих данные.

Агрегаторы интерполяции

Эти агрегаторы по-разному обрабатывают пропущенные точки данных:

Агрегатор Описание
zimsum Суммирует значения, считая пропущенные данные нулём.
mimmin Минимальное значение, игнорируя пропущенные (интерполированные) данные.
mimmax Максимальное значение, игнорируя пропущенные (интерполированные) данные.

Note

Доступные агрегаторы зависят от версии и конфигурации вашего сервера OpenTSDB. Раскрывающийся список агрегаторов заполняется динамически из конечной точки /api/aggregators на вашем сервере OpenTSDB.

Политики заполнения

Политики заполнения (доступны в OpenTSDB 2.2+) определяют, как обрабатывать пропущенные точки данных при прореживании. Это важно, когда в ваших данных есть пробелы или нерегулярные интервалы сбора.

Политика Описание Вариант использования
none Не заполнять пропущенные значения. Пробелы остаются в данных. Поведение по умолчанию; сохраняет достоверность данных.
nan Заполнять пропущенные значения NaN (Not a Number). Полезно для вычислений, в которых пропущенные данные должны распространяться.
null Заполнять пропущенные значения null. Визуализации показывают пробелы в точках null.
zero Заполнять пропущенные значения нулём. Считать пропущенные данные нулевыми значениями; полезно для счётчиков.

Как выбрать правильную политику заполнения

  • Используйте none (по умолчанию), если хотите видеть фактические пробелы в данных на визуализациях.
  • Используйте null, если хотите, чтобы графики показывали разрывы в точках с пропущенными данными.
  • Используйте zero, если пропущенные данные следует интерпретировать как ноль (например, отсутствие запросов в течение периода).
  • Используйте nan, если нужно, чтобы пропущенные значения распространялись через вычисления.

Подсказки автодополнения

Редактор запросов предоставляет подсказки автодополнения, помогающие быстро и точно строить запросы.

Что предоставляет автодополнение

Поле Источник Описание
Metric /api/suggest?type=metrics Предлагает имена метрик по мере ввода.
Tag keys Результаты предыдущего запроса Предлагает ключи тегов на основе выбранной метрики.
Tag values /api/suggest?type=tagv Предлагает значения тегов по мере ввода.
Filter keys Результаты предыдущего запроса Предлагает ключи тегов для настройки фильтров.

Требования для автодополнения

Для работы автодополнения:

  • На вашем сервере должен быть включён API suggest в OpenTSDB.
  • В базе данных OpenTSDB должны существовать метрики.
  • Настройка Lookup limit в конфигурации источника данных определяет максимальное число возвращаемых подсказок.

Если автодополнение не работает, см. Устранение неполадок.

Использование переменных шаблонов

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

Типичные способы применения:

  • Поле Metric: $metric для динамического выбора метрик.
  • Значения фильтра: $host для фильтрации по хосту, выбранному переменной.
  • Значения тегов: $environment для фильтрации по среде.

Дополнительные сведения о создании и использовании переменных шаблонов см. в разделе Переменные шаблонов.

Примеры запросов

В следующих примерах показаны распространённые шаблоны запросов.

Базовый запрос метрики с фильтрацией по тегам

Поле Значение
Metric sys.cpu.user
Aggregator avg
Tags host=webserver01

Этот запрос возвращает среднее использование CPU для хоста webserver01.

Запрос с фильтром по подстановочному символу (OpenTSDB 2.2+)

Поле Значение
Metric http.requests.count
Aggregator sum
Filter Key host
Filter Type wildcard
Filter Value web-*
Group by включено

Этот запрос суммирует количество HTTP-запросов по всем хостам, соответствующим web-*, и группирует результаты по хосту.

Вычисление скорости для сетевых счётчиков

Поле Значение
Metric net.bytes.received
Aggregator sum
Rate включено
Counter включено
Counter max 18446744073709551615

Этот запрос вычисляет скорость получения байтов в секунду. Параметр counter max задан как максимум 64-битного беззнакового целого, чтобы корректно обрабатывать переполнение счётчика.

Использование шаблонов alias

Поле Значение
Metric app.response.time
Aggregator avg
Tags host=*, env=production
Alias $tag_host - Response Time

Этот запрос использует шаблон alias для создания удобочитаемых подписей легенды, например webserver01 - Response Time.

Прореживание с пользовательским интервалом

Поле Значение
Metric sys.disk.io.bytes
Aggregator sum
Downsample Interval 5m
Downsample Aggregator avg
Fill zero

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

Сравнение сред с помощью фильтров

Поле Значение
Metric app.errors.count
Aggregator sum
Filter Key env
Filter Type literal_or
Filter Value staging|production
Group by включено

Этот запрос показывает количество ошибок для сред staging и production в виде отдельных временных рядов для сравнения.

Исключение определённых хостов

Поле Значение
Metric sys.cpu.user
Aggregator avg
Filter Key host
Filter Type not_literal_or
Filter Value test-server|dev-server
Group by включено

Этот запрос показывает использование CPU для всех хостов, кроме test-server и dev-server.

Запрос с явными тегами (версия 2.3+)

Поле Значение
Metric app.request.latency
Aggregator avg
Filter Key host
Filter Type wildcard
Filter Value *
Group by включено
Explicit tags включено

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

Дальнейшие шаги