Перейти к основному содержимому
Версия: Next

Мониторинг системы

В рамках поставки системы в среду дополнительно устанавливаются средства мониторинга платформы и её компонентов. Для реализации мониторинга используются такие компоненты как:

  • Prometheus - для хранения и сбора метрик
  • Grafana - для просмотра собранных метрик

Эти компоненты позволяют производить мониторинг компонентов системы и потребление ресурсов в установленной среде.

По умолчанию система поставляется со следующим набором дашбордов:

  • Healthcheck - Отображает доступность сервисов входящих в ADCP, с помощью которого возможно оценить доступности платформы и её элементов.
  • Kubernetes / Compute Resources / Cluster - отображает текущую загруженность всего K8S кластера в части RAM, CPU, Сети в разрезе неймспейсов K8S
  • Kubernetes / Compute Resources / Namespace (Pods) - отображает текущую загруженность всего K8S кластера в части RAM, CPU, Сети в разрезе каждого пода неймспейса кластера
  • Kubernetes / Compute Resources / Namespace (Workloads) - отображает текущую загруженность всех типов сущности кластера в части RAM, CPU, Сети в разрезе каждого пода неймспейса кластера
  • Kubernetes / Compute Resources / Node (Pods) - отображает текущую загруженность ноды кластера (сервера) с разбивкой на контейнеры
  • Kubernetes / Compute Resources / Pod - отображает потребление ресурсов каждым подом кластера в неймспейсе
  • Kubernetes / Networking / Cluster - Отображает текущую нагрузку на сеть всего K8S кластера в разрезе неймспейсов K8S
  • Kubernetes / Networking / Namespace (Pods) - Отображает текущую нагрузку на сеть всего K8S кластера в разрезе каждого пода неймспейса кластера
  • Kubernetes / Networking / Namespace (Workload) - Отображает текущую нагрузку на сеть всего K8S кластера в разрезе каждого пода неймспейса кластера
  • Kubernetes / Networking / Pod - Отображает текущую нагрузку на сеть каждым подом кластера в неймспейсе
  • Kubernetes / Views / Nodes - Отображает текущую загрузку каждой ноды кластера K8S
  • Easy RabbitMQ (K8S) - отображает основную информацию о брокере RabbitMQ - такие, как количество очередей, каналов, сообщений в очередях

Далее будут описаны ключевые данные по дашбордам

note

В описании дашбордов используется стандартная терминология применяемая при работе с K8S кластером. Мониторинг сервисов c помощью средств kubernetes обуславливается использованием kubernetes для работы системы. На странице далее используются ссылки на официальную документацию kubernetes, на случай необходимости получения пояснений по основным сущностям K8S кластера.

Healthcheck

Дашборд предназначен для проверки доступности и готовности работы основных компонентов системы. Дашборд собирает следующие метрики для ключевых сервисов.

Всего собирается 2 расчетных метрики:

Readiness метрики - это метрики показывающие, что конкретный сервис готов или не готов к своей штатной работе.

Liveness метрики - это метрики показывающие доступность сервиса как такового.

note

Пример: У сервиса Blockchain Data Updater по какой-то причине метрика Readiness красная (=0), a Liveness зеленая (=1). Это означает что сейчас сервису по какой-то причине не доступен или Blockchain или MongoDB, в то время как сам сервис доступен. В этом случае необходимо сверить какие сервисы еще имеют красный статус Readiness и вычислить какой из вспомогательных сервисов недоступен.

Метрики Readiness формируются исходя из доступности сервисов необходимых для нормальной работы отслеживаемого сервиса.

В рамках дашборда собираются метрики доступности и готовности по следующим сервисам:

