Метрики, логи и трейсы
Урок про три столпа наблюдаемости и про то, какой сигнал какую задачу решает.
Три столпа наблюдаемости — это метрики, логи и трейсы: три типа телеметрии, дополняющих друг друга.
Когда что-то ломается, вы обычно проходите путь: «вижу аномалию» → «понимаю масштаб» → «нахожу конкретную причину». Эти три фазы хорошо ложатся на три типа сигналов. Понимать их различия важно, чтобы не пытаться, например, считать процентили задержки по логам, когда удобнее метрики.
Метрики
Метрика — это число во времени с набором меток (лейблов). Например, «количество HTTP-запросов» с метками метода и кода ответа. Метрики дёшевы в хранении и идеальны для трендов, графиков и алертов.
http_requests_total{method="GET", status="200"} 14823
http_requests_total{method="GET", status="500"} 37По метрикам легко спросить «сколько ошибок в секунду» или «какая задержка у 99% запросов», но нельзя узнать детали конкретного сбойного запроса.
Логи
Лог — это запись о конкретном событии с подробностями: время, сообщение, контекст. Логи отвечают на вопрос «что именно произошло вот в этом случае».
2026-06-22T10:15:03Z level=error msg="db timeout" user_id=991 query_ms=5021Логи богаты деталями, но дороги при больших объёмах и плохо подходят для подсчёта агрегатов в реальном времени.
Трейсы
Трейс — это путь одного запроса через несколько сервисов, разбитый на span'ы с длительностями. Трейсы незаменимы, когда задержку создаёт цепочка из десятка микросервисов и нужно понять, где именно теряется время.
trace abc123
|-- gateway 12ms
| |-- auth 4ms
| |-- orders 180ms <-- узкое место
| |-- db 175msКак работает под капотом
Метрики хранятся как временные ряды: пара «момент времени → число». Они компактны, потому что система запоминает не каждое событие, а агрегат за интервал. Логи и трейсы хранят отдельные записи, поэтому их объём растёт линейно с трафиком — отсюда и более высокая стоимость.
| Сигнал | Отвечает на вопрос | Стоимость |
| Метрики | Сколько? Как быстро? Какова доля ошибок? | Низкая |
| Логи | Что именно случилось в этом событии? | Средняя/высокая |
| Трейсы | Где в цепочке сервисов теряется время? | Высокая |
Частые ошибки
- Гонять алерты по логам. Для подсчёта «ошибок в секунду» дешевле и надёжнее метрика-counter, а не парсинг логов.
- Хранить всё вечно. Особенно логи и трейсы — настраивайте срок хранения и сэмплирование.
- Класть высококардинальные данные в метки метрик. ID пользователя в лейбле метрики — путь к взрыву числа временных рядов; такие детали — место для логов.
Итог
- Метрики — дешёвые числа во времени, основа графиков и алертов.
- Логи — детальные записи событий для расследования.
- Трейсы — путь запроса через сервисы, чтобы найти узкое место.