monitoring контейнеров в docker swarm

Thank you for reading this post, don't forget to subscribe!

Мони­то­рить будем с помо­щью  cadvisor influxdb grafana.

Стек выгля­дит сле­ду­ю­щим образом:
monitor.yml

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

волью­мы хра­нят­ся в кла­сте­ре ceph,
хост­нейм кон­тей­не­ру при­сва­и­ва­ет имя сер­ве­ра, с помо­щью стро­ки: hostname: '{{.Node.Hostname}}'

запус­ка­ем деплой:
docker stack deploy -c monitor.yml monitor

далее нахо­дим где запу­ще­на база:
docker service ps monitor_influx

захо­дим на эту ноду и выпол­ня­ем команду:
docker exec `docker ps | grep -i influx | awk '{print $1}'` influx -execute 'CREATE DATABASE cadvisor'

 

далее можем захо­дить по ссылке:
http://monitor.test.ru
вво­дим admin admin




настра­и­ва­ем соеди­не­ние с базой:

сохраняем,проверяем:
импор­ти­ру­ем наш дашборд:


нахо­дим файл dashboard.json со сле­ду­ю­щим содержимым:
[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

 

всё как мы видим, даш­борд добавлен.

можем пере­хо­дить в него и уви­дим наши гра­фи­ки, в этом даш­бор­де мы можем по отдель­но­сти выби­рать наши сер­ве­ра и отдель­ные контейнеры.

ну и всё, мони­то­ринг пашет!