Приветствую всех вОблако Tencent + сообщество, получить больше крупной технической практики Tencent по галантерее~
Эта статья написанаCodeSheep Опубликован вКолонка «Облако + сообщество»
Обзор
Мониторинг производительности является важной инфраструктурой для контейнерных служб. Контейнерные приложения выполняются на хосте. Нам необходимо знать рабочее состояние контейнера, включая ряд сведений, таких как использование ЦП, использование памяти, состояние сети и дисковое пространство. в моем предыдущем"Построение центра мониторинга визуализации Docker-контейнеров"Среди них мы практиковали визуальный мониторинг контейнеров Docker, в этой статье мы использовалиcAdvisor + influxdb + grafanaстек технологий. Однако в контейнеризированном мире никогда не бывает единственного способа достижения определенной функции.Можно сказать, что в Рим ведет сотня дорог, поэтому в этой статье будет обсуждаться еще один метод, называемыйTICKРешения для технологических стековых решений для достижения контрольных контейнеров для мониторинга производительности.
Схема архитектуры решения для мониторинга визуализации контейнеров Docker на основе стека технологий TICK выглядит следующим образом:
Архитектура решения 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Компоненты развернуты, можем проверить статус контейнера на хосте и обнаружить, что сервисы запущены:
контейнерная операцияфактический тест
Браузер открывается:localhost:8888
посещатьChronografПредоставляет визуальный интерфейс, на котором основаны все последующие операции.
- нажмитеChronografМеню в левой части основного интерфейсаHost List, вы можете увидеть информацию об отслеживаемом узле:
Затем мы нажимаем на имя узла для входа, и мы можем просмотреть графики основных данных индикатора, собранных с узла:
Просмотр различных данных о производительности узлаВ дополнение к этому, мы также можем нажать на узелAppsКонкретные подкатегории мониторинга, такие какdocker
категория, поэтому вы можете получить данные о производительности, относящиеся только к докеру:
- Затем мы нажимаемChronografМеню в левой части основного интерфейсаData Explorer, вы можете увидеть таблицу данных, полученную из InfluxDB, а также конкретные показатели, хранящиеся в таблице данных InfluxDB.
- Наконец, давайте посмотрим, как использовать Kapacitor для реализации функции будильника.
нажмитеChronografМеню в левой части основного интерфейсаAlert, вы можете создавать настраиваемые правила оповещения:
Создание настраиваемых правил оповещенияВот пример настройки правила: мы можем следить за изменением конкретного показателя производительности, например, настроить правило оповещения и т. д.:
Пример конфигурации правилавопросы и ответы В чем разница между докером и докер-композицией? Связанное Чтение Тонг Ханджун: сервис Tencent Cloud CIS и прозрачный контейнер White Fun Kubernetes вы можете с этим великим богом всего в нескольких шагах Ван Юнда: Практика развертывания Tencent Cloud Kubernetes в один клик
**Эта статья была разрешена автором для публикации сообщества Tencent Cloud +, исходная ссылка: https://cloud.tencent.com/developer/article/1157231?fromSource=waitui **
Приветствую всех вОблако Tencent + сообществоИли обратите внимание на общедоступную учетную запись WeChat сообщества Yunjia (QcloudCommunity) и как можно скорее получите больше массовой технической практики галантерейных товаров ~