Docker-compose для развертывания сервера мониторинга Zabbix

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

Выпол­ним пред­ва­ри­тель­ные дей­ствия. Пред­по­ла­га­ет­ся, что мы будем хра­нить наш файл docker-compose в ката­ло­ге /opt/zabbix.

Созда­ем каталог:

mkdir /opt/zabbix

Перей­дем в него:

cd /opt/zabbix

Созда­ем файл docker-compose.yml:

vi docker-compose.yml

Мы гото­вы к напи­са­нию сценария.

Docker-compose

При­мер наше­го фай­ла compose:

Описание сценария

Крат­ко опи­шем, что выпол­нит наш сценарий

1 Вер­сия docker-compose фай­ла. От нее зави­сит то, какие дирек­ти­вы мы можем исполь­зо­вать. Луч­ше про­пи­сы­вать более акту­аль­ную вер­сию, но неко­то­рые опции могут быть недо­ступ­ны и их нуж­но будет заме­нить. Одна­ко, с вер­сии docker-compose 1.27.0 явля­ет­ся опциональной.
5 - 20 Под­ни­ма­ем сер­вер баз дан­ных из обра­за mariadb.
14 - 16 Созда­ем базу дан­ных, а так­же логин и пароль для под­клю­че­ния к ней.
19 - 20 Хра­ним дан­ные СУБД на хосто­вой машине в ката­ло­ге /opt/zabbix/mariadb/data.
22 - 36 Запус­ка­ем сер­вер zabbix.
29 - 31 Про­пи­сы­ва­ем дан­ные для под­клю­че­ния к базе mariadb.
34 Для сер­ве­ра ука­жем ста­ти­че­ский IP-адрес.
38 - 57 Веб-интер­фейс для управ­ле­ния мони­то­рин­гом zabbix (Zabbix Frontend).
45 - 47 Про­пи­сы­ва­ем дан­ные для под­клю­че­ния к СУБД.
48 Ука­зы­ва­ем адрес сер­ве­ра Zabbix. В нашем слу­чае имя сер­ви­са с кон­тей­не­ром zabbix-server.
59 - 64 Опи­сы­ва­ем сеть. В нашем при­ме­ре это нуж­но для исполь­зо­ва­ния под­се­ти 172.28.0.0/16. Под­сеть может быть любой.

Запуск

Нахо­дясь в ката­ло­ге с фай­лом docker-compose, выпол­ним команду:

docker-compose up -d

При пер­вом запус­ке систе­ма загру­зит необ­хо­ди­мые обра­зы и запу­стит контейнеры.

Посмот­реть состо­я­ние кон­тей­не­ров мож­но командой:

docker ps

В нашем при­ме­ре веб-интер­фейс будет досту­пен по пор­ту 8080. Для про­вер­ки мож­но вве­сти команду:

curl http://localhost:8080

Так­же мы можем открыть бра­у­зер на любом ком­пью­те­ре в сети и перей­ти по адре­су http://<IP-адрес хоста docker>:8080. Мы долж­ны уви­деть окно запро­са логи­на и паро­ля. Для вхо­да исполь­зу­ем стан­дарт­ные дан­ные — логин: Admin (с боль­шой бук­вы) и пароль: zabbix.