Метрики для вашего нового старта

Пара минут —
и продукт как на ладони.

Технические и продуктовые метрики из вашего серверного и клиентского кода — и состояние самих машин. Дашборды, графики и алерты сразу в Телеграм — без PromQL, экспортеров и scrape-инфраструктуры.

НачатьСделано разработчиками для разработчиков · Сервис в раннем доступе
Дашборд с графиками метрик приложения
Метрика появляется в интерфейсе с первым событием и сразу попадает на дашборд. Ничего не надо настраивать, не надо описывать в конфиге, не надо мучиться с запросами.
01 — Проблема

Вы запустили проект. Что дальше?

Пока ваш проект на стадии MVP и ищет первых пользователей, полноценных метрик обычно немного или вообще нет. Не потому, что они не нужны, а просто потому, что вам было немного не до этого. Нынче «сделать нормально» — это настроить Prometheus, экспортеры, service discovery, Grafana и PromQL. Много всего, даже сейчас, когда под рукой ИИ-агенты.

Поэтому всё заканчивается одинаково: косвенно по логам, по встроенным инфраструктурным метрикам вы стараетесь держать руку на пульсе. Но когда уже что-то сломалось и вы не знаете что, или ещё хуже — когда вы даже не знаете что что-то сломалось, то вы начинаете невольно задумываться. Так вот, Простометрика — это таблетка от головной боли.

02 — Начинаем работу

Всего три вызова.

Клиенты отправляют метрики самым эффективным и простым способом. Не нужно поднимать эндпоинты для скрейпинга, настраивать service discovery и открывать порты наружу. Вызовы ничего не блокируют — события накапливаются во внутреннем буфере в памяти. Вызов внутри горячего цикла почти ничего не стоит.

go get github.com/prostoteam/prostometrics-go

prostometrics.Init("billing-api", cfg)

prostometrics.Count("signups", 1)
prostometrics.Value("request.duration_ms", elapsedMs)
prostometrics.CountUnique(user.ID, "users.dau")
Первый аргумент — workload: имя сервиса, которым группируются метрики. billing, payments, web-staging. Так же разделяются локальная разработка и продакшен. Значения передаются сырыми, а p50, p95 и p99 выбираются уже во время анализа.
03 — Вайбкодерам

Дайте сделать всё вашему агенту.

Для вашего AI друга у нас лежит отдельная инструкция: вы отдаёте агенту всего одну строку, дальше он всё сделает за вас.

Read https://prostometrics.ru/llms.txt and instrument this project with Prostometrics metrics, following that guide.
  1. 01Сначала спросит, что вам нужно: биллинг, фронтенд, фоновые задачи — или чего не касаться
  2. 02Покажет план метрик по трём уровням: от самого нужного до опционального
  3. 03Ключ и workload попросит в самом конце — когда вы уже утвердили план
04 — Метрики хоста

Состояние сервера — одной командой.

Состояние машины писать в коде не нужно — его собирает отдельный агент. Одна команда ставит его systemd-сервисом, дальше он сам присылает загрузку CPU, память, аптайм, место на дисках и сетевой трафик. Метрики группируются по имени машины, так что несколько серверов на одном дашборде не перепутаются.

curl -fsSL https://prostometrics.ru/agent.sh | sudo bash
  1. 01Установщик спросит ключ проекта, поставит сервис и запустит его
  2. 02Через минуту на дашборде видно CPU, память, диски и сеть этой машины
  3. 03Контейнеры и Nginx агент находит сам, MongoDB — когда укажете подключение
05 — Когда что-то сломается

Алерты приходят туда, куда надо.

В интуитивно понятном интерфейсе вы настраиваете пороги срабатывания алертов. В сообщении телеграм-бота вы видите метрику и пояснение, почему сработал алерт 🤌🏻.

ПростометрикаСработал алерт: errorsЗначение 47 за 5 минут при пороге 20.
status_class: 5xx · Workload: billing-api
Открыть график14:32
Настройка — из карточки метрики: выбрать функцию, порог и куда слать. Отдельный Alertmanager, свой YAML и перезагрузка правил не нужны.
06 — Возможности

Что ещё умеет Простометрика

  • Push-модель — и с сервера, и из браузера

    Приложение само отправляет метрики: без service discovery, pull-эндпоинтов и открытых портов. Браузерный клиент весит меньше 5 КБ и не тянет зависимостей

  • Автоматические дашборды

    Метрику не нужно объявлять заранее — она появляется в интерфейсе с первым событием

  • Фронтенд и бэкенд на одном графике

    Время ответа, измеренное в браузере, рядом со временем обработки на сервере — видно, где именно теряются секунды

  • p50 + p95 + p99

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

  • Уникальные значения

    DAU и MAU — в том числе прямо из браузера. Идентификатор не сохраняется, а хешируется

  • Алерты это просто

    Алерты почти что в один клик. Удобные оповещения в телеграм

