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

Вам помогут эти разделы:
- Получите доступ
- Запустите StatsHouse локально
- Отправьте данные с демосервера
- Создайте свою метрику
- Отправьте данные в свою метрику
- Что посмотреть на графике
Это руководство работает для систем на основе Linux. В macOS или Windows могут возникнуть проблемы с Docker.
Как создавать метрики, отправлять и просматривать данные: читайте в руководстве пользователя.
Получите доступ
Если в вашей организации уже есть инсталляция StatsHouse, обратитесь за доступом к администраторам.
Запустите StatsHouse локально
Убедитесь, что у вас установлен 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.
В меню могут отображаться статистики, не соответствующие типу вашей метрики. Если выбрать нерелевантную статистику, значения на графике будут равны нулю. Чтобы в меню не отображались такие статистики, укажите тип метрики в разделе редактирования метрики.
Если вы выбрали count или sum в качестве статистики, а для интервала агрегации установлено значение Auto, график может быть сложно интерпретировать.
Лучше выбрать count/sec или sum/sec. Вы получите нормализованные данные, которые не зависят от интервала агрегации.
Узнайте больше об описательных статистиках.
Период времени
Просматривайте данные за конкретный период времени: последние пять минут, последний час, последнюю неделю. Даже за последние два года.
Можно выбрать конкретную дату и время. А ещё настройки можно комбинировать: например, так отобразятся данные за последний час для предыдущего дня:

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

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

Если выбрать значение Auto, для отображения данных на графике будет использоваться минимальный интервал агрегации из доступных. Он изменчив, поскольку зависит от того, какие данные доступны в данный момент:
- данные, агрегированные по секундам, хранятся в течение первых двух дней,
- данные, агрегированные по минутам, хранятся в течение месяца,
- данные, агрегированные по часам, хранятся как угодно долго.
Доступный интервал агрегации также связан с разрешением метрики.
Узнайте больше об агрегации в StatsHouse и о том, как менять разрешение метрики.
Теги
Теги помогают учитывать дополнительные характеристики данных, влияющие факторы или контекст. С помощью тегов можно фильтровать и группировать данные.
Например, данные можно пометить как относящиеся к
- окружению:
production
,development
, илиstaging
; - частям приложения:
video
,stories
,feed
, и т.п.; - платформе:
mobile
,web
, и т.п., - группе методов, версии, чему угодно ещё.
Бывают теги с большим числом разнообразных значений. Например, вам может быть нужен тег "идентификатор пользователя". Такие теги могут вызывать ошибки типа "mapping flood" или увеличивать семплирование из-за высокой кардинальности. Если вам всё равно нужны такие теги, почитайте о них подробнее.
Узнайте больше о том, как фильтровать данные с помощью тегов, как их настраивать и редактировать, а также о том, что такое кардинальность.
Top N
Когда вы группируете данные по одному или нескольким тегам, например, по environment
и platform
,
значения тегов могут образовывать много комбинаций:
Environment × Platform | web | iphone | android |
---|---|---|---|
production | ✔️ | ✔️ | ✔️ |
staging | ✔️ | ✔️ | ✔️ |
testing | ✔️ | ✔️ | ✔️ |
Если комбинаций слишком много, используйте параметр Top N: укажите, сколько комбинаций с максимальными значениями нужно показать на графике.
Если выбрать значение Top 3 для этого параметра в нашем примере, получится вот что:

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