Перейти к основному содержимому

Как просматривать данные

В StatsHouse данные можно представить в виде графика или таблицы, а также скачать как файл CSV. Для сложных сценариев можно использовать PromQL-запросы. StatsHouse не позволяет просматривать данные через сторонние приложения.

Узнайте, как просматривать данные в StatsHouse: основные возможности обозначены на рисунке внизу, а описания можно найти через панель навигации.

1 — Название метрики

Созданные метрики можно найти по названию.

warning

Не вносите изменения и не отправляйте данные в чужие метрики — вы можете испортить чьи-то данные.

Метрики хостов

Часто используемые метрики хостов, например загрузка процессора или использование диска, встроены в StatsHouse:

tip

Названия метрик хостов начинаются с префикса host_.

Список метрик хостов и их реализацию можно найти на GitHub. Более подробное описание приведено в руководстве для администраторов.

Служебные метрики

Метрики, названия которых начинаются с двух подчёркиваний, — это служебные метрики StatsHouse, например:

Их нельзя редактировать. Смотрите также раздел Метаметрики.

Общие метрики

На уровне организации можно договориться о наборе метрик, которые будут общими для всех подсистем, сервисов, микросервисов, прокси и т. д.

"Как найти создателя метрики?"

В StatsHouse нет отдельного способа, который помог бы узнать, кто создал метрику. Иногда эту информацию можно найти в описании метрики. Если её нет, обратитесь к коллегам лично.

"Как отобразить несколько метрик на графике?"

Используйте PromQL-запрос. Чтобы сопоставить метрики, можно создать дашборд. Чтобы изучить взаимосвязи между метриками или событиями, используйте Наложение событий.

2 — Название графика

Вы можете изменить название графика, не меняя название метрики.

Изменённое название графика сохраняется только в URL.

3 — Описательные статистики

Это статистические функции, которые количественно описывают или обобщают данные:

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

tip

Если вы выбрали count или sum в качестве статистики, а для интервала агрегации установлено значение Auto, график может быть сложно интерпретировать.

Лучше выбрать count/sec и sum/sec. Вы получите нормализованные данные, которые не зависят от интервала агрегации.

"Почему для счётчика отображается нецелое число??"

Системе иногда приходится выбирать нецелые коэффициенты семплирования, чтобы сохранить значения агрегатов и статистик. Из-за этого счётчики могут принимать нецелые значения, хотя каждый счётчик по сути является целым числом.

Кумулятивные функции

Накопленные значения нельзя посмотреть для типа unique.

Производные

Производная показывает скорость изменения исходной функции, то есть разность между двумя ближайшими значениями функции.

Перцентили

Перцентили доступны только для value-метрик. Включить запись перцентилей можно в разделе редактирования метрики.

Обратите внимание, что объём данных для метрики с перцентилями увеличивается, — это может привести к усилению семплирования. Чтобы минимизировать коэффициент семплирования, следите за кардинальностью метрики или уменьшите её разрешение.

4 — Период времени

Просматривайте данные за конкретный период времени: последние пять минут, последний час, последнюю неделю. Даже за последние два года.

Можно выбрать конкретную дату и время. А ещё настройки можно комбинировать: например, так отобразятся данные за последний час для предыдущего дня:

Данные за определённый период времени можно сравнить с данными за аналогичный период в прошлом: на день, неделю или год раньше.

Настраивая период времени, обращайте внимание на то, какой интервал агрегацииу вас выбран.

tip

Убедитесь, что период времени больше, чем интервал агрегации: например, период времени равен семи дням, а интервал агрегации — 24 часам.

Чтобы просматривать данные в режиме реального времени, используйте Live mode.

5 — Live mode

Используйте Live mode, чтобы просматривать данные в режиме реального времени.

По умолчанию параметр Live mode не содержится в URL графика.

tip

Чтобы отправить ссылку на график с включенным параметром Live mode, добавьте строку live=1 в URL графика.

6 — Интервал агрегации

Интервал агрегации — это что-то вроде степени детализации для вашей метрики. Чем больше интервал агрегации, тем более сглаженным выглядит график:

Auto и Auto (low)

Если выбрать значение Auto, для отображения данных на графике будет использоваться минимальный интервал агрегации из доступных. Он изменчив, поскольку зависит от того, какие данные доступны в данный момент:

  • данные, агрегированные по секундам, хранятся в течение первых двух дней,
  • данные, агрегированные по минутам, хранятся в течение месяца,
  • данные, агрегированные по часам, хранятся как угодно долго.

Доступный интервал агрегации также связан с разрешением метрики.

Интервал агрегации Auto (low) уменьшает отображаемое разрешение на постоянную величину. Он делает график более гладким даже при просмотре данных с минимальным интервалом агрегации:

6a — "Дельта"

info

Описываемая ниже функциональность будет перерабатываться.

