Установка Zabbix Proxy
Обзор
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 прокси, мало чем отличается от уже описанного ранее процесса установки сервера. Поэтому ниже, я просто оставлю дополнительные комментарии по установке именно прокси:
- Во-первых, уже нет необходимости ставить Apache, PHP и PhpMyAdmin (это всё можно поставить, если планируете работать с базой посредством web-интерфейса… на мой взгляд – лишнее.).
- Так как наш прокси не умеет самостоятельно отправлять оповещения и мы не ставим PHP, то из пункта 3.4 исключаем некоторые пакеты:
jabber jabber-dev libiksemel-dev libiksemel-utils
- Для прокси необходимо импортировать в MySQL только
database/schema.sql
(пункт 3.5):cat schema.sql | mysql -u root -p zabbix
- Пример компиляции из исходных кодов будет выглядеть примерно так (пункт 3.6):
./configure --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --enable-ipv6 --with-ssh2 --with-openipmi --with-libxml2
- Правим файл конфигурации прокси, добавляя в него адрес Zabbix-сервера и данные для подключения к базе1):
nano /usr/local/etc/zabbix_proxy.conf
- Вот и всё. Подключайте прокси к основному Zabbix серверу
Администрирование → PM
2) и настраивайте, какие узлы будут мониторится через него.
P.S. Дополнение
После установки, было неприятным сюрпризом, что практически отсутствует возможность нормального управление процессом Zabbix прокси. Поэтому пришлось придумать свой велосипед.
В папке /etc/init.d/
создаём файл zabbix-proxy
следующего содержания:
- 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
Обсуждение
Статья сэкономила уйму времени! Есть pdf версия c немного другим кодом в которой есть ссылка на этот ресурс. Она не особо покатила. А здесь прям супер. Спасибо огромное!!!
Пожалуйста. Рад, что кому-то пригодилась вики и её материалы.
А что за pdf со ссылками на этот ресурс?
Наверное про это http://wiki.soulruins.info/docs/zabbix/install_proxy?rev=0&do=export_pdf
У вас ошибка.
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.
Копипаст детектед.
Ну что же вы, право слово… Это статья, продолжение статьи про установку Zabbix сервера, в заголовке которой есть ссылка на оригинал(ы). Что-то взято оттуда, что-то из других (рабочих/домашних) инструкций и скомпилировано в одну. Найдите вторую такую статью, прежде чем в чём-то обвинять или напишите свою, которая будет лучше.
Статья отличная, спасибо.
Но ошибку лучше поправить.
И вам спасибо за внимательность. Уже исправил, добавив параметры прокси. Для справки: автозапуск настраивается как для прокси, так и для агента.
Столкнулся с проблемой что zabbix-proxy данные собирает но не отправляет на zabbix-server при этом на последнем образуется большая очередь данных которые небыли обновлены по расписанию, как с этим бороться уже ума не прилоложу, есть у кого какие идеи ? zabbix 2.4
А что в логах? В конфигурации прокси прописали адрес сервера? Судя по всему, у Вас банально они не связаны.
Такая же проблема, как и у Сергея.
Создал тему на форуме
После того, как добавил процесс, не пишутся логи.
Проверяю так: ls /var/log/ | grep zab
Ну судя по описанию того, что у Вас происходит, проблема совсем не такая. Как я понял, у Вас некорректно завершился процесс установки и, как результат, отсутствие конфигурации в папке
/usr/local/etc
. При установке из исходников нужно внимательно читать результаты выполнения каждого шага. На этапе компиляции и сборки нет никаких ошибок?И вообще, зачем связались с исходниками? Быстрее и проще ставить из пакетов https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages
А где самое главное? Агент за прокси как настроить? Где в его конфиге указать прокси а где реально сервер?
Его это кого? В конфиге агента? Там указывается только адрес прокси, который для агента будет «за сервер». А в настройках прокси нужно указать IP сервера и определить в каком режиме он будет работать (пассивном или активном). Подробнее обо всём этом можно прочитать в документации Zabbix.