07 — Кому это подходит

Шесть ситуаций, в которых мы точно полезны

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

  • Телеграм-боты и небольшие сервисы

    «Бот работает. Сколько людей вчера дошли до оплаты — не знаю, надо лезть в логи.»

    Веб-аналитика тут не работает, Prometheus — из пушки по воробьям. Счётчик на каждый хендлер и алерт в тот же телеграм, где живёт бот.

  • Соло-основатели с живым продуктом

    «Я вчера выкатил фичу и понятия не имею, пользуется ей кто-нибудь или нет.»

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

  • Команды на 2–10 человек без девопса

    «Нам сказали поднять Prometheus и Grafana. Это неделя работы, которую никто не хочет делать.»

    Несколько сервисов на паре машин. Ставить, обновлять и чинить нечего: приложение отправляет метрики само, дашборды собираются без вас.

  • Бэкендеры, которым нужны продуктовые метрики

    «Prometheus у нас есть. Но „сколько людей дошли до третьего шага чекаута“ я в нём моделировать не хочу.»

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

  • Те, кто устал от сложных систем мониторинга

    «Мне нужны три графика, а не платформа, которую надо изучать неделю.»

    Никакого query language, никаких экспортеров и правил в YAML. Метрика появляется в интерфейсе с первым событием и сразу попадает на дашборд.

  • Те, кто пишет код вместе с агентом

    «Если ставится одной строкой в Claude Code — поставлю сейчас. Если надо читать доку — потом.»

    Одной строкой и ставится. Инструкция для агентов лежит открыто на /llms.txt — её же можно вставить руками, если ваш инструмент не ходит в интернет.

08 — Чем это не является

Управляете сотнями сервисов в Kubernetes? Скорее всего, вам лучше подойдёт Prometheus

Мы намеренно узкий инструмент. Вот честное сравнение с тремя вариантами, между которыми вы на самом деле выбираете.

ПростометрикаЛоги и grepPrometheus + GrafanaВнешний SaaS
Отправка метрикВызов библиотечной функцииprint() и парсингИнструментарий + exporters + scrapeSDK
Метрики из браузераТот же клиент и тот же дашбордНетНе поддерживаетсяОтдельный продукт
Метрики хостаАгент, одна командаНетnode_exporter и scrape-конфигСвой агент
ДашбордыАвтоматическиеНетНужно настраиватьНужно настраивать
Query languageНе нуженgrep и регуляркиPromQLСвой DSL
Продуктовые метрикиПоддержаныВручнуюНужно моделироватьПоддержаны
УникиВстроено, в том числе из браузераНетНадо помучитьсяВстроено
АлертыПочти в один клик, в телеграмНетAlertmanager и правила в YAMLЧерез интеграции
Для когоМаленькие командыПока не вырослиБольшая инфраструктураКрупные компании
09 — Вопросы

То, что обычно спрашивают до регистрации

  • Нужно ли что-то ставить на сервер?

    Для метрик приложения — нет, только библиотеку в проект: она отправляет метрики сама, без сайдкаров и без открытых наружу портов. Метрики самой машины — CPU, память, диски, сеть — собирает отдельный агент, который ставится одной командой. Он тоже только отправляет наружу, и ставить его не обязательно.

  • Нужно ли объявлять метрики заранее?

    Нет. Метрика появляется в интерфейсе с первым событием и сразу попадает на дашборд — ничего не описывать в конфиге и не перезапускать.

  • Как разделить локальную разработку и продакшен?

    Через workload — стабильное имя сервиса, которое вы передаёте при инициализации. Разные значения дают разные наборы метрик и разные дашборды.

  • Что будет при высокой кардинальности?

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

  • Что происходит с идентификаторами пользователей?

    Уникальные значения считаются вероятностно: идентификатор хешируется, а в исходном виде не сохраняется. Это работает и на сервере, и прямо из браузера.

  • Какие языки поддерживаются?

    Go, Node.js и браузерный фронтенд. Браузерный клиент весит меньше 5 КБ и не тянет зависимостей.

ДанныеИдентификаторы хешируются и в исходном виде не сохраняются
ДоступВсе соединения только наружу — снаружи внутрь вашей сети никто не ходит
Связьteam@prostometrics.ru — пишите, отвечаем сами

От установки до первого графика — минуты

Три вызова в коде. Дашборды, графики и алерты уже ждут.