Репозиторий для развертывания копий основного Zabbix-server и Zabbix-agent2 на другие хосты.
В ansible/hosts/hosts.txt прописать адреса хостов, на которые нужно развернуть копии основого Zabbix-server.
В файле hosts.txt три группы по семействам ОС: Debian, RedHat и Ubuntu. Добавлять хосты нужно в соответсвии с ОС, которая на них стоит.
Запустить пайплайн, выбрать стейджи, которые необходимы и дождаться конца.
Пайплайн разделен на 3 ручных стейджа:
- Установка/обновление Zabbix-server(docker-контейнер)
- Установка и конфигурация Zabbix-agent2 под разные версии ОС(установка на хост)
- Запуск скрипта для копирования
Скрипт запускается с хоста, на котором установлен Python 3.
Подключение к серверам Zabbix осуществляется через API(библиотека для Python pyzabbix)
Запуск скрипта осуществляется в роли run_copy_script командой python3.10 /home/zabbixAPIpy/eir_zabbix.py --host_to {{ hostvars[item]['inventory_hostname'] }} --host_from $HOST_FROM_ZABBIX
на хосте, где после параметра --host_to передается имя/ip удаленного хоста, на который будем скопирован конфиг основного Zabbix-server, а после --host_from имя/ip основного Zabbix-server.
Алгоритм выполнения скрипта:
- Скрипт подключается к основному Zabbix-server(адрес вшит в скрипт) и экспортирует конфигурацию сервера;
- Далее подключается к удлаенному хосту, на котором уже развернут новый чистый Zabbix-server и испортирует конфигурации;
- Затем переименовывает в конфигурации хостов самого сервера на удаленной машине локальный хост и ставит доступ по DNS.
Не доделан автоматический коммит, если конфигурация основного Zabbix-server изменена.