Наименование сервисаНаименование в дашбордеПроверяемые узлы (Readiness)Проверяемые узлы (Liveness)
Blockchain Data Updater (Запросы на данные)backend--bc-updater..svc:9047BlockChain, MongoDBBlockchain Data Updater
Blockchain Data Updater (Минимальные атрибуты матчинга)backend--bc-updater..svc:9048BlockChain, MongoDBBlockchain Data Updater
Blockchain Data Updater (Проекты)backend--bc-updater..svc:9049BlockChain, MongoDBBlockchain Data Updater
Blockchain Data Updater (Скрипты)backend--bc-updater..svc:9050BlockChain, MongoDBBlockchain Data Updater
Schedulerbackend--job-scheduler..svc:9047MongoDBScheduler
CleanRoom Status Watcherbackend--status-watcher..svc:9048RabbitMQ, MongoDBCleanRoom Status Watcher, RabbitMQ
Backend API Serverbackend-..svc:9047Backend API Server, RabbitMQ, BlockChain, MongoDBBackend API Server, RabbitMQ
Dataset Logs Syncerdataservice--dataset-logs..svc:9047Dataset Logs Syncer, BlockChain, MongoDBDataset Logs Syncer
Dataset Syncerdataservice--dataset-syncer..svc:9047Dataset Syncer, BlockChain, MongoDBDataset Syncer
Glossary Syncerdataservice--glossary..svc:9048Glossary Syncer, BlockChain, MongoDBGlossary Syncer
Glossary Updaterdataservice--glossary..svc:9049BlockChain, RabbitMQGlossary Updater, BlockChain
Glossary Term Syncerdataservice--glossary..svc:9050Glossary Term Syncer, BlockChain, MongoDBGlossary Term Syncer
Glossary Term Updaterdataservice--glossary..svc:9051BlockChain, RabbitMQGlossary Term Updater, BlockChain
Instance Syncerdataservice--instance-syncer..svc:9047RabbitMQ, MongoDBInstance Syncer, RabbitMQ
Dataservice APIdataservice-..svc:9047MongoDB, Dataservice APIDataservice API
Vaultee OIDC provideroidcprovider-..svc:9047Backend API Server, redisVaultee OIDC provider

Kubernetes / Compute Resources / Cluster

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

  • Общая загрузка CPU вашего кластера
  • Общая загрузку CPU вашего кластера в разрезе неймспейса
  • Общее использование оперативной памяти вашего кластера
  • Общее использование оперативной памяти вашего кластера в разрезе неймспейса
  • Общую сетевую нагрузку на кластер в разрезе неймспейса
    • По используемой пропускной способности на получение и отдачу в разрезе ширины канала
    • По используемой пропускной способности на получение и отдачу в разрезе переданных пакетов

Описанные метрики помогут вам контролировать ключевые метрики всего кластера приложения целиком

Kubernetes / Compute Resources / Namespace (Pods)

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

  • Общая загрузка CPU генерируемая неймспейсом в вашем кластере
  • Общую загрузку CPU генерируемая неймспейсом в вашем кластере в разрезе подов
  • Общее использование оперативной памяти генерируемая неймспейсом в вашем кластере
  • Общее использование оперативной памяти неймспейсом в вашем кластере в разрезе подов
  • Общую сетевую нагрузку неймспейсом в вашем кластере в разрезе подов
    • По используемой пропускной способности на получение и отдачу в разрезе ширины канала
    • По используемой пропускной способности на получение и отдачу в разрезе переданных пакетов

Описанные метрики помогут вам контролировать ключевые метрики всего кластера приложения целиком

Kubernetes / Compute Resources / Namespace (Workloads)

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

  • Общая загрузка CPU генерируемая неймспейсом в вашем кластере
  • Общая загрузку CPU генерируемая неймспейсом в вашем кластере в разрезе подов
  • Общее использование оперативной генерируемая неймспейсом в вашем кластере
  • Общее использование оперативной неймспейсом в вашем кластере в разрезе подов
  • Общую сетевую нагрузку неймспейсом в вашем кластере в разрезе подов
    • По используемой пропускной способности на получение и отдачу в разрезе ширины канала
    • По используемой пропускной способности на получение и отдачу в разрезе переданных пакетов

В отличие от дашборда Kubernetes / Compute Resources / Namespace (Pods) позволяет оценить метрики в разрезе таких сущностей как:

Kubernetes / Compute Resources / Node (Pods)

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

  • Нагрузку на CPU ноды генерируемую подом
  • Потребление оперативной памяти ноды генерируемую подом

