yandex
Калькулятор ценТарифыАкцииДокументацияО насКарьера в Cloud.ruНовостиЮридические документыКонтактыРешенияРеферальная программаКейсыПартнерство с Cloud.ruБезопасностьEvolutionAdvancedEvolution StackОблако VMwareML SpaceВ чем отличия платформ?БлогОбучение и сертификацияМероприятияИсследования Cloud.ruЛичный кабинетВойтиЗарегистрироватьсяEvolution ComputeEvolution Managed KubernetesEvolution Object StorageEvolution Managed PostgreSQL®Облако для мобильных и веб‑приложенийАналитика данных в облакеEvolution Bare MetalEvolution SSH KeysEvolution ImageСайт в облакеEvolution DNSEvolution VPCEvolution Load BalancerEvolution Magic RouterEvolution DiskХранение данных в облакеEvolution Container AppsEvolution Artifact RegistryEvolution Managed ArenadataDBEvolution Managed TrinoEvolution Managed SparkАналитика данных в облакеEvolution ML InferenceEvolution Distributed TrainEvolution ML FinetuningEvolution NotebooksCurator Anti-DDoSCurator Anti‑DDoS+WAFUserGate: виртуальный NGFWStormWall: Anti-DDoSEvolution TagsEvolution Task HistoryCloud MonitoringCloud LoggingАренда GPUAdvanced Object Storage ServiceAdvanced Elastic Cloud ServerAdvanced Relational Database Service for PostgreSQLРазработка и тестирование в облакеAdvanced Image Management ServiceAdvanced Auto ScalingDirect ConnectCDNCross-platform connectionAdvanced Enterprise RouterAdvanced Cloud Backup and RecoveryAdvanced Data Warehouse ServiceAdvanced Elastic Volume ServiceAdvanced Cloud Container EngineAdvanced FunctionGraphAdvanced Container Guard ServiceAdvanced Software Repository for ContainerAdvanced Document Database Service with MongoDBAdvanced Relational Database Service for MySQLAdvanced Relational Database Service for SQL ServerCloud AdvisorAdvanced Server Migration ServiceAdvanced Data Replication ServiceAdvanced API GatewayAdvanced CodeArtsAdvanced Distributed Message Service for KafkaAdvanced Distributed Message Service for RabbitMQAdvanced DataArts InsightAdvanced CloudTableAdvanced MapReduce ServiceAdvanced Cloud Trace ServiceAdvanced Application Performance ManagementAdvanced Identity and Access ManagementAdvanced Enterprise Project Management ServiceVMware: виртуальный ЦОД с GPUVMware: виртуальный ЦОДУдаленные рабочие столы (VDI)VMware: сервер Bare MetalИнфраструктура для 1С в облакеУдаленные рабочие столыМиграция IT‑инфраструктуры в облако3D-моделирование и рендерингVMware: резервное копирование виртуальных машинVMware: резервный ЦОДVMware: резервное копирование в облакоVMware: миграция виртуальных машин
Поиск
Связаться с нами

Мониторинг приложений в облачном Kubernetes: обзор инструментов и инструкция по настройке

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

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

Инструкции
Иллюстрация для статьи на тему «Мониторинг приложений в облачном Kubernetes: обзор инструментов и инструкция по настройке»
Продукты из этой статьи:
Иконка-Cloud Monitoring
Cloud Monitoring
Иконка-Evolution Task History
Evolution Task History
Иконка-Evolution Tags
Evolution Tags
Иконка-Evolution Managed Kubernetes
Evolution Managed Kubernetes

Классический стек мониторинга с Prometheus

Prometheus является самым популярным решением для мониторинга и промышленным стандартом отрасли.

По результатам опроса Cloud Native Computing Foundation, 73% компаний используют его в продакшене и еще 12% рассматривают его внедрениеПо результатам опроса Cloud Native Computing Foundation, 73% компаний используют его в продакшене и еще 12% рассматривают его внедрение
Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

Эта система получила широкое распространение благодаря нескольким особенностям:

Гибридная модель сбора данных. Prometheus сочетает pull-модель (основной метод) с push-механизмом через PushGateway, что позволяет работать в Kubernetes и Serverless-средах. Это критично для динамичных инфраструктур, где сервисы могут быть непостоянными.

Многомерная модель данных. Метки (labels) в временных рядах позволяют детализировать анализ, например, разбивать метрики по версии приложения, зоне доступности или статусу HTTP-ответа. Это упрощает диагностику проблем в микросервисных архитектурах.

Интеграция с Kubernetes. Kube-Prometheus-Stack автоматизирует развертывание через оператор, предоставляя готовые дашборды для мониторинга:

  • потребление ресурсов подов и нод;

  • статусы развертываний (deployments/statefulsets);

  • автоматическое обнаружение сервисов.

Экосистема инструментов. Возможности Prometheus легко расширяются с помощью дополнительных инструментов, таких как:

  • Grafana: визуализация метрик через готовые шаблоны;

  • Alertmanager: гибкая система алертинга с маршрутизацией уведомлений;

  • Exporters: большое количество готовых сборщиков метрик (Node Exporter, Blackbox Exporter и др.) как от Prometheus, так и от сторонних разработчиков.

Для работы Prometheus потребуются выделенные ресурсы — примерно 2 CPU и 2 ГБ RAM для обработки 1 млн метрик, а также команда специалистов для поддержки системы.

Решения от облачных провайдеров

Облачные провайдеры, как правило, предоставляют собственные инструменты мониторинга, интегрированные в общую систему. Они позволяют быстро и с минимальными усилиями подключить сбор метрик из приложений, запущенных в их инфраструктуре, в том числе в K8s, настроить их отображение и оповещения на основе полученных данных (алерты). Все процессы проводятся в режиме «одного окна», нет необходимости устанавливать дополнительные приложения, все доступно в личном кабинете.

