Редактор запросов OpenTSDB
Редактор запросов позволяет строить запросы OpenTSDB визуально. Доступные параметры зависят от версии OpenTSDB, указанной в настройках источника данных.
Доступ к редактору запросов
Редактор запросов OpenTSDB находится на странице Explore. Также редактор запросов OpenTSDB доступен из панели дашборда: нажмите многоточие в правом верхнем углу панели и выберите Edit.
Создание запроса
Чтобы создать запрос:
- Выберите источник данных OpenTSDB в панели.
- Настройте запрос с помощью разделов, описанных ниже.
Раздел «Metric»
Раздел «Metric» содержит основную конфигурацию запроса:
Шаблоны alias
Поле alias поддерживает динамическую подстановку значений тегов. Используйте шаблон $tag_<tagname>, где <tagname> — имя тега метрики.
Раздел «Downsample»
Даунсемплинг (прореживание) уменьшает число возвращаемых точек данных, агрегируя значения по временным интервалам. Это повышает производительность запросов и снижает объём передаваемых данных.
Формат интервала
Поле интервала принимает строки длительности:
Если оставить интервал пустым, Grafana автоматически вычислит подходящий интервал на основе диапазона времени и ширины панели в пикселях. Это обеспечивает оптимальную плотность данных для визуализации.
Раздел «Filters»
Фильтры (доступны в OpenTSDB 2.2+) предоставляют расширенные возможности фильтрации, которые заменяют устаревшую фильтрацию по тегам.
Добавление, изменение и удаление фильтров
Управление фильтрами:
- Нажмите кнопку + рядом с «Filters», чтобы добавить новый фильтр.
- Настройте поля фильтра (Key, Type, Filter, Group by).
- Нажмите add filter, чтобы применить фильтр.
- Чтобы изменить существующий фильтр, нажмите значок карандаша рядом с ним.
- Чтобы удалить фильтр, нажмите значок x рядом с ним.
К одному запросу можно добавить несколько фильтров. Все фильтры объединяются по логике AND.
Типы фильтров
Поведение Group by
Когда для фильтра включён Group by:
- Результаты разделяются на отдельные временные ряды для каждого уникального значения отфильтрованного тега.
- Каждый временной ряд помечается значением своего тега.
- Это полезно для сравнения значений между хостами, средами и другими измерениями.
Когда Group by отключён:
- Все совпадающие временные ряды объединяются с помощью выбранного агрегатора.
- Возвращается один агрегированный временной ряд.
Раздел «Tags»
Теги фильтруют метрики по парам «ключ — значение». Это устаревший метод фильтрации для версий OpenTSDB до 2.2.
Добавление, изменение и удаление тегов
Управление тегами:
- Нажмите кнопку + рядом с «Tags», чтобы добавить новый тег.
- Выберите или введите ключ тега.
- Выберите или введите значение тега (используйте
*для подстановочного символа). - Нажмите add tag, чтобы применить фильтр по тегу.
- Чтобы изменить существующий тег, нажмите значок карандаша рядом с ним.
- Чтобы удалить тег, нажмите значок x рядом с ним.
Note
Теги считаются устаревшими в OpenTSDB 2.2 и более поздних версиях. Вместо них используйте Filters — это более мощные возможности фильтрации, включая подстановочные символы, регулярные выражения и шаблоны исключения.
Caution
Теги и фильтры взаимоисключающи. Если заданы фильтры, добавить теги нельзя, и наоборот. Если вы попытаетесь использовать оба варианта, редактор запросов покажет предупреждение.
Раздел «Rate»
Раздел «Rate» вычисляет скорость изменения — это важно для счётчиков (counter metrics), которые постоянно увеличиваются.
Когда использовать вычисление скорости
Включайте 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, помимо встроенных по умолчанию.
Распространённые агрегаторы
Агрегаторы интерполяции
Эти агрегаторы по-разному обрабатывают пропущенные точки данных:
Note
Доступные агрегаторы зависят от версии и конфигурации вашего сервера OpenTSDB. Раскрывающийся список агрегаторов заполняется динамически из конечной точки
/api/aggregatorsна вашем сервере OpenTSDB.
Политики заполнения
Политики заполнения (доступны в OpenTSDB 2.2+) определяют, как обрабатывать пропущенные точки данных при прореживании. Это важно, когда в ваших данных есть пробелы или нерегулярные интервалы сбора.
Как выбрать правильную политику заполнения
- Используйте
none(по умолчанию), если хотите видеть фактические пробелы в данных на визуализациях. - Используйте
null, если хотите, чтобы графики показывали разрывы в точках с пропущенными данными. - Используйте
zero, если пропущенные данные следует интерпретировать как ноль (например, отсутствие запросов в течение периода). - Используйте
nan, если нужно, чтобы пропущенные значения распространялись через вычисления.
Подсказки автодополнения
Редактор запросов предоставляет подсказки автодополнения, помогающие быстро и точно строить запросы.
Что предоставляет автодополнение
Требования для автодополнения
Для работы автодополнения:
- На вашем сервере должен быть включён API suggest в OpenTSDB.
- В базе данных OpenTSDB должны существовать метрики.
- Настройка Lookup limit в конфигурации источника данных определяет максимальное число возвращаемых подсказок.
Если автодополнение не работает, см. Устранение неполадок.
Использование переменных шаблонов
Переменные шаблонов можно использовать в любом текстовом поле редактора запросов. При выполнении запроса переменные шаблонов заменяются своими текущими значениями.
Типичные способы применения:
- Поле Metric:
$metricдля динамического выбора метрик. - Значения фильтра:
$hostдля фильтрации по хосту, выбранному переменной. - Значения тегов:
$environmentдля фильтрации по среде.
Дополнительные сведения о создании и использовании переменных шаблонов см. в разделе Переменные шаблонов.
Примеры запросов
В следующих примерах показаны распространённые шаблоны запросов.
Базовый запрос метрики с фильтрацией по тегам
Этот запрос возвращает среднее использование CPU для хоста webserver01.
Запрос с фильтром по подстановочному символу (OpenTSDB 2.2+)
Этот запрос суммирует количество HTTP-запросов по всем хостам, соответствующим web-*, и группирует результаты по хосту.
Вычисление скорости для сетевых счётчиков
Этот запрос вычисляет скорость получения байтов в секунду. Параметр counter max задан как максимум 64-битного беззнакового целого, чтобы корректно обрабатывать переполнение счётчика.
Использование шаблонов alias
Этот запрос использует шаблон alias для создания удобочитаемых подписей легенды, например webserver01 - Response Time.
Прореживание с пользовательским интервалом
Этот запрос уменьшает данные дискового ввода-вывода до 5-минутных средних значений, заполняя пробелы нулями.
Сравнение сред с помощью фильтров
Этот запрос показывает количество ошибок для сред staging и production в виде отдельных временных рядов для сравнения.
Исключение определённых хостов
Этот запрос показывает использование CPU для всех хостов, кроме test-server и dev-server.
Запрос с явными тегами (версия 2.3+)
Этот запрос возвращает только те временные ряды, у которых определён тег host, исключая все временные ряды, где этот тег отсутствует.
Дальнейшие шаги
- Используйте переменные шаблонов, чтобы создавать динамичные и переиспользуемые дашборды.
- Настройте алертинг, чтобы получать уведомления при пересечении метриками пороговых значений.
- Устраните неполадки, если возникнут проблемы с запросами.