Kubernetes / Compute Resources / Pod

Дашборд предназначен для мониторинга потребления ресурсов контейнерами пода. Дашборд позволяет мониторить следующие показатели контейнеров:

  • Потребление CPU
  • Потребление оперативной памяти
  • Сетевую нагрузку создаваемую контейнером
  • Нагрузку на диск создаваемую контейнером

Kubernetes / Networking / Cluster

Дашборд предназначен для детального мониторинга потребления сетевых ресурсов неймспейсами кластера. Дашборд позволяет увидеть:

  • Текущее использование сети для входящего и исходящего трафика неймспейса
  • Среднее использование сети для входящего и исходящего трафика неймспейса
  • Исторические данные по использованию сети неймспейсами по таким метрикам как:
    • Ширина канала
    • Количество переданных пакетов
    • Количество сетевых ошибок при передаче

Kubernetes / Networking / Namespace (Pods)

Дашборд предназначен для детального мониторинга потребления сетевых ресурсов подами в неймспейсе кластера. Дашборд позволяет увидеть:

  • Текущее использование сети для входящего и исходящего трафика пода
  • Среднее использование сети для входящего и исходящего трафика пода
  • Исторические данные по использованию сети подами по таким метрикам как:
    • Ширина канала
    • Количество переданных пакетов
    • Количество сетевых ошибок при передаче

Kubernetes / Networking / Namespace (Workload)

Дашборд предназначен для детального мониторинга потребления сетевых ресурсов неймспейсами кластера. Дашборд позволяет увидеть:

  • Текущее использование сети для входящего и исходящего трафика неймспейса
  • Среднее использование сети для входящего и исходящего трафика неймспейса
  • Исторические данные по использованию сети неймспейсами по таким метрикам как:
    • Ширина канала
    • Количество переданных пакетов
    • Количество сетевых ошибок при передаче

В отличие от дашборда Kubernetes / Networking / Cluster позволяет оценить метрики в разрезе таких сущностей как:

Kubernetes / Networking / Pod

Дашборд предназначен для детального мониторинга потребления сетевых ресурсов подами в неймспейсе кластера. Дашборд позволяет увидеть:

  • Текущее использование сети для входящего и исходящего трафика пода
  • Среднее использование сети для входящего и исходящего трафика пода
  • Исторические данные по использованию сети подами по таким метрикам как:
    • Ширина канала
    • Количество переданных пакетов
    • Количество сетевых ошибок при передаче

Kubernetes / Views / Nodes

Дашборд предназначен для мониторинга нод кластера Дашборд позволяет просмотреть ряд важных метрик каждой из нод кластера, в частности на дашборде отображаются такие метрики (в разрезе ноды):

  • Загруженность CPU ноды
  • Загруженность Оперативной памяти ноды
  • Список подов развернутых в кластере
  • Использование CPU каждым подом развернутым на ноде
  • Использование оперативной памяти каждым подом развернутым на ноде
  • Погрешность синхронизации времени
  • Использование сети
  • Использование приложением дискового пространства выделенных хранилищ
  • Нагрузку на диск ноды

Easy RabbitMQ (K8S)

Дашборд предназначен для мониторинга загруженности брокера сообщений RabbitMQ. Дашборд включает в себя основные, ключевые метрики необходимые для диагностирования текущего состояния брокера. На дашборде отображаются такие метрики как:

  • Количество очередей
  • Общее количество обрабатываемых сообщений
    • Количество сообщений находящихся в обработке
    • Количество сообщений готовых к обработке
    • Количество сообщений в каждой очереди
  • Количество соединений к брокеру
  • Количество каналов соединений к брокеру
  • Скорость поступающих сообщений
  • Скорость вычитываемых сообщений
  • Количество свободной для работы брокера оперативной памяти
  • Количество свободного для работы брокера дискового пространства

Все метрики выше помогают понять текущее состояние брокера сообщений без необходимости прямого подключения к брокеру. Дашборд может быть полезен как при стандартном мониторинге работы с системой, так и для диагностирования проблем возникающих в процессе эксплуатации системы.