Мониторинг#

Предусловия#

Чтобы посмотреть метрики, необходимо выполнить следующие шаги:

  1. Установить в namespace с MSDK агента сбора и сохранения метрик. Например - Unimon.

  2. Получить права в системе просмотра метрик.

  3. Настроить dashboard мониторинга необходимых метрик.

Настройка#

Программный компонент не имеет собственные встроенные средства мониторинга.

Метрики#

Метрики MSDK#

Название

Описание

Размерность

Основные атрибуты

PLT_TOTAL_LOST

Количество полностью потерянных сообщений

Integer

Подсистема - сообщения, теги - отсутствуют

PLT_TOTAL_OUT

Количество отправленных сообщений

Integer

Подсистема - сообщения, теги - отсутствуют

PLT_TOTAL_OUT_TIME

Полное время отправки сообщения

Integer

Подсистема - сообщения, теги - отсутствуют

PLT_TOTAL_SIZE

Размер сообщения

Integer

Подсистема - сообщения, теги - отсутствуют

PLT_LOW_CRITICALLY_EVENT_LOST

Количество полностью потерянных некритичных сообщений

Integer

Подсистема - асинхронная отправка некритичных сообщений, теги - отсутствуют

PLT_LOW_CRITICALLY_EVENT_SEND_70

Количество превышений 70%-й утилизации пула отправки некритичных сообщений

Integer

Подсистема - асинхронная отправка некритичных сообщений, теги - отсутствуют

PLT_LOW_CRITICALLY_EVENT_SEND_100

Количество превышений 100%-й утилизации пула отправки некритичных сообщений

Integer

Подсистема - асинхронная отправка некритичных сообщений, теги - отсутствуют

PLT_LOW_CRITICALLY_EVENT_SEND_130

Количество превышений 130%-й утилизации пула отправки некритичных сообщений

Integer

Подсистема - асинхронная отправка некритичных сообщений, теги - отсутствуют

PLT_SEND_QUOTA_TPS

Квота TPS для статистики

Integer

Подсистема - квотирование, теги - отсутствуют

PLT_SEND_QUOTA_VPS

Квота VPS для статистики

Integer

Подсистема - квотирование, теги - отсутствуют

PLT_QUOTA_WARN_EXCEED

Превышение уровня квотирования WARNING

Integer

Подсистема - квотирование, теги - отсутствуют

PLT_QUOTA_ERROR_EXCEED

Превышение уровня квотирования ERROR

Integer

Подсистема - квотирование, теги - отсутствуют

PLT_GROUP_OUT_FAIL

Количество ошибок отправки в группу балансировки

Integer

Подсистема - группы балансировки, теги - group

PLT_GROUP_HC_FAIL

Ошибки метрик проверок работоспособности группы балансировки

Integer

Подсистема - группы балансировки, теги - group

PLT_MESSAGE_SIZE_EXCEEDED

Количество превышений размеров сообщения

Integer

Подсистема - группы балансировки, теги - отсутствуют

PLT_OUT_FAIL

Количество ошибок отправки в sender-компонент

Integer

Подсистема - sender-компоненты, теги - group, sender

PLT_OUT

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

Integer

Подсистема - sender-компоненты, теги - group, sender

PLT_OUT_TIME

Время отправки сообщения в sender-компонент

Integer

Подсистема - sender-компоненты, теги - group, sender

PLT_HC_FAIL

Ошибки метрик проверок работоспособности sender-компонента

Integer

Подсистема - sender-компоненты, теги - group, sender

PLT_PULL_OUT

Успешная отправка сообщения с помощью pull-компонента

Integer

Подсистема - обработка буферов сообщений pull-компонентом, теги - pull-processor

PLT_PULL_OUT_FAIL

Ошибка отправки сообщения с помощью pull-компонента

Integer

Подсистема - обработка буферов сообщений pull-компонентом, теги - pull-processor

PLT_PULL_DESERIALIZATION_FAIL

Ошибка десериализации сообщения

Integer

Подсистема - обработка буферов сообщений pull-компонентом, теги - pull-processor

PLT_PULL_SIGNATURE_CHECK_FAIL

Ошибка проверки подписи сообщения

Integer

Подсистема - обработка буферов сообщений pull-компонентом, теги - pull-processor

Метрики Hot Reload#

Название

Описание

Размерность

Основные атрибуты

pvm_common_vault_reload_secrets

Длительность обновления (Hot Reload) секретов

Integer

Подсистема - hot reload, теги - secretKeys

pvm_common_vault_reload_secrets_failed

Количество ошибок обновления (Hot Reload) секретов

Integer

Подсистема - hot reload, теги - secretKeys

pvm_common_certificates_reload

Длительность обновления сертификатов (Hot Reload)

Integer

Подсистема - hot reload, теги - certificateKey

pvm_common_certificates_reload_failed

Количество ошибок обновления сертификатов (Hot Reload)

Integer

Подсистема - hot reload, теги - certificateKey

Последовательность выполнения#

Информацию о доступности транспорта можно узнать путем прямого вызова методов com.sber.tech.pvm.sdk.balancing.TransportBalancingGroup#hasReadyProvider или com.sber.tech.pvm.sdk.balancing.TransportBalancingGroup#getHealthCheckResults.

Также можно получить эту информацию в разрезе транспортных балансировочных групп, вызвав соответствующие методы в клиентских модулях:

  • com.sbt.audit.proxy.client.AuditProxyClientImpl#healthCheck

  • ru.sbrf.ufs.platform.audit.circuitbreaker.MainAuditCircuitBreaker#healthCheckResults

При использовании HikariDataSource (DataSourceConfig#poolEnabled == true), метрики Platform V Pangolin DB можно передавать в Prometheus следующим образом:

public void setUpHikariWithMetrics() {
    if (dataSource instanceof HikariDataSource) {
        ((HikariDataSource) dataSource).setMetricRegistry(metricRegistry);
    }
}

Метрики подключаются созданием bean com.sber.tech.pvm.sdk.PvmSdkMonitoringServiceImpl и передачей в него MeterRegistry.

Метрики передаются в формате Prometheus. Их можно посмотреть, подключив любой модуль для отображения метрик.

Прямая интеграция с системами мониторинга и централизованного хранилища метрик отсутствует.

Результат#

Метрики отображаются в dashboard мониторинга Unimon или другого подключенного модуля.