Zabbix прокси - процесс, который собирает данные о производительности и доступности с одного или более наблюдаемых устройств и затем отправляет данные Zabbix серверу. Это один из тех процессов, которые добавляют заббиксу приставку «распределенный мониторинг». Прокси устанавливают как для наблюдения за удаленными сегментами сети (внутри этих сетей), так и для распределения нагрузки между центральным сервером Zabbix и прокси-серверами.
Установка из пакетов на Ubuntu с поддержкой sqlite3 (на примере версии 5.2)
wget https://repo.zabbix.com/zabbix/5.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.2-1+ubuntu20.04_all.deb dpkg -i zabbix-release_5.2-1+ubuntu20.04_all.deb apt update apt install zabbix-proxy-sqlite3 zabbix-agent2
Не смотря на то, что в инструкции написано, что при установке прокси с поддержкой sqlite3
база создаётся автоматически если её нет, на деле ничего не создалось… Поэтому:
sudo mkdir /var/lib/sqlite3 sudo zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sudo sqlite3 /var/lib/sqlite3/zabbix.db sudo chown -R zabbix /var/lib/sqlite3
Внимание
При обновлении (мажорном) Zabbix Proxy столкнулся с тем, что при использовании SQLite установщик не умеет обновлять саму базу, точнее в процедуре обновления это даже не предусмотрено. Поэтому:
Изменяем конфигурацию прокси, указав в переменной, что работаем с базой sqlite3
DBName=/var/lib/sqlite3/zabbix.db
Сам процесс установки Zabbix прокси, мало чем отличается от уже описанного ранее процесса установки сервера. Поэтому ниже, я просто оставлю дополнительные комментарии по установке именно прокси:
jabber jabber-dev libiksemel-dev libiksemel-utils
database/schema.sql
(пункт 3.5):cat schema.sql | mysql -u root -p zabbix
./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --enable-ipv6 --with-ssh2 --with-openipmi --with-libxml2
nano /usr/local/etc/zabbix_proxy.conf
Администрирование → PM
2) и настраивайте, какие узлы будут мониторится через него.После установки, было неприятным сюрпризом, что практически отсутствует возможность нормального управление процессом Zabbix прокси. Поэтому пришлось придумать свой велосипед.
В папке /etc/init.d/
создаём файл zabbix-proxy
следующего содержания:
#!/bin/sh # # Zabbix daemon start/stop script. # # Copyright (C) 2000-2012 Zabbix SIA NAME=zabbix_proxy DAEMON=/usr/local/sbin/${NAME} DESC="Zabbix proxy daemon" PID=/tmp/$NAME.pid ### BEGIN INIT INFO # Provides: zabbix_proxy # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Should-Start: $all # Should-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start/stop Zabbix proxy daemon # Description: start/stop Zabbix proxy daemon ### END INIT INFO test -f $DAEMON || exit 0 case "$1" in start) echo "Starting $DESC: $NAME" start-stop-daemon --start --oknodo --pidfile $PID --exec $DAEMON ;; stop) echo "Stopping $DESC: $NAME" start-stop-daemon --stop --quiet --pidfile $PID --retry=TERM/10/KILL/5 && return 0 start-stop-daemon --stop --oknodo --exec $DAEMON --name $NAME --retry=TERM/10/KILL/5 ;; restart|force-reload) $0 stop $0 start ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Далее, для автоматического запуска, выполняем в консоли:
sudo chmod 755 /etc/init.d/zabbix-proxy sudo update-rc.d zabbix-proxy defaults sudo chmod 755 /etc/init.d/zabbix-agent sudo update-rc.d zabbix-agent defaults
Всё. Теперь можем с комфортом управлять из консоли статусом прокси: service zabbix-proxy start|stop|restart
или /etc/init.d/zabbix-proxy start|stop|restart
.
Информация
Кстати! Учтите, когда начнёте тестировать работу прокси, он забирает конфигурацию узлов каждые 3600 сек., т.е. если вы добавили какой-то элемент мониторинга, он появиться не сразу. Эту опцию можно изменить в конфигурации:
ConfigFrequency=3600