Zabbix прокси могут значительно упростить поддержку среды Zabbix и увеличивают производительность центрального сервера Zabbix.
Кроме того, использование прокси Zabbix это самый простой способ осуществления централизованного и распределенного мониторинга, когда все агенты и прокси обрабаываются одноим Zabbix сервером и все данные собираются в централизованном порядке.

(Копирайт)
Мoжет рабоать в активном и пассивном режимах. Пассивный собирает данные и ждет когда к нему обратится сервер для получения данных, а в активном режиме он сам подключается к серверу и скидывает все необходимые данные. Этот режим выбирается в зависимости от политики подключения сервера и прокси к сети Интернет. При активном режиме проски может подключаться к серверу из защищенных, зарытых, сетей, входящие подключения к которым не возможны. Но если заббикс сервер находится в сети куда запрещены входящие подключения, то прокси должен работать в пассивном режиме и должен быть доступен для подключений со стороны заббикс сервера.
Установка
[quote]cd /usr/ports/net-mgmt/zabbix-proxy/
make install
Автоматом не поставилась СУБД, MySQL, зато поставился mysql55-client, ставим руками:
cd /usr/ports/databases/mysql55-server/
make install
После установки добавляем в /etc/rc.conf
zabbix_proxy_enable="YES"
mysql_enable="YES"
Настройка
Запускаем mysql
/usr/local/etc/rc.d/mysql-server start
Если сервер будет нагруженным, то есть смысл немного оптимизировать мускуль (файл /var/db/mysql/my.cnf):
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 16M
table_open_cache = 256M
sort_buffer_size = 100M
read_buffer_size = 100M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 16
innodb_file_per_table
innodb_flush_method=O_DIRECT
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 6G
innodb_additional_mem_pool_size = 512M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
[mysqldump]
quick
max_allowed_packet = 16M
Добавляем пользователя в MySQL
mysql -u root
create database zabbixproxy; GRANT ALL PRIVILEGES ON zabbixproxy.* TO 'zabbixproxy'@'localhost' IDENTIFIED BY 'Pass' WITH GRANT OPTION;
Cоздаем структуру таблиц для заббикс прокси:
cd /usr/local/share/zabbix2/proxy/database/mysql/
cat schema.sql | mysql -u zabbixproxy -pPass zabbixproxy
Идем в vi /usr/local/etc/zabbix2/zabbix_proxy.conf
И там настраиваем:
# 0 - proxy in the active mode
# 1 - proxy in the passive mode
ProxyMode=1
Server=1.1.1.1
Hostname=remote-proxy1
DBName=zabbixproxy
DBUser=zabbixproxy
DBPassword=Pass
После этого запускаем заббис прокси,
/usr/local/etc/rc.d/zabbix_proxy start
И настраиваем агенты на работу с этим прокси как с сервером.
Добавляем прокси на сервере в разделе Администрирование -> DM -> Прокси (справа в выпадающем скписке) -> Добавить Прокси. В название прокси должно соответсвовать тому что у вас написано в параметре Hostname, в конфиге заббикс прокси. Указать серверу что конкретный узел следует мониторить через прокси можно в окне настроки подключения узла.
Добавление 17.04.2012
Решил немного увеличить кеш для данных (/usr/local/etc/zabbix/zabbix_proxy.conf):
TrendCacheSize=16M HistoryCacheSize=64M
И после этого заббикс-прокси отказался перезапускаться с ошибкой:
cannot allocate shared memory of size 67141727: [22] Invalid argument cannot allocate shared memory for history cache
Помогла правка sysct.
sysctl kern.ipc.shmmax=2147483648 sysctl kern.ipc.shmall=2097152 |