Конфигурация Docker Compose для развертывания Zabbix с PostgreSQL
Ниже приведен пример файла docker-compose.yml, который позволяет развернуть систему мониторинга Zabbix с использованием базы данных PostgreSQL. Эта конфигурация включает в себя контейнеры для PostgreSQL, Zabbix Server, Zabbix Web и Zabbix Agent.
```yaml
version: '3.9'
services:
zabbix-postgres:
image: 'postgres:13'
container_name: zabbix-postgres
hostname: zabbix-postgres
restart: unless-stopped
environment:
TZ: Europe/Moscow
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: fYpe1lqut5NUiIN3DZUy
POSTGRES_DB: zabbix
volumes:
- '/opt/zabbix/postgres/data:/var/lib/postgresql/data'
zabbix-server:
image: zabbix/zabbix-server-pgsql
container_name: zabbix-server
hostname: zabbix-server
restart: unless-stopped
environment:
TZ: Europe/Moscow
DB_SERVER_HOST: zabbix-postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: fYpe1lqut5NUiIN3DZUy
depends_on:
- zabbix-postgres
zabbix-web:
image: zabbix/zabbix-web-nginx-pgsql
container_name: zabbix-web
hostname: zabbix-web
restart: unless-stopped
environment:
TZ: Europe/Moscow
DB_SERVER_HOST: zabbix-postgres
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: fYpe1lqut5NUiIN3DZUy
ZBX_SERVER_HOST: zabbix-server
PHP_TZ: Europe/Moscow
ports:
- '8080:8080'
- '8443:8443'
depends_on:
- zabbix-postgres
- zabbix-server
zabbix-agent:
image: 'zabbix/zabbix-agent2:latest'
container_name: zabbix-agent
hostname: zabbix-agent
restart: unless-stopped
links:
- zabbix-server:zabbix-server
environment:
TZ: Europe/Moscow
ZBX_HOSTNAME: zabbix-agent
ZBX_SERVER_HOST: zabbix-server
depends_on:
- zabbix-server
```
Эта конфигурация включает следующие сервисы:
- zabbix-postgres: Контейнер с базой данных PostgreSQL, который используется для хранения данных Zabbix.
- zabbix-server: Контейнер с сервером Zabbix, который отвечает за сбор, обработку и хранение данных мониторинга.
- zabbix-web: Контейнер с веб-интерфейсом Zabbix, который предоставляет пользовательский интерфейс для управления системой мониторинга.
- zabbix-agent: Контейнер с агентом Zabbix, который устанавливается на хосты, подлежащие мониторингу, и собирает метрики и данные для передачи на сервер Zabbix.
Каждый сервис настроен с использованием переменных окружения, чтобы указать необходимые параметры подключения к базе данных PostgreSQL и серверу Zabbix.
После создания файла docker-compose.yml вы можете запустить контейнеры с помощью команды docker-compose up -d. После запуска вы сможете получить доступ к веб-интерфейсу Zabbix по адресу http://localhost:8080 и начать настраивать систему мониторинга Zabbix.
Обратите внимание, что в этом примере используются теги образов postgres:13, zabbix/zabbix-server-pgsql, zabbix/zabbix-web-nginx-pgsql и zabbix/zabbix-agent2:latest. Если вы хотите использовать другие версии образов, замените соответствующие теги на нужные вам версии.
Доступы веб-интерфейс по-умолчанию:
Логин — Admin
Пароль — zabbix