---
title: 'Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor | Zomro'
description: 'Инструменты cAdvisor и Grafana: что это?'
image: 'https://zomro.com/static/site/images/logo/logo-white.png?v=1790075172'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [Полезные статьи](https://zomro.com/rus/blog/articles/)
  * Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor 



# Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor

24-02-2025

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

Для решения этих задач используются определенные инструменты для отображения данных о метриках и их сбора - **Grafana** и **cAdvisor**. Такие сервисы помогают специалистам DevOps получать подробную информацию получать детальные сведения о работе приложений и быстро устранять возникающие проблемы.

## **Инструменты cAdvisor и Grafana: что это?**

### **cAdvisor**

**cAdvisor** (Container Advisor) является open source-утилитой с открытым исходным кодом, созданной компанией Google, которая предоставляет детальную информацию о производительности Docker-контейнеров. Основная цель утилиты заключается в мониторинге потребления ресурсов контейнерами, а также предоставление этих данных для анализа и визуализации.

**Ключевые возможности cAdvisor:**

  1. **Мониторинг ресурсов** :

     * **Процессор** : Изучение уровня загрузки процессора для каждого контейнера, в том числе информация про время выполнения системных и пользовательских операций.

     * **Оперативная память** : Подробное отображение использования памяти, в том числе резидентную (RSS) и потребляемую контейнером.

     * **Сеть** : Мониторинг сетевой активности контейнеров (входящий и исходящий трафик, пакеты, ошибки).

     * **Дисковая активность** : Информация о чтении и записи данных на диске.

  2. **Масштабируемость** :  
cAdvisor способен одновременно обрабатывать сотни контейнеров, предоставляя данные как для отдельных контейнеров, так и групп.

  3. **Экспорт данных** :  
Собранные метрики могут быть экспортированы в различные системы мониторинга, такие как **Prometheus** , для дальнейшего анализа.

  4. **Простота развертывания** :  
C помощью Docker установка cAdvisor производится за считанные минуты.




### 

### **Grafana**

**Grafana** является мощной платформой для визуализации получаемой информации, которая дает возможность создавать интерактивные панели для анализа работоспособности. В сочетании с cAdvisor и Prometheus Grafana дает удобный способ иллюстрирования метрик контейнеров.

**Базовые опции Grafana:**

  1. **Поддержка большого количества источников информации** :  
Grafana взаимодействует со многими датабазами, среди которых Prometheus, InfluxDB, Elasticsearch, PostgreSQL, MySQL. Универсальность позволяет ей оставаться гибким средством для самых разных задач мониторинга.

  2. **Гибкость настройки дашбордов** :  
Пользователь может настраивать визуализации под свои нужды, выбирая тип графиков, диаграмм, таблиц и других элементов.

  3. **Конфигурация оповещений** :  
Платформа позволяет создавать оповещения, которые могут быть отправлены, например, в Slack или на электронную почту, когда наступает критический порог потребления ресурсов контейнеров.

  4. **Расширяемость через плагины** :  
Платформа поддерживает установку дополнительных плагинов для увеличения функциональности, таких как географические карты, расширенные таблицы и другие типы графиков.




### **Почему cAdvisor и Grafana идеальны в связке?**

Совместная работа с cAdvisor и Grafana дает ряд весомых плюсов в использовании:

  1. **Целостный метод отслеживания** : cAdvisor выполняет сбор метрик, а Grafana отображает их в комфортном виде.

  2. **Гибкость анализа** : Пользователь может в режиме онлайн отслеживать производительность, получать исторические сведения и выделять тренды.

  3. **Гибкость и адаптивность** : Подход эффективен и в работе с небольшими проектами, и с большими инфраструктурами.

  4. **Уведомления и автоматизация** : Grafana дает возможность настройки уведомлений о проблемах, а также интегрироваться с инструментами автоматизации DevOps.




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

## **Сбор метрик с помощью cAdvisor: конфигурация**

  1. **Инсталляция cAdvisor через Docker**  
Активируйте контейнер cAdvisor с помощью данной команды:



    
    
    docker run -d \
    
    
      --name=cadvisor \
    
    
      --volume=/:/rootfs:ro \
    
    
      --volume=/var/run:/var/run:ro \
    
    
      --volume=/sys:/sys:ro \
    
    
      --volume=/var/lib/docker/:/var/lib/docker:ro \
    
    
      --publish=8080:8080 \
    
    
      --detach=true \
    
    
      gcr.io/google-containers/cadvisor:latest

![Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkL0AKCQrYrd9SBhB2F_kz49dpDDKkxb7EkdsbssClmavF91ETfkPD6T-nFyBbifEkRlp2JUNtA0_atKeZEyGveVOlVKPzWcwdfCMnL_VfDdyxtZR8JJvzBWj3WpRvUo-A9TDQ?key=_D2z_otMisfVg5k90vy68kxQ)

  2. **Проверка работы утилиты**  
После старта cAdvisor перейдите к онлайн-интерфейсу по ссылке http://<your-server-ip>:8080. В интерфейсе вы увидите метрики, собранные для всех работающих контейнеров.




## 

## **Настройка Grafana для визуализации данных**

  1. **Установка Grafana**  
Для установки Grafana через Docker выполните:



    
    
    docker run -d \
    
    
      --name=grafana \
    
    
      -p 3000:3000 \
    
    
      grafana/grafana

![Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor-1](https://lh7-rt.googleusercontent.com/docsz/AD_4nXe024ygLYShTEaXWpJzIFDOV8qgcornxroSgT3PP2Inoz79Rw1QF_u3j82wVycrkVln2i2by96PGDmDKbzoOMXVmki-_wVw-pAlz1GhWNksRMU0y87qJe2yn3sy7t4HiN869OQJgA?key=_D2z_otMisfVg5k90vy68kxQ)

  2. **Настройка источника данных Prometheus**  
После запуска Grafana:




Перейдите в настройки (Configuration → Data Sources).

Выберите Prometheus и укажите его URL (http://<prometheus-ip>:9090).

Сохраните настройки.

  3. **Создание первого дашборда**




Перейдите в Grafana → Dashboards → New Dashboard.

Добавьте панель (Add Panel), выбрав метрики, такие как container_cpu_usage_seconds_total или container_memory_usage_bytes.

### 

### **Интеграция cAdvisor с Prometheus**

  1. **Инсталляция Prometheus через Docker**  
Запустите Prometheus:



    
    
    docker run -d \
    
    
      --name=prometheus \
    
    
      -p 9090:9090 \
    
    
      -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
    
    
      prom/prometheus

![Мониторинг Docker-контейнеров с помощью Grafana и cAdvisor-2](https://lh7-rt.googleusercontent.com/docsz/AD_4nXfBJ_UpEOVLpOSrmGSXocXQ9rnXMZGujJCeeMOUyoPw7GEoYIUuLsTt4T8bPWDVOqMAKe9XG5p-EGyY5bDK60Voq7IQgZpgkuEZl-XFNEPsxezff2kA-FJ3i4owNpeHi_n-ArsUww?key=_D2z_otMisfVg5k90vy68kxQ)

  2. **Конфигурация Prometheus для работы с cAdvisor**  
Обновите документ prometheus.yml, добавив:



    
    
    scrape_configs:
    
      - job_name: 'cadvisor'
    
        static_configs:
    
          - targets: ['<your-server-ip>:8080']

  3. **Проверка сбора данных**  
Перейдя по ссылке http://<your-server-ip>:9090 вам откроется интерфейс Prometeus, после чего вы получите возможность удостовериться в процессе сбора метрик cAdvisor.




**Пример отслеживания Docker-контейнеров**

  1. **Настройка тегов и фильтров**  
Используйте метки (labels) в Prometheus для идентификации контейнеров. Например, фильтруйте данные по имени контейнера:



    
    
    container_cpu_usage_seconds_total{container_label_com_docker_compose_service="web"}

  2. **Обнаружение уязвимостей**  
Сформируйте в Grafana панели визуализации:



  * **Метрик центрального процессора** : обнаружения перегрузок.

  * **Памяти** : потерь или превышение допустимых норм.

  * **Сетевой активности** : узкие места в трафике.




**Расширение возможностей мониторинга**

После базовой настройки **Grafana** и **cAdvisor** для отслеживания Docker-контейнеров, вы можете подключить дополнительные инструменты, а также методы аналитики воспользовавшись расширенными системными возможностями. Таким образом будет обеспечено более основательное понимание состояния контейнеров и предотвратить потенциальные сбои.

**Добавление дополнительных метрик**

Применение дополнительных метрик, которые попросту отсутствуют в базовой версии **cAdvisor** , даст возможность улучшить качество отслеживания. В перечне таких метрик отмечаем:

**Логирование контейнеров** :  
Примените инструмент под названием **Loki** , который был разработан теми же людьми, что занимались сборкой Grafana, с целью аккумуляции и последующим изучением журналов контейнеров. Интеграция с Grafana, дает возможность отображения журналов одновременно с метриками контейнеров.

**Интеграция с другими инструментами**

Интеграция cAdvisor и Grafana с дополнительными инструментами позволяет значительно расширить функционал мониторинга.

**Alertmanager для оповещений** :  
Целью применения Alertmanager, связанного с Prometheus, является автоматизация отправок оповещений во время критических порогов метрик.

**Интеграция с Kubernetes** :

Синхронизация cAdvisor с Kubernetes дает возможность, помимо отслеживания контейнеров, мониторить кластеры и их состояние. Для этого можно применять **Kubernetes Metrics Server** и **Prometheus Operator** для получения информации об узлах и кластерах.

**Интеграция с облачными платформами** :

Дополнить отслеживания облачных ресурсов можно такими средствами как AWS CloudWatch или Google Cloud Monitoring, для анализа как контейнеров, так и инфраструктуры.

**Автоматизация оповещений при превышении пороговых значений**

Автоматизация оповещений поможет оперативно реагировать на проблемы.

  * **Конфигурация оповещений в Grafana** :

    1. Выберите метрику (например, использование CPU).

    2. Установите пороговое значение (например, 80%).

    3. Настройте отправку уведомлений через Slack, Email или PagerDuty.

  * **Образец конфигурации в Grafana:**

    1. В панели Grafana выберите метрику, например:
        
        
        container_cpu_usage_seconds_total

.

    2. Установите условие:
        
        
        mean() > 80

.

    3. Предоставьте контактную информацию для оповещений.




### **Оптимизация мониторинга MySQL в контейнерах**

Если ваш Docker-контейнер содержит базу данных MySQL, сконфигурируйте отслеживание ее метрик (у нас уже есть статья Интеграция MySQL с системами мониторинга (Zabbix, Grafana) -ознакомьтесь с ней [по этой ссылке](https://zomro.com/blog/articles/579-integration-of-mysql-with-zabbix-and-grafana-monitoring-systems)):

  * Используйте **MySQL Exporter** для Prometheus, чтобы отслеживать такие показатели, как количество запросов, блокировки, использование соединений.

  * Изучить эффективность запросов появится возможность после добавление графики в Grafana.




**Масштабирование системы мониторинга**

Усложнение контроля неизбежно в момент увеличения инфраструктуры. В таком случае, вам необходимо будет удостовериться в масштабируемости вашей системы:

  * Используйте распределённые системы мониторинга, такие как **Thanos** или **VictoriaMetrics** , для работы с большим объёмом данных.

  * Сконфигурируйте дублирование Prometheus, обеспечив этим устойчивость к сбоям и повысив работоспособность.




**Заключение**

Эффективный мониторинг Docker-контейнеров является неотъемлемой частью современной DevOps-практики. Работа с такими средствами, как **cAdvisor** и [**Grafana**](https://zomro.com/rus/marketplace/grafana), обеспечит абсолютно открытую работу контейнеров, что даст возможность вовремя находить неисправности и укрепить общую стабильность системы.

Мониторинг на основе cAdvisor предоставляет богатый набор метрик о производительности контейнеров - использование CPU, сети, дисковых ресурсов и памяти. Упомянутые показатели служат базой визуализации в Grafana. Инструмент, в свою очередь, помимо мониторинга нынешнего состояния, помогает изучать исторические тренды.

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

Похожие статьи

[Защита сервисов на Linux-сервере утилитой Fail2Ban](https://zomro.com/rus/blog/articles/525-protecting-services-on-a-linux-server-with-the-fail2ban-utility) [API - Получение информации о доступных тарифах и их параметрах](https://zomro.com/rus/blog/articles/464-api-obtaining-information-about-available-tariffs-and-their-parameters) [API - Операция Delete](https://zomro.com/rus/blog/articles/467-api-operation-delete) [e-mail - маркетинг](https://zomro.com/rus/blog/articles/48-e-mail-marketing) [Настройка в локальных сетях на Windows и Linux файловых серверов](https://zomro.com/rus/blog/articles/527-setting-up-file-servers-in-local-networks-on-windows-and-linux)

[ Выделенные серверы от €88.80/мес ](/rus/dedicated-servers)
