Как начать собирать метрики в Konso
Пошаговая инструкция: подключите Konso SDK и отправьте первую метрику из .NET-приложения за 10 минут.
Открыть Konso arrow_forwardTL;DR
- check_circleУстановите NuGet-пакет Konso.Client и зарегистрируйте IKonsoMetrics в DI-контейнере
- check_circleМетрика — это именованное числовое значение: счётчик запросов, время ответа, количество ошибок
- check_circleВызовите metricsClient.TrackAsync("metric.name", value) в нужной точке кода
- check_circleМетрики появятся в разделе Метрики в Konso — графики и агрегации строятся автоматически
- check_circleДля не-.NET платформ доступна прямая отправка через REST API
Что такое метрики в Konso
Метрика в Konso — это именованное числовое значение, привязанное к точке во времени. Вы отправляете значение из кода приложения, Konso хранит его в Elasticsearch и строит по нему агрегации: sum, avg, min, max, count за любой временной диапазон. Метрики подходят для технических показателей: latency, throughput, error rate, размер очередей.
Что понадобится перед началом
- check_circleАккаунт Konso на app.konso.io
- check_circleСозданный проект в Konso
- check_circleAPI токен проекта — получите в Настройки → API доступ (см. туториал «Как получить API токен»)
- check_circle.NET 6+ приложение
Шаг 1. Установите NuGet-пакет
Если Konso.Client ещё не установлен — добавьте пакет в проект: dotnet add package Konso.Client [скриншот: терминал с успешной установкой пакета Konso.Client]
Шаг 2. Добавьте API токен в конфигурацию
В appsettings.json добавьте секцию Konso (или используйте уже существующую, если логи уже подключены): { "Konso": { "ApiKey": "ВАШ_API_ТОКЕН" } } Для production используйте переменные окружения: export Konso__ApiKey="ВАШ_API_ТОКЕН" [скриншот: appsettings.json с секцией Konso]
Шаг 3. Зарегистрируйте сервис метрик
В Program.cs добавьте регистрацию Konso Metrics: var builder = WebApplication.CreateBuilder(args); builder.Services.AddKonsoMetrics(options => { options.ApiKey = builder.Configuration["Konso:ApiKey"]; }); var app = builder.Build(); [скриншот: Program.cs с добавленной строкой builder.Services.AddKonsoMetrics] После этого IKonsoMetrics доступен для внедрения через DI в любом классе приложения.
Шаг 4. Внедрите клиент и отправьте первую метрику
Внедрите IKonsoMetrics в конструктор нужного класса и вызовите TrackAsync: public class PaymentService { private readonly IKonsoMetrics _metrics; public PaymentService(IKonsoMetrics metrics) { _metrics = metrics; } public async Task ProcessPayment(decimal amount) { var sw = Stopwatch.StartNew(); // ... логика оплаты ... sw.Stop(); // Время выполнения в миллисекундах await _metrics.TrackAsync("payment.duration_ms", sw.ElapsedMilliseconds); // Счётчик успешных оплат await _metrics.TrackAsync("payment.success_count", 1); // Сумма оплаты await _metrics.TrackAsync("payment.amount", (double)amount); } } [скриншот: код сервиса с IKonsoMetrics и вызовами TrackAsync]
Шаг 5. Откройте раздел Метрики в Konso
Перейдите в Konso → ваш проект → раздел Метрики. После первого вызова TrackAsync метрика появится в списке доступных. [скриншот: раздел Метрики в Konso со списком метрик и графиком payment.duration_ms] Выберите метрику и временной диапазон — Konso автоматически построит график с агрегацией по выбранному периоду.
Шаг 6. Выберите агрегацию и временное окно
Для каждой метрики доступны агрегации: avg, sum, min, max, count. Выберите нужную в зависимости от типа метрики: • payment.duration_ms → avg (среднее время) или p99 (перцентиль) • payment.success_count → sum (общее количество за период) • payment.amount → sum (суммарный оборот) или avg (средний чек) [скриншот: интерфейс выбора агрегации и временного окна для метрики в Konso] График обновится в соответствии с выбранными настройками.
Шаг 7. Настройте алерт по метрике
Создайте алерт, чтобы получать уведомления при выходе метрики за пороговые значения. Перейдите в раздел Алерты → Создать алерт. Выберите: • Метрику: payment.duration_ms • Условие: avg > 2000 (среднее время ответа больше 2 секунд) • Временное окно: последние 5 минут • Канал уведомления: Telegram или Email [скриншот: форма создания алерта с настройками для метрики payment.duration_ms] Теперь вы получите уведомление, как только latency выйдет за допустимые пределы.
Альтернатива: отправка метрик через REST API
Для платформ и языков без .NET SDK используйте прямую отправку через HTTP.
Какие метрики стоит подключить в первую очередь
- check_circleВремя ответа ключевых API endpoints (latency) — avg и p99
- check_circleКоличество ошибок по типам — sum за период
- check_circleРазмер очередей или буферов — для выявления накопления
- check_circleВремя выполнения фоновых задач (BackgroundService) — avg
- check_circleКоличество активных пользователей или сессий — count
Метрики vs Value Tracking
Метрики подходят для технических числовых показателей системы (latency, throughput, размер очередей). Для бизнес-событий (оплаты, регистрации, конверсии) используйте Value Tracking — он хранит не только значение, но и контекст каждого события.
Что сделать после подключения
- check_circleСоздайте дашборд с ключевыми техническими метриками приложения
- check_circleНастройте алерты на latency и error rate с разумными порогами
- check_circleДобавьте теги (tags) к метрикам для фильтрации по endpoint, сервису или окружению
- check_circleПодключите Value Tracking для бизнес-событий — и сопоставьте с техническими метриками
Настройте мониторинг метрик в Konso
Подключите Konso и получите графики, агрегации и алерты по метрикам вашего приложения
Начать бесплатно arrow_forward