Значение Δ ("дельта") показывает, какому интервалу агрегации (разрешению) соответствует интервал между соседними точками на графике.

  1. При выборе конкретного интервала агрегации (не Auto или Auto (low), а, например, 1 second, 5 minutes, 1 hour и т.п.) "дельта" показывает, какая агрегация отобразится на графике в итоге.

От чего она зависит?

  1. При выборе интервала агрегации Auto или Auto (low) "дельта" показывает минимальный доступный интервал агрегации с учётом разрешения дисплея. Разрешение дисплея влияет на размер графика в пикселях. Бывает, что размер графика не позволяет отобразить столько точек, сколько требуется. В итоге данные отображаются с более низким разрешением.

Если вы выбираете интервал агрегации Auto или Auto (low), рекомендуем использовать статистики count/sec и sum/sec. Если вы всё же используете count и sum, обращайте внимание на "дельту". В этой ситуации статистика показывает количество событий за промежуток времени, указанный в значении "дельты", и может варьироваться вместе с ней.

tip

Как это работает на практике?

Допустим, у StatsHouse есть подробные данные для метрики:

  • она изначально пишется с высоким, хотя и не максимальным, разрешением (5 секунд);
  • данные ещё очень свежие (не превратились в минутные или часовые агрегаты);
  • вы выбрали в интерфейсе небольшой интервал агрегации (тоже 5 секунд).

Но:

  • вы запросили данные за большой период времени (за неделю).

StatsHouse отобразит данные с разрешением НЕ в 5 секунд (как вы хотели), а в 300 секунд: данные с таким интервалом агрегации (Δ300s) уместились на график.

6b — Пользовательское разрешение

Если владелец настроил пользовательское разрешение для метрики, оно будет отображаться над графиком в виде жёлтого значка.

Если значение пользовательского разрешения больше, чем выбранный интервал агрегации, значок станет красным.

7 — Теги

С помощью тегов можно фильтровать и группировать данные.

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

tip

Если у вашей метрики меньше 16 тегов, ненужные теги можно скрыть.

Группировка по тегам

Данные можно сгруппировать по одному или нескольким тегам.

Если у тегов много значений или они образуют много комбинаций, используйте параметр Top N: укажите, сколько комбинаций с максимальными значениями нужно показать на графике.

Например, вот как выглядят данные, сгруппированные по тегу protocol, если для параметра Top N выбрано значение Top 3.

note

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

Сортировка по алфавиту

Значения тегов в выпадающем меню можно отсортировать в алфавитном порядке — так можно быстрее найти нужное значение:

Отмена следующего выбора

Выберите значение тега, чтобы исключить данные из графика:

8 — Top N

Когда вы группируете данные по одному или нескольким тегам, например, по environment и platform, значения тегов могут образовывать много комбинаций:

Environment × Platformwebiphoneandroid
production✔️✔️✔️
staging✔️✔️✔️
testing✔️✔️✔️

Если комбинаций слишком много, используйте параметр Top N: укажите, сколько комбинаций с максимальными значениями нужно показать на графике.

Если выбрать значение Top 3 для этого параметра в нашем примере, получится вот что:

Чтобы выбрать комбинации с минимальными значениями, выберите один из вариантов Bottom N в том же меню:

9 — Max host

Чтобы найти хост, который отправляет максимальное значение для конкретной метрики, используйте параметр Max host.

Просмотрите список всех хостов, отсортированных по максимальному значению, или скопируйте список в буфер обмена:

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

Если включить Max host и просматривать график целиком, отобразится хост, ответственный за отправку значения, которое является максимальным за весь период времениLast 24 hours в примере ниже:

Если навести курсор на график, результирующее значение Max host будет меняться. Будет отображаться хост, который отправил значение, максимальное для доступного интервала агрегации. В приведённом ниже примере будет показано максимальное значение для минуты, на которую вы указываете:

10 — Таблица

События метрики можно отображать в виде таблицы:

Столбцы с тегами можно показать или скрыть (значок "глаз") или сгруппировать по ним ("галочка"):

11 — Наложение событий

Чтобы найти корреляции в данных, можно наложить события одной метрики на данные другой.

  1. Выберите метрику, на которую нужно наложить события. Откройте новую вкладку метрики:
  1. На новой вкладке выберите вторую метрику — ту, события которой вас интересуют. Отобразите эту метрику в виде таблицы:
  1. Вернитесь к первой метрике. В выпадающем меню Event overlay выберите открытую ранее вторую метрику. Флажки событий отобразятся на графике:

12 — CSV

Данные метрики за выбранный период времени можно экспортировать в виде файла CSV:

13 — Метаметрики

Метрики с двумя подчёркиваниями в начале — это метаметрики. Самые важные из них отображаются в интерфейсе:

Некоторые из этих метрик вообще не семплируются. Метрики Receive status и Sampling отправляются в специальной компактной форме для экономии трафика.

Receive status

Эта метаметрика перенаправляет вас на метрику __src_ingestion_status. Она показывает, есть ли ошибки при получении метрик: правильно ли отформатированы данные, не имеет ли счётчик отрицательного значения, не отправлено ли значение NaN.

