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

Краткое руководство

Познакомьтесь с системой StatsHouse за 10 минут. Вот инструкция:

Вам помогут эти разделы:

important

Это руководство работает для систем на основе Linux. В macOS или Windows могут возникнуть проблемы с Docker.

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

Получите доступ

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

Запустите StatsHouse локально

important

Убедитесь, что у вас установлен Docker.

Если в вашей организации ещё нет своей инсталляции StatsHouse, установите систему локально. Клонируйте репозиторий StatsHouse, перейдите в директорию с таким же названием и запустите установщик:

git clone https://github.com/VKCOM/statshouse
cd statshouse
./localrun.sh

Интерфейс StatsHouse откроется, как только завершится установка.

Отправьте данные с демосервера

Убедитесь, что находитесь в директории StatsHouse. Запустите демонстрационный веб-сервер (написан на Go). Он отправит данные демонстрационных метрик в вашу локальную инсталляцию.

go run ./cmd/statshouse-example/statshouse-example.go

Создайте свою метрику

Откройте основное меню (значок слева вверху) и выберите Create metric:

Дайте метрике название:

Узнайте больше о том, как создавать метрики.

Отправьте данные в свою метрику

Отправьте данные с помощью bash-скрипта:

echo '{"metrics":[{"name":"my_metric","tags":{},"counter":1000}]}' | nc -q 1 -u 127.0.0.1 13337

Узнайте больше о том, как устроены метрики в StatsHouse и как ещё можно отправлять метрики.

Отправленные данные отобразятся на дашборде по адресу localhost:10888.

В этом примере мы отправили одни и те же данные трижды:

Узнайте больше о том, как пользоваться графиками.

Что посмотреть на графике

Основные параметры графиков — на этом скриншоте и в описаниях:

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

Найти метрику можно по названию. Узнайте больше о том, как найти нужную метрику и как не испортить чужую метрику.

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

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

  • count и count/sec,
  • sum и sum/sec,
  • average,
  • standard deviation,
  • minimum и maximum.

Описательных статистик в StatsHouse довольно много. Можно ли применять их к данным вашей метрики? Зависит от типа метрики. Например, статистика percentiles (перцентили) применима только к типу value.

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

tip

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

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

Узнайте больше об описательных статистиках.

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

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

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

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

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

tip

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

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

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

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

tip

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

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

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

Узнайте больше об агрегации в StatsHouse и о том, как менять разрешение метрики.

Теги

Теги помогают учитывать дополнительные характеристики данных, влияющие факторы или контекст. С помощью тегов можно фильтровать и группировать данные.

Например, данные можно пометить как относящиеся к

  • окружению: production, development, или staging;
  • частям приложения: video, stories, feed, и т.п.;
  • платформе: mobile, web, и т.п.,
  • группе методов, версии, чему угодно ещё.
tip

Бывают теги с большим числом разнообразных значений. Например, вам может быть нужен тег "идентификатор пользователя". Такие теги могут вызывать ошибки типа "mapping flood" или увеличивать семплирование из-за высокой кардинальности. Если вам всё равно нужны такие теги, почитайте о них подробнее.

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

Top N

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

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

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

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

note

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