Docker Visual Monitoring См. эту статью

задняя часть контейнер Docker Тенсент

Приветствую всех вОблако Tencent + сообщество, получить больше крупной технической практики Tencent по галантерее~

Эта статья написанаCodeSheep Опубликован вКолонка «Облако + сообщество»

img


Обзор

Мониторинг производительности является важной инфраструктурой для контейнерных служб. Контейнерные приложения выполняются на хосте. Нам необходимо знать рабочее состояние контейнера, включая ряд сведений, таких как использование ЦП, использование памяти, состояние сети и дисковое пространство. в моем предыдущем"Построение центра мониторинга визуализации Docker-контейнеров"Среди них мы практиковали визуальный мониторинг контейнеров Docker, в этой статье мы использовалиcAdvisor + influxdb + grafanaстек технологий. Однако в контейнеризированном мире никогда не бывает единственного способа достижения определенной функции.Можно сказать, что в Рим ведет сотня дорог, поэтому в этой статье будет обсуждаться еще один метод, называемыйTICKРешения для технологических стековых решений для достижения контрольных контейнеров для мониторинга производительности.

Схема архитектуры решения для мониторинга визуализации контейнеров Docker на основе стека технологий TICK выглядит следующим образом:

img
Архитектура решения TICK

  • Telegraf: служба сбора данных, реализованная с помощью подключаемого механизма, который может собирать различные данные о производительности, включая контейнеры Docker.
  • InfluxDB: предназначен для хранения данных временных рядов
  • Chronograf: сервис визуализации данных о производительности, написанный на основе React.js.
  • Конденсатор: Обеспечивает запуск и обработку сигналов тревоги.

Эти четыре компонента образуют конвейер данных для мониторинга производительности: Telegraf отвечает за сбор данных о производительности на узлах и их сохранение в базе данных InfluxDB, Kapacitor выдает сигналы тревоги для аномальных показателей, отслеживая данные о производительности InfluxDB, а Chronograf используется для отображения реальных данных. производительность кластера времени Различные индикаторы производительности и статусы, обеспечивающие визуальный интерфейс.

Начнем процесс практики!



Разверните службу InfluxDB

Сначала подготовьте файл конфигурации InfluxDB:influxdb.conf

mkdir /etc/influxdb
cd /etc/influxdb
touch influxdb.conf
[meta]
  dir = "/var/lib/influxdb/meta"
[data]
  dir = "/var/lib/influxdb/data"
  wal-dir = "/var/lib/influxdb/wal"

Затем используйте Docker для запуска службы InfluxDB:

docker run -d \
--name influxdb \
-p 8086:8086 \
-v /etc/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf \
-v /var/lib/influxdb:/var/lib/influxdb \
docker.io/influxdb


Разверните службу Telegraf

Сервис Telegraf необходимо развернуть на узлах, которым необходимо собирать данные. Давайте сначала подготовим файл конфигурации для сервиса Telegraftelegraf.conf

[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  debug = false
  quiet = false
  hostname = "www.codesheep.cn"
  omit_hostname = false

[[outputs.influxdb]]
  urls = ["http://192.168.31.177:8086"]
  database = "telegraf"
  username = ""
  password = ""
  write_consistency = "any"
  timeout = "5s"

[[inputs.docker]]
  endpoint = "unix:///var/run/docker.sock"
  container_names = []
  timeout = "5s"
  perdevice = true
  total = false

[[inputs.cpu]]
[[inputs.system]]

Конфигурационный файл относительно упрощен, за сбор данных отвечает плагин inputs, видно, что приведенная выше конфигурация показывает, что мы хотим собирать различные данные о производительности процессора узла, системы и контейнера Docker, а плагин outputs — in указывает данные о производительности, которые мы будем собирать и помещать в базу данных InfluxDB для хранения.

Затем также используйте Docker для запуска службы Telegraf.

docker run -d \
--name telegraf \
--network host \
-v /etc/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf \
docker.io/telegraf


Развертывание хронографа

docker run -d \
--name chronograf \
-p 8888:8888 \
-v /var/lib/chronograf:/var/lib/chronograf \
docker.io/chronograf \
--influxdb-url=http://192.168.31.177:8086

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



Развертывание конденсатора

docker run -d \
--name kapacitor \
-p 9092:9092 \
-v /var/lib/kapacitor:/var/lib/kapacitor \
docker.io/kapacitor

Хорошо, покаTICKКомпоненты развернуты, можем проверить статус контейнера на хосте и обнаружить, что сервисы запущены:

img
контейнерная операция



фактический тест

Браузер открывается:localhost:8888посещатьChronografПредоставляет визуальный интерфейс, на котором основаны все последующие операции.

  • нажмитеChronografМеню в левой части основного интерфейсаHost List, вы можете увидеть информацию об отслеживаемом узле:

img
Информация об отслеживаемом узле

Затем мы нажимаем на имя узла для входа, и мы можем просмотреть графики основных данных индикатора, собранных с узла:

img
Просмотр различных данных о производительности узла

В дополнение к этому, мы также можем нажать на узелAppsКонкретные подкатегории мониторинга, такие какdockerкатегория, поэтому вы можете получить данные о производительности, относящиеся только к докеру:

img
Просмотр данных индикатора производительности подкласса докера

img
Отображение данных индикатора производительности подкласса Docker

  • Затем мы нажимаемChronografМеню в левой части основного интерфейсаData Explorer, вы можете увидеть таблицу данных, полученную из InfluxDB, а также конкретные показатели, хранящиеся в таблице данных InfluxDB.

img
Data Explorer

  • Наконец, давайте посмотрим, как использовать Kapacitor для реализации функции будильника.

нажмитеChronografМеню в левой части основного интерфейсаAlert, вы можете создавать настраиваемые правила оповещения:

img
Создание настраиваемых правил оповещения

Вот пример настройки правила: мы можем следить за изменением конкретного показателя производительности, например, настроить правило оповещения и т. д.:

img
Пример конфигурации правила


вопросы и ответы В чем разница между докером и докер-композицией? Связанное Чтение Тонг Ханджун: сервис Tencent Cloud CIS и прозрачный контейнер White Fun Kubernetes вы можете с этим великим богом всего в нескольких шагах Ван Юнда: Практика развертывания Tencent Cloud Kubernetes в один клик

**Эта статья была разрешена автором для публикации сообщества Tencent Cloud +, исходная ссылка: https://cloud.tencent.com/developer/article/1157231?fromSource=waitui **

Приветствую всех вОблако Tencent + сообществоИли обратите внимание на общедоступную учетную запись WeChat сообщества Yunjia (QcloudCommunity) и как можно скорее получите больше массовой технической практики галантерейных товаров ~