Плюсы такого решения: низкая цена и нагрузка на команду. Нет необходимости следить за работоспособностью мониторинга — за это отвечает провайдер, а стоимость на порядки ниже. Например, стоимость 1 млн метрик в Google Cloud составляет до $0.06. При этом для обработки 1 млн метрик нам потребуется дополнительно 1 vCPU и 1 Гб RAM.

Стоимость рабочего узла с такими параметрами в Google Kubernetes Engine составит $5.55 в месяцСтоимость рабочего узла с такими параметрами в Google Kubernetes Engine составит $5.55 в месяц

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

Сторонние SaaS-сервисы

Существуют SaaS-сервисы, которые предоставляют услуги сбора, визуализации и аналитики метрик. Например:

  • Datadog

  • Sematext

  • Dynatrace

  • New Relic

Эти сервисы будут удобны, если нужно построить мониторинг для гибридной системы, которая включает в себя разных облачных провайдеров и self-hosted решения. Некоторые из них даже предоставляют аналитику показателей с помощью AI.

Однако, у них есть и недостатки:

  • Ограниченный набор поддерживаемых облачных провайдеров, преимущественно зарубежных.

  • Работают в основном с техническими метриками (нагрузка, сеть, состояние машин, узлов и компонентов и т.д.), не всегда есть возможность собирать метрики приложения.

  • Стоимость значительно выше, чем собственные решения облачных провайдеров.

Как настроить мониторинг в облаке Cloud.ru

Мы рассмотрели несколько вариантов, как можно организовать мониторинг вашего приложения, запущенного в облачном K8s — выбор за вами. А если вы решили, что вам больше всего подходит мониторинг от провайдера и ваш провайдер — Cloud.ru, то сейчас расскажу, как быстро и просто настроить мониторинг приложения в Evolution Managed Kubernetes.

Evolution Managed Kubernetes — сервис для управления контейнерными приложениями
Evolution Managed Kubernetes — сервис для управления контейнерными приложениями
Автоматизируйте настройку и сопровождение контейнерной инфраструктуры, упростите развертывание ПО и обеспечьте гибкое масштабирование
Узнать больше

Этап 1. Установка плагинов в кластер. Плагины можно установить на этапе создания нового кластера, а можно установить в существующий, если не сделали этого раньше.

При создании кластера важно включить параметр «Мониторинг», либо установить Kube State Metric и Node Exporter через раздел «Плагины» существующего кластера.

Создание кластера в личном кабинете Cloud.ruСоздание кластера в личном кабинете Cloud.ru

Эти плагины обеспечат сбор информации о работе узлов кластера, а также его ресурсов: pods, deployments, services и т.д.

После их установки вы можете видеть метрики кластера в разделе «Мониторинг»После их установки вы можете видеть метрики кластера в разделе «Мониторинг»

Далее в разделе «Плагины» установим vmagent, который собирает метрики из подов, в которых запущены наши приложения. Он совместим с форматами Prometheus и Victoria Metrics, что позволяет использовать привычные библиотеки для мониторинга в коде приложений.

Выберите категорию «Мониторинг» в разделе «Плагины» и перейдите к vmagentВыберите категорию «Мониторинг» в разделе «Плагины» и перейдите к vmagent

Этап 2. Деплой приложения. Теперь можем задеплоить наше приложение. Я собрал простой HTTP-сервер и клиент для него, который с определенной периодичностью выполняет запрос, и добавил в них запись метрик количества и времени на каждый запрос. Это минимальные возможности, но их хватит для демонстрации.

Чтобы плагин начал собирать метрики, добавим аннотации в секцию template.metadata.annotations:

Приложение запущено, можно перейти к следующему этапу.

Этап 3. Настройка дашборда. Настройка виджетов дашбордов очень похожа на использование сервиса Grafana, так что, если вы знакомы с этим инструментом, вы без труда справитесь и здесь. Поддерживаются языки запросов PromQL и MetricsQL.

Данные появились в облачном мониторинге, значит все настроено верно, можем перейти к настройке алертовДанные появились в облачном мониторинге, значит все настроено верно, можем перейти к настройке алертов

Этап 4. Настройка алертов. В разделе «Алерты мониторинга – Правила алертов» добавим новое правило.

Кроме основных параметров срабатывания, можно также настроить автозакрытие алерта и дополнительные аннотации. Сохраняем правило и ждем, пока алерт сработает. Приложение имитирует задержки в целях демонстрации.

Создание правилаСоздание правила

Алерт сработал, теперь мы можем подтвердить его получение или завершить, если проблема устранена, а автоматическое завершение не было включено.

Blog image

Для настройки доставки сообщений об алертах необходимо настроить сервис нотификаций. Его настройка выходит за рамки этой статьи, но кратко расскажу: в этом сервисе создаются списки рассылок с контактами е-mail или Telegram, а также можно использовать HTTP Webhooks.

Вся настройка мониторинга в личном кабинете Cloud.ru займет у вас около трех минут. В результате вы получите непрерывный контроль технических параметров кластера с преднастроенными дашбордами, сбор метрик приложения и первый пользовательский дашборд. А если вы сейчас в поиске решения для автоматизированной работы с контейнерами, можете протестировать сервис Evolution Managed Kubernetes и сразу настроить мониторинг по этой инструкции.

Продукты из этой статьи:
Иконка-Cloud Monitoring
Cloud Monitoring
Иконка-Evolution Task History
Evolution Task History
Иконка-Evolution Tags
Evolution Tags
Иконка-Evolution Managed Kubernetes
Evolution Managed Kubernetes
3 июля 2025

Вам может понравиться