Мониторинг функционирования приложений#

Для мониторинга доступности приложений Blitz Identity Provider предусмотрен сервис /blitz/metrics, вызываемый с помощью HTTP GET. Рекомендуется, чтобы сервис был доступен на каждом сервере приложения по HTTP при вызове из внутренней сети с серверов мониторинга и вместе с тем, чтобы сервис был недоступен при вызове из внешних сетей и с рабочих мест пользователей.

В случае если приложение доступно, то сервис /blitz/metrics вернет детальную информацию о метриках функционирования приложения в формате Prometheus.

Пример ответа сервиса:

# HELP blitz_idp_uptime_seconds Uptime
# TYPE blitz_idp_uptime_seconds gauge
blitz_idp_uptime_seconds{blitz_host="papp01.loc",} 63859.0
# HELP blitz_idp_licence_exp_seconds Licence expiration
# TYPE blitz_idp_licence_exp_seconds gauge
blitz_idp_licence_exp_seconds{blitz_host="papp01.loc",} 9.223372036854776E18
# HELP blitz_idp_config_mtime Last time, a file was changed
# TYPE blitz_idp_config_mtime gauge
# HELP blitz_idp_datasource_latency Latency of an datasource operation
# TYPE blitz_idp_datasource_latency histogram
blitz_idp_datasource_latency_bucket{blitz_host="papp01.loc",ds_type="ldap",ds_name="389-ds",op_type="read",le="0.005",} 13.0
…
blitz_idp_datasource_latency_bucket{blitz_host="papp01.loc",ds_type="ldap",ds_name="389-ds",op_type="read",le="+Inf",} 29.0
blitz_idp_datasource_latency_count{blitz_host="papp01.loc",ds_type="ldap",ds_name="389-ds",op_type="read",} 29.0
blitz_idp_datasource_latency_sum{blitz_host="papp01.loc",ds_type="ldap",ds_name="389-ds",op_type="read",} 0.3112787189999999
# HELP blitz_idp_mq_connections Amount connections to datasource
# TYPE blitz_idp_mq_connections gauge
blitz_idp_mq_connections{blitz_host="papp01.loc",mq_type="rmq",mq_server="pmq01.loc_5672",} 1.0
# HELP blitz_idp_mq_latency Latency of an mq operation
# TYPE blitz_idp_mq_latency histogram
blitz_idp_mq_latency_bucket{blitz_host="papp01.loc",mq_type="rmq",mq_server="pmq01.loc_5672",broker="blitz.events.direct",op_type="write",le="0.005",} 1.0
…
blitz_idp_mq_latency_bucket{blitz_host="papp01.loc",mq_type="rmq",mq_server="pmq01.loc_5672",broker="blitz.events.direct",op_type="write",le="+Inf",} 3.0
blitz_idp_mq_latency_count{blitz_host="papp01.loc",mq_type="rmq",mq_server="pmq01.loc_5672",broker="blitz.events.direct",op_type="write",} 3.0
blitz_idp_mq_latency_sum{blitz_host="papp01.loc",mq_type="rmq",mq_server="pmq01.loc_5672",broker="blitz.events.direct",op_type="write",} 0.028808135999999998
# HELP blitz_idp_authn_method_app_total Amount of method authentications by app id
# TYPE blitz_idp_authn_method_app_total counter
blitz_idp_authn_method_app_total{blitz_host="papp01.loc",app_id="_blitz_profile",method="sms",status="success",} 2.0
blitz_idp_authn_method_app_total{blitz_host="papp01.loc",app_id="_blitz_profile",method="cls",status="other_error",} 7.0
blitz_idp_authn_method_app_total{blitz_host="papp01.loc",app_id="_blitz_profile",method="password",status="success",} 4.0
blitz_idp_authn_method_app_total{blitz_host="papp01.loc",app_id="_blitz_profile",method="knownDevice",status="other_error",} 3.0
# HELP blitz_idp_authn_method_total Amount of authentications by a method
# TYPE blitz_idp_authn_method_total counter
blitz_idp_authn_method_total{blitz_host="papp01.loc",method="password",status="success",} 4.0
blitz_idp_authn_method_total{blitz_host="papp01.loc",method="knownDevice",status="other_error",} 3.0
blitz_idp_authn_method_total{blitz_host="papp01.loc",method="cls",status="other_error",} 7.0
blitz_idp_authn_method_total{blitz_host="papp01.loc",method="sms",status="success",} 2.0
# HELP blitz_idp_authn_method_latency Latency of an authentication method
# TYPE blitz_idp_authn_method_latency histogram
blitz_idp_authn_method_latency_bucket{blitz_host="papp01.loc",method="sms",le="1.0",} 0.0
…
blitz_idp_authn_method_latency_bucket{blitz_host="papp01.loc",method="sms",le="+Inf",} 2.0
blitz_idp_authn_method_latency_count{blitz_host="papp01.loc",method="sms",} 2.0
blitz_idp_authn_method_latency_sum{blitz_host="papp01.loc",method="sms",} 28.686999999999998
blitz_idp_authn_method_latency_bucket{blitz_host="papp01.loc",method="password",le="1.0",} 0.0
…
blitz_idp_authn_method_latency_bucket{blitz_host="papp01.loc",method="password",le="+Inf",} 4.0
blitz_idp_authn_method_latency_count{blitz_host="papp01.loc",method="password",} 4.0
blitz_idp_authn_method_latency_sum{blitz_host="papp01.loc",method="password",} 1835.901
# HELP blitz_idp_datasource_connections Amount connections to datasource
# TYPE blitz_idp_datasource_connections gauge
blitz_idp_datasource_connections{blitz_host="papp01.loc",ds_type="ldap",ds_name="389-ds",} 10.0
# HELP blitz_idp_version Application version
# TYPE blitz_idp_version gauge
blitz_idp_version{blitz_host="papp01.loc",part="major",} 5.0
blitz_idp_version{blitz_host="papp01.loc",part="minor",} 16.0
blitz_idp_version{blitz_host="papp01.loc",part="patch",} 1.0
# HELP blitz_idp_notify_user_total Amount of user notifications by channel
# TYPE blitz_idp_notify_user_total counter
blitz_idp_notify_user_total{blitz_host="papp01.loc",channel="email",} 3.0
blitz_idp_notify_user_total{blitz_host="papp01.loc",channel="sms",} 4.0
blitz_idp_notify_user_total{blitz_host="papp01.loc",channel="push",} 2.0

