В качестве системы мониторинга мы будем использовать zabbix, но так как на HQ-SRV у нас размещен еще и moodle, который так же написан на php и использует Apache, то возможны конфликты зависимостей. Поэтому мы будет развертывать Zabbix с помощью Docker Compose.
apt-get install docker-engine docker-compose-v2 -y
systemctl enable --now docker
Проверьте имеющиеся образы:
docker images
Должны быть образы для реализации Zabbix c базами данных mariadb и postgres.
В домашней директории создайте файлик zabbix.yml и заполните его:
services:
zabbix-postgres:
container_name: zabbix-postgres
image: postgres
volumes:
- postgres-zabbix:/var/lib/postgresql/data
environment:
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix
restart: unless-stopped
zabbix-server:
container_name: zabbix-server
image: zabbix/zabbix-server-pgsql
environment:
DB_SERVER_HOST: zabbix-postgres
DB_SERVER_PORT: 5432
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix
ports:
- 10051:10051
restart: unless-stopped
depends_on:
- zabbix-postgres
zabbix-web:
container_name: zabbix-web
image: zabbix/zabbix-web-nginx-pgsql
environment:
DB_SERVER_HOST: zabbix-postgres
DB_SERVER_PORT: 5432
POSTGRES_DB: zabbix
POSTGRES_USER: zabbix
POSTGRES_PASSWORD: zabbix
ZBX_SERVER_HOST: zabbix-server
ZBX_SERVER_PORT: 10051
PHP_TZ: Europe/Yekaterinburg
ports:
- 8080:8080
restart: unless-stopped
depends_on:
- zabbix-postgres
volumes:
postgres-zabbix:
Запустите стек контейнеров:
docker compose -f zabbix.yml up -d
Убедитесь что все контейнеры запустились и исправны:
docker ps -a
На HQ-SRV создайте DNS запись для сервиса:
mon IN A 192.168.10.2
Перейдите на веб-интерфейс по адресу https://mon.au-team.irpo:8080
Зайдите под стандартной учеткой:
Первым делом нам нужно сменить пароль на P@ssw0rd, но в zabbix по умолчанию стоит проверка пароля на сложность, ее надо отключить.
Перейдите по пути Users → Authentication и снимите галочку на пункте Avoid easy-to-guess password, после чего можно менять пароль User settings → Profile и смените пароль.
На Linux:
На узлах HQ-SRV и BR-SRV откройте /etc/zabbix/zabbix_agentd.conf и измените в нем параметры:
Server=0.0.0.0/0
ServerActive=192.168.10.2
После чего запустите агент:
systemctl restart zabbix_agentd
На Eltex (здесь пример на HQ-RTR):
hq-rtr(config)# zabbix-agent
hq-rtr(config-zabbix-agent)# server 192.168.10.2
hq-rtr(config-zabbix-agent)# active-server 192.168.10.2
hq-rtr(config-zabbix-agent)# port 10050
hq-rtr(config-zabbix-agent)# hostname hq-rtr.au-team.irpo
hq-rtr(config-zabbix-agent)# enable
hq-rtr(config-zabbix-agent)# end
hq-rtr# commit
hq-rtr# confirm
Вернитесь к веб-интерфейсу https://mon.au-team.irpo:8080, и перейдите по пути Monitorin → Hosts, далее нажмите Create host
Zabbix server (сам HQ-SRV, который мы мониторим из контейнера, он уже создан его нужно только изменить):
BR-SRV:
HQ-RTR:
BR-RTR:
У вас должно быть так: