В нашем примере будет развернут сервер мониторинга Zabbix с поддержкой СУБД mariadb.
Подготовка системы
Пример файла docker-compose.yml
Описание compose-файла
Запуск контейнеров
Сценарий для Zabbix Proxy
Выполним предварительные действия. Предполагается, что мы будем хранить наш файл docker-compose в каталоге /opt/zabbix .
Создаем каталог:
mkdir /opt/zabbix
Перейдем в него:
cd /opt/zabbix
Создаем файл docker-compose.yml:
vi docker-compose.yml
Мы готовы к написанию сценария.
Пример нашего файла compose:
Кратко опишем, что выполнит наш сценарий. Подробнее про работу с docker-compose можно прочитать в инструкции Шпаргалка по работе с docker-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 .
Если нам нужно развернуть Zabbix Proxy, используем такой сценарий:
mkdir /opt/zabbix-proxy
cd /opt/zabbix-proxy
vi docker-compose.yml
services:
zabbix-proxy-4:
image: zabbix/zabbix-proxy-mysql:alpine-4.0-latest
container_name: zabbix-proxy-4
hostname: zabbix-proxy-4
restart: unless-stopped
environment:
TZ: «Europe/Moscow»
DB_SERVER_HOST: zabbix-proxy-mariadb-4
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbixpass
ZBX_HOSTNAME: «zabbix-proxy-4»
ZBX_SERVER_HOST: «zabbix-server-name»
depends_on:
— zabbix-proxy-mariadb-4
ports:
— 10051:10051
networks:
— default
zabbix-proxy-mariadb-4:
image: mariadb
container_name: zabbix-proxy-mariadb-4
hostname: zabbix-proxy-mariadb-4
restart: unless-stopped
environment:
TZ: «Europe/Moscow»
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: secret123Zabbix
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbixpass
networks:
— default
volumes:
— /opt/zabbix-proxy/mariadb/data:/var/lib/mysql
* в данном примере мы поднимим Zabbix Proxy версии 4. Список официальных docker-образов можно посмотреть на сайте Zabbix .
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…