EN
Admin Guide
Admin Guide
30 subscribers

Vagrant Zabbix config

Как бы прискорбно это не звучало, но к хорошему быстро привыкаешь. Под хорошим я конечно же имею ввиду домашнюю вседозволенность. Пол терабайта оперативной памяти. Терабайты высокоскоростных SSD и NVMe хранилищ. 10+ Гигабитные сетевые интерфейсы. Это вот всё не ценишь пока не лишишься к этому всему доступа (: . Оказавшись в дали от привычной долго и методично возмодимой дома инфраструктуры, ударяешься лбом о реалии. О первый попавшийся под руку ноут который был взят в дорогу. К несчастью это был ни один из моих еврокомов. Это был убогий Lenovo ideapad 3, с 8 гигами оперативной памяти и скромным ссдшником. Хотя если бы я взял с собой хотябы один из своих еврокомов, возможно этой статьи бы не было :).
Собственно работать необходимость никто не отменял. Возможности поднять десяток многоядерных виртмашин с вагоном оперативной памяти и по 32-64гб ссд дисками нет, как и возможности солить их годами не удаляя. Места на диске текущего ноута свободного всего 50 гигов. Даже создать десяток виртмашин и просто катать их туда обратно по снапшотам тоже не вариант. Невозможно столько машин уместить на диске в текущих реалиях. Благо с трафиком проблем нет, но доступ в сеть есть не всегда :).
И тут на помощь приходит Vagrant и VirtualBox. Вместо того чтобы хранить все ВМ с их снапшотами на диске, они создаются по необходимости и удаляются после использования. Прикладываю файлы для Vagrant для разворачивания Zabbix одной командой.
К несчастью бусти не поддерживает тег код. Потому так же будут прикреплены файлы
Vagrant
# -*- mode: ruby -*-
# vi: set ft=ruby :
HOST_NAME = 'zabbix' # Имя VM / VM name
HOST_IP = '192.168.0.127' # VM IP
HOST_USER = 'test' # Дополнительный пользователь / Additional user
HOST_USER_PASS = '123456789' # Пароль дополнительного пользователя. Пароль рута будет таким же / Additional user pass. Root pass will be same
HOST_UPGRADE = 'true' # Выполнить apt dist-upgrade / Run apt dist-upgrade
ZABBIX_DB_PASS = '1234567890' # Пароль от БД Zabbix / Zabbix DBPassword
HOST_SHOW_GUI = false # Показывать гуй виртмашины/ Show VM GUI
HOST_MEMMORY = "1024" # Оперативная память ВМ / VM RAM
HOST_CPUS = 1 # Количество ядер ВМ / VM vCPU
HOST_BRIDGE = "Intel(R) Wireless-AC 9560" # В какой сетевой адаптер делать бридж / Network adapter to bridge
HOST_VM_BOX = "generic/debian10" # Из какого бокса выкатываемся / Which box to use
HOST_CONFIIG_SCRIPT = "zabbix-server.sh" # Скрипт который будет запущен в процессе настройки / Script to use while provisioning
ZABBIX_REPO = "https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb" # DEB пакет для репозитория ZABBIX / Zabbix repo deb package
Vagrant.configure("2") do |config|
config.vm.network "public_network", bridge: HOST_BRIDGE
config.vm.box = HOST_VM_BOX
config.vm.define HOST_NAME do |machine|
machine.vm.network :public_network, ip: HOST_IP
machine.vm.provider "virtualbox" do |current_vm|
current_vm.name = HOST_NAME
current_vm.gui = HOST_SHOW_GUI
current_vm.memory = HOST_MEMMORY
current_vm.cpus = HOST_CPUS
end
end
config.vm.provision "shell", path: HOST_CONFIIG_SCRIPT, args: [HOST_USER, HOST_USER_PASS, ZABBIX_DB_PASS, HOST_UPGRADE, ZABBIX_REPO]
end
Vagrantfile1.91 KbDownload
zabbix_server.sh
useradd $1 -s /bin/bash
usermod --password $(openssl passwd -6 $2) root
usermod --password $(openssl passwd -6 $2) $1
apt update
apt install postgresql -y
su - postgres -c 'psql --command "CREATE USER zabbix WITH PASSWORD '\'$3\'';"'
sudo -u postgres createdb -O zabbix zabbix
if [ $4 == "true" ]; then apt upgrade -y; else echo '$4'=$4; fi
wget $5
dpkg -i zabbix-release*.deb
apt update
apt install zabbix-server-pgsql zabbix-frontend-php php7.3-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent nano -y
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/create.sql.gz | sudo -u zabbix psql zabbix
sed -i 's/# DBPassword=/DBPassword='$3'/g' /etc/zabbix/zabbix_server.conf
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
zabbix-server.sh832 ByteDownload

Subscription levels

No subscription levels
Go up