Красный значок метаматрики сообщает о наличии ошибок:

Вот примеры ошибок:

К примеру, теги err_map_per_metric_queue_overload, err_map_tag_value или err_map_tag_value_cached указывают на замедление или ошибки в работе маппинга.

Эта метрика использует бюджет той метрики, к которой относится, поэтому большое количество ошибок не может повлиять на другие метрики.

Статусы err_*_utf8 хранят исходные значения строк в формате hex.

Sampling

В StatsHouse есть два узких места: отправка данных от агентов к агрегаторам и вставка данных в базу ClickHouse. Агент также называют source (источник), потому что это та машина, с которой поступают данные.

Семплирование означает, что StatsHouse выбрасывает часть данных, чтобы уменьшить их общий объём. Чтобы сохранить значения агрегатов и статистик, StatsHouse домножает оставшиеся данные на коэффициент семплирования.

Метаметрика Sampling source/aggregator даёт информацию о коэффициентах семплирования на уровне агента и агрегатора:

  • __src_sampling_factor — для агента,
  • __agg_sampling_factor — для агрегатора.

Из-за нецелых коэффициентов семплирования могут появляться нецелые значения счётчиков.

Если коэффициент семплирования больше 1, появляется жёлтый значок.

Если коэффициент семплирования больше 5, появляется красный значок.

Статистика count для этой метрики показывает количество агентов, на которых такой коэффициент был установлен в конкретную секунду.

Узнайте больше об агентах и агрегаторах StatsHouse, а также о том, что такое семплирование.

Cardinality

Кардинальность — это количество уникальных комбинаций значений тегов, которые вы отправляете для метрики.

Метаметрика Cardinality перенаправляет вас на метрику __agg_hour_cardinality:

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

Оценка кардинальности основана на данных от всех агрегаторов и их шардов. Статистика avg для этой метрики показывает полную кардинальность — данные можно сгруппировать по агрегаторам.

Mapping status

Если вы создаёте теги с большим числом значений, которые ещё не были добавлены в маппинг, возникают ошибки переполнения маппинга:

Ошибки переполнения маппинга указывают на то, что количество новых значений тегов превышает соответствующий дневной бюджет. Узнайте больше о маппинге и о том, сколько значений тегов можно использовать.

14 — Фиксированная ось Y

По умолчанию ось Y масштабируется автоматически — сама подстраивается под амплитуду данных. Возможно, вам понадобится зафиксировать её масштаб.

Представьте, например: данные варьируются в диапазоне от 1 до 100. Иногда появляются пики. StatsHouse обычно подстраивает масштаб оси Y под размер пика. Это бывает не очень удобно, когда вас интересуют не пики, а остальные данные.

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

info

Если вам нужна логарифмическая шкала, перейдите в редактор PromQL-запросов. Используйте стандартные функции PromQL:

15 — Копирование ссылки в буфер обмена

Если вы настроили параметры графика (например, сгруппировали или отфильтровали данные по тегам), вы можете поделиться ссылкой — параметры сохранятся в URL.

Обратите внимание: единственный параметр, который не включается в ссылку, — это Live mode. Узнайте, как отправить ссылку на график с включенным параметром Live mode.

Если у вас открыто несколько вкладок с метриками, скопируется только ссылка на текущую вкладку.

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

16 — Масштабирование

Перемещайтесь по шкале времени, увеличивайте или уменьшайте масштаб по осям X и Y.

Чтобы вернуться к исходному виду, сбросьте масштабирование (Reset zoom):

Отключите автомасштабирование оси Y, зафиксировав её.

17 — Переключение базы данных

Когда-то в StatsHouse использовалась более медленная база данных. В большинстве случаев не нужно переключаться на неё. Вы не увидите данных, но появится предупреждение:

Эта функциональность будет отключена позже.

18 — Редактор PromQL-запросов

Чтобы расширить возможности работы с данными, мы поддержали PromQL (Prometheus Query Language).

Переключитесь в режим редактирования PromQL-запросов, чтобы реализовать более сложные сценарии просмотра данных:

StatsHouse автоматически сгенерирует для вашего графика PromQL-запрос, описывающий текущее состояние графика. Выполнить запрос можно в самом редакторе.

Чтобы переключиться обратно в "кнопочный" режим настройки графика, нажмите Filter:

Узнайте больше о том, как работать с PromQL-запросами.

19 — Вкладки метрик

Вкладки метрик помогают создавать дашборды и накладывать события одной метрики на данные другой. Скопируйте текущий график на новую вкладку и выберите другую метрику. Также можно скопировать URL графика и вставить его на новую вкладку метрики:

При необходимости вкладку можно удалить:

20 — График в новой вкладке браузера

Вместо того чтобы копировать ссылку на график в буфер обмена, можно открыть её в новой вкладке браузера.

Как и при копировании ссылки, в новой вкладке открывается только текущая вкладка метрики, а режим Live mode не включается автоматически.