Имя каждой метрики начинается с имени приложения (дефис в имени заменен на подчеркивание): blitz_idp_%%%, blitz_registration_%%%, blitz_recovery_%%%, blitz_console_%%%. Список доступных метрик приведен в таблице.

Метрики функционирования Blitz Identity Provider

Право доступа

Тип

Пояснение

uptime_seconds

gauge

Время с момента запуска приложения (в секундах)

licence_exp_seconds

gauge

Время до истечения срока действия лицензии (в секундах)

config_mtime

gauge

Время последнего изменения файла конфигурации

datasource_latency

histogram

Задержки ответа от хранилища УЗ по операциям чтения и записи (могут быть типы ldap, jdbc, couch)

mq_connections

gauge

Количество коннектов к MQ (rmq, kafka)

mq_latency

histogram

Задержки ответа от MQ (rmq, kafka)

authn_method_app_total

counter

Количество успешных и неуспешных аутентификаций каждым методом входа в различные приложения

authn_method_total

counter

Общее кол-во успешных и нет аутентификаций разными методами

authn_method_latency

histogram

Длительность аутентификации по разным методам входа

datasource_connections

gauge

Кол-во коннектов к хранилищам

version

gauge

Версия приложения

notify_user_total

counter

Кол-во направленных сообщений по разным каналам

authn_method_app_created

служебные

Эти метрики (с суффиксом _created) генерируются в связи с особенностями Prometheus и содержат время в unix timestamp момента создания метрики.

authn_method_created

authn_method_latency_created

datasource_latency_created

mq_latency_created

notify_user_created