Сформулировал в одной дискуссии положения про метрики API:



1⃣ Есть три уровня метрик: инфраструктурные (что с железом и каналами) , прикладные (что с запросами и ответами, токенами и т.д)

и продуктовые/бизнесовые (что с качеством данных, бизнес-процессами, клиентами).



2⃣ С точки зрения измерений, что меряем:

- производительность/ресурсы (CPU/память/IO/сеть), RPS;

- скорость/задержки (latency: среднее, максимальное, 95 перцентиль, 99 перцентиль),

- число ошибок (4xx, 5xx);

- консистентность ответов (соответствие структуры, полнота, отсутствие дублей, соответствие размера/распределения ответа ожидаемому).



Если есть кеш — число попаданий/промахов.

Если есть требования к безопасности — число [неудачных] попыток авторизации, ошибки шифрования, ошибки сертификата, число выданных токенов;

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



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



Вот неплохая статья про метрики открытого API: https://www.moesif.com/blog/technical/api-metrics/API-Metrics-That-Every-Platform-Team-Should-be-Tracking/



А вот ещё одна, более техническая: https://learn.microsoft.com/en-us/azure/architecture/best-practices/monitoring (не смотрите, что про Azure, там метрики универсальные).