Перейти к содержанию

Field Configuration


Данные пришли из Query Editor — сырые, неформатированные. Теперь их нужно «причесать» для человеческого глаза. Field Configuration — это набор настроек, которые применяются к полям (полям в Data Frame, т.е. к столбцам данных) и определяют, как именно значения будут отображаться.


Аналогия

Field Configuration — это рецепт подачи блюда. У вас на кухне лежат куски сырого мяса на тарелке, а нужно сервировать на фарфоровой тарелке, с гарниром, под соусом. Данные — это сырое мясо. Field Config — это правила подачи.


Defaults vs Overrides — ключевое различие

Это важно понять, потому что многие путаются.

  • Defaults — настройки по умолчанию для всех полей. Если поле не имеет специальной настройки — применяется default. «Все стейки подаются средней прожарки».
  • Overrides — точечные переопределения для конкретных полей. «А вот этому гостю — well done».

Практический пример: всем полям задаём единицу измерения bytes(IEC) — и все поля с байтами автоматически форматируются правильно. Но у одного поля (например, загрузка CPU) единица измерения другая — percent(0.0–1.0). Через override для этого поля задаём percent — и только оно меняется, остальные остаются в байтах.


Единицы измерения (Units)

Grafana поддерживает огромный список единиц — это один из самых детально проработанных аспектов полей. Вот наиболее частые:

Категория Unit Отображение Для чего
Объём данных bytes(IEC) 1 KiB, 1024 KiB = 1 MiB Объём памяти, диска
Объём данных bytes(SI) 1 kB, 1000 kB = 1 MB Сетевая передача данных, провайдеры интернета
Битрейт bits/sec, bytes/sec(IEC), Kbits/sec 1 Mbps Пропускная способность сети, throughput диска
Время ms 1, 59, потом 1m:00 Задержки сети, время ответа БД, длительность запросов
Время s 0.5, 59 То же самое, но в секундах
Время duration 1 ms, 3.1 sec, 4d 2h 58m Когда формат меняется: миллисекунды, секунды, минуты, часы, дни
Проценты percent(0-100), percent(0.0-1.0), percent(100) 75%, % Использование ресурсов, доля ошибок
Температура celsius, fahrenheit 55°C, °F Датчики температуры CPU/GPU
Шкала short (auto), locale (locale-aware) 1.2k, 3.4M Аббревиатура тысяч, миллионов
Операции ops (operations), reqps (requests/sec) 12k ops Частота запросов, RPS
Время с датой dateTimeFromNow, dtdurationms 12 minutes ago, 1 day 2 hr 30 min Длительность с момента события

Поиск единиц: единицы сгруппированы по категориям, но в Grafana 13.x есть поиск — просто начните вводить в выпадающем меню, и нужное отфильтруется. Не надо скроллить 200+ строк каждый раз.


Decimals (Десятичные знаки)

Field Config → Standard Options → Decimals. Если не задано (auto) — Grafana сама решает, сколько знаков после запятой показывать. Чаще всего это корректно, но для финансовых метрик (цена, сумма) или для точных значений лучше явно указать 2.


Min / Max (Минимальное и максимальное значение поля)

Используются не везде, а только в визуализациях, где есть шкала (Gauge, Bar Gauge, Stat). Определяют границы шкалы: от min до max. Если не задано — шкала автоматом подстраивается под данные. Лучше задать вручную для фиксированного контекста: если Gauge показывает загрузку CPU, то min = 0, max = 100, и если у вас сейчас 20% загрузки — Gauge останется в нижней половине, а не растянется на всю шкалу.


Thresholds и цветовые схемы

Thresholds — это правила раскраски в зависимости от значения. По умолчанию:

Значение Цвет
Base (фон) Зелёный
> 80 Оранжевый
> 90 Красный

Цвета можно поменять, а сами thresholds задаются в двух режимах:

  • Absolute — фиксированные значения. > 80 = оранжевый, > 90 = красный.
  • Percentage — относительно наблюдаемого диапазона данных. > 80-й персентиль = оранжевый, > 90-й персентиль = красный. Удобно для метрик с плавающим абсолютным масштабом в разные периоды суток.

Цветовые схемы (Color Scheme):

  • Single Color — все значения одного выбранного цвета.
  • From Thresholds — каждому порогу — свой цвет. Классический «зелёный → оранжевый → красный».
  • Custom Scheme — вы задаёте произвольный градиент из N цветов. Например, синий → голубой → фиолетовый → фиолетовый для визуализации, где негатива нет, а интенсивность варьируется.


Naming Patterns и Custom Display Name

Поле Display Name в Standard Options. Определяет, как будет отображаться название ряда в легенде и в надписях данных.

Специальные маркеры: {{label_name}} — значение конкретной метки. Например, если Prometheus-запрос возвращает метрику с label instance, то Display Name: {{instance}} превратит название ряда из метрического имени в имя инстанса.

Распространённые patterns:

Pattern Результат
{{instance}} server01:9100
{{instance}} — {{device}} server01:9100 — sda
Backend: {{backend}} Backend: api-gateway-1
HTTP {{status}} HTTP 200

С полным списком {{labels}} для конкретного источника данных можно ознакомиться в Query Inspector — вкладка Data показывает все labels для каждого ряда.


Overrides: условия совпадения

Как работает Override:

  1. Добавляете Override.
  2. Задаёте условие совпадения:
  3. Fields with name — точное имя поля.
  4. Fields with name matching regex — регулярное выражение.
  5. Fields with type — тип (number, string, boolean, time).
  6. Fields returned by query — группа полей конкретного запроса (A, B, C...).
  7. Задаёте альтернативные значения: Unit, Min/Max, Decimals, Conversion (преобразование поля), Data Links, Color.

Пример: Override → Fields with name matching regex: .*_error → Unit: percent(0–100). Все поля с суффиксом _error станут процентами, остальные — с дефолтным Unit'ом.


Transformation и Field Config: в чём разница

Частый вопрос: я могу взять поле "values" и умножить его на 100 — через Transform или Field Config?

  • Transform — влияет на данные (математические операции, группировка, фильтрация).
  • Field Config — влияет на отображение (форматирование, цвета, шкала).

Умножить на 100 — это данные, а не отображение. Лучше через Transform → Add field from calculation: $A * 100. Или Calculate field.

А вот задать Unit: percent(0–100) — это Field Config: значение 0.75 отобразится как «75%». Поле не меняется — меняется только то, как его показывает Grafana.


Далее: Transformations