Linux Labs

Наблюдаемость: метрики, алерты, логи / Ступень 1 из 9

Метрика, экспортёр и сбор

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 7 · теория · 5 мин

Строка метрики

Тысячи строк экспортёра читаются одинаково: имя, метки, число.

Каждая строка без # — одна метрика со значением. Вот две строки о процессоре вместе с описанием:

text
# HELP node_cpu_seconds_total Seconds the CPUs spent in each mode.
# TYPE node_cpu_seconds_total counter
node_cpu_seconds_total{cpu="0",mode="idle"} 1824.37
node_cpu_seconds_total{cpu="0",mode="user"} 5.76

Сначала имя, в фигурных скобках — метки, в конце — число. Метки уточняют, о чём число: здесь — какое ядро и в каком режиме провело эти секунды. Строки # HELP и # TYPE описывают метрику: что она считает и какого она типа.

Имя вместе с набором меток — временной ряд: Prometheus хранит его значения во времени, как столбик чисел с метками времени. Рядов у метрики столько, сколько разных сочетаний меток: у процессора — ядра на режимы, у дисков — по ряду на диск, у файловых систем — на каждую точку монтирования. Отсюда тысячи строк у одной машины.

Числа экспортёр пишет с плавающей точкой: 2.88198656e+08 — это 288 198 656. Единица измерения — в конце имени: _bytes, _seconds. Поэтому строки о памяти находятся по началу имени, а сравнивать их с free -b можно прямо в байтах.

Проверь себя 1 вопрос

На машине с двумя ядрами node_cpu_seconds_total считает время в 8 режимах (idle, user, system…). Сколько строк со значениями у этой метрики отдаст экспортёр?

  • По строке на ядро было бы при одной метке cpu. Вторая метка — mode, и строк 2 × 8.

  • Имя у метрики одно, но каждое сочетание меток — свой ряд и своя строка: пара cpu и mode.

  • 8 строк — у машины с одним ядром, как эта: curl -s localhost:9100/metrics | grep -c '^node_cpu_seconds_total'. Второе ядро добавляет ещё 8.

Каждое сочетание меток cpu и mode — отдельный временной ряд и отдельная строка: 2 ядра × 8 режимов = 16. Поэтому у машины с десятками ядер, дисков и разделов строк тысячи.

Главное в шаге

  • Строка метрики — имя, метки в фигурных скобках и число; # HELP и # TYPE описывают метрику.
  • Имя с набором меток — отдельный временной ряд: у метрики столько строк, сколько сочетаний меток.
  • Единица — в конце имени (_bytes, _seconds), число может быть записано как 2.88e+08.
Ubuntu 24.04
Загрузка…