Установите Zabbix-Proxy на Debian 10
В этом руководстве мы шаг за шагом изучим, как установить, оптимизировать и настроить Zabbix Proxy 5.0 на Debian 10 (Buster)
Прокси Zabbix — это служба, которая может собирать данные о производительности и доступности с конечных устройств от имени сервера Zabbix.
Вы можете использовать Zabbix прокси для мониторинга удаленных местоположений за брандмауэром или местоположений с ненадежной связью, а также для разгрузки Zabbix сервера в больших средах.
Шаг 1. Установите Zabbix Proxy на Debian
sudo wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
sudo apt update
sudo apt -y install zabbix-proxy-mysql
Шаг 2: Настройте базу данных для Zabbix Proxy
mysql -uroot -p
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbixDBpass';
flush privileges;
Импортировать схему базы данных (может занимать продолжительное время)
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix_proxy
Шаг 3: настройка Zabbix Proxy
Теперь вам нужно изменить текущие значения параметров « Server
», « Hostname
«, « DBName
» и « DB user
» примерно на следующее:
Server=195.189.18.137
Hostname=Zabbix proxy
DBName=zabbix_proxy
DBUser=zabbix
*Server- указываете адрес сервера реальный если он находиться в другой сети то надо пробрасывать порт- 10050
Шаг 4: Запустите и включите службу Zabbix Proxy
Перезапустите службу прокси Zabbix и установите ее для загрузки при запуске:
service zabbix-agent2 restart
service zabbix-agent2 start
Шаг 5: Зарегистрируйте Zabbix Proxy в веб-интерфейсе Zabbix
Теперь, когда ваш прокси запущен, вам нужно зарегистрировать его в веб-интерфейсе Zabbix, используя опцию « Прокси » в разделе « Администрирование ». Нажмите кнопку « Создать прокси » снизу, затем установите « Имя прокси » на Zabbix proxy и « Режим прокси » на « Активный » « Пассивный*».
* « Пассивный» режим включается на стороне zabbix-server и zabbix-proxy модом
Чтобы включить на на стороне zabbix-proxy надо дописать строчку в /etc/zabbix/zabbix_proxy.conf добавив
ProxyMode=1Обратите внимание, что для работы прокси в активном режиме « Имя прокси» должно быть таким же, как параметр « hostname » в zabbix_proxy.conf
файле а в пассивном может быть произвольным

Сразу после добавления прокси к веб-интерфейсу вы получите сообщение, что прокси не подключен.
Однако, если вы подождете 100 секунд, в статусе « Последний раз (возраст) » вместо « Не подключен » будут отображаться секунды, что означает, что прокси-сервер обменивается данными с сервером.
Почему 100 секунд? Помните, что мы указали для параметра « ConfigFrequency » в «zabbix_proxy.conf
» файле? Независимо от того, что вы туда поместите, сколько времени потребуется прокси, чтобы связаться с Zabbix сервером для получения данных конфигурации. Это правило применяется только в том случае, если прокси находится в активном режиме.
Обратите внимание, что статус « Последний раз был доступен (возраст) » не должен превышать 6 секунд, если связь прокси-сервера работает.
Шаг 6: Настройте хосты в Zabbix для мониторинга прокси Zabbix
Zabbix Proxy работает и обменивается данными с Zabbix сервером, но он не собирает никаких данных, потому что мы не сделали последний важный шаг! Нам нужно настроить хосты в Zabbix, чтобы их отслеживал прокси-сервер.
Давайте сделаем это вместе, перейдем к опции « Хост » в разделе « Конфигурация » и выберем хосты, которые должны контролироваться прокси-сервером.

Шаг 7: Настройка шифрования PSK на прокси Zabbix (необязательно)
Zabbix поддерживает шифрованную связь между Zabbix сервером и Zabbix прокси с использованием протокола Transport Layer Security (TLS) v.1.2. Вы можете использовать шифрование на основе сертификатов и предварительных общих ключей (PSK), но в этом руководстве мы настроим последнее.
а. Сгенерировать ключ PSK на прокси-сервере
Сгенерируйте 256-битный (32 байта) ключ PSK с помощью команды openssl:
openssl rand -hex 32
f582b1ab9e3357dd876d5ea39ee3932f6c9c32c5ebc80e33cfb568d9785b28a1
Создайте и откройте файл « zabbix_proxy.psk
» с помощью команды или в любом редакторе файлов
sudo mcedit /etc/zabbix/zabbix_proxy.psk
скопируйте и вставьте в него только что сгенерированный ключ.
sudo chown zabbix:zabbix /etc/zabbix/zabbix_proxy.psk
&& sudo chmod 644 /etc/zabbix/zabbix_proxy.psk
Откройте zabbix_proxy.conf
файл с помощью команды:
sudo mcedit /etc/zabbix/zabbix_proxy.conf
и добавьте эту конфигурацию в любое место файла:
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_proxy.psk
TLSPSKIdentity=ZBX-PSK-01
Не забудьте перезапустить прокси после изменения файла конфигурации:
service zabbix-agent2 restart
Включите шифрование PSK на прокси в веб-интерфейсе Zabbix
Связь между прокси и сервером еще не зашифрована, потому что мы включили шифрование PSK на стороне прокси, но не на стороне сервера.
Нам нужно включить шифрование на стороне сервера, поэтому перейдите в веб-интерфейс и выберите свой прокси в опции « Прокси » в разделе « Администрирование ». Затем на вкладке «Шифрование» установите PSK в разделе «Подключения через прокси» и скопируйте и вставьте «Идентификатор PSK» и «PSK» (ключ), которые вы настроили на прокси. Если вы когда-нибудь потеряете сгенерированный ключ PSK, проверьте его с помощью команды « cat /etc/zabbix/zabbix_proxy.psk
» на прокси-сервере.

Шаг 8: Оптимизация Zabbix Proxy (необязательно)
Не беспокойтесь об этой оптимизации, если вы отслеживаете небольшое количество устройств, но если вы планируете отслеживать большое количество устройств, продолжайте этот шаг.
Откройте zabbix_proxy.conf
файл с помощью команды: « sudo nano /etc/zabbix/zabbix_proxy.conf
» и добавьте эту конфигурацию в любое место файла:
StartPollers=100
StartPollersUnreachable=50
StartPingers=50
StartTrappers=10
StartDiscoverers=15
StartHTTPPollers=5
CacheSize=128M
HistoryCacheSize=64M
HistoryIndexCacheSize=32M
Если вы попытаетесь запустить Zabbix прокси, вы получите ошибку “[Z3001] connection to database 'zabbix_proxy' failed: [1040] Too many connections
” в журнале “/var/log/zabbix/zabbix_proxy.log
”, потому что мы используем больше процессов прокси, чем MySQL может обработать. Нам нужно увеличить максимально разрешенное количество одновременных клиентских подключений и оптимизировать MySQL — так что переходите к следующему шагу.
Шаг 9: Оптимизация базы данных MySQL (необязательно)
а. Создать собственный файл конфигурации MySQL
Создайте файл “10_my_tweaks.cnf"
в “sudo nano /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf
”» и вставьте эту конфигурацию:
[mysqld]
max_connections = 280
innodb_buffer_pool_size = 1G
innodb-log-file-size = 128M
innodb-log-buffer-size = 128M
innodb-file-per-table = 1
innodb_buffer_pool_instances = 8
innodb_old_blocks_time = 1000
innodb_stats_on_metadata = off
innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-flush-log-at-trx-commit = 2
tmp-table-size = 96M
max-heap-table-size = 96M
open_files_limit = 65535
max_connect_errors = 1000000
connect_timeout = 60
wait_timeout = 28800
И установите правильные права доступа к файлу:
sudo chown mysql:mysql /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf sudo chmod 644 /etc/mysql/mariadb.conf.d/10_my_tweaks.cnf
Следует помнить две вещи!
Параметр конфигурации max_connections должен быть больше, чем общее количество всех процессов Zabbix прокси плюс 50. Вы можете использовать команду ниже, чтобы автоматически проверить количество процессов Zabbix и добавить 50 к этому числу:
~ $ egrep "^Start.+=[0-9]" /etc/zabbix/zabbix_proxy.conf | awk -F "=" '{s+=$2} END {print s+50}'
280
Проверка логов на Zabbix прокси
Если у вас возникла проблема с прокси, вы можете проверить последние 500 строк журнала с помощью команды:
tail -500 /var/log/zabbix/zabbix_proxy.log
Спасибо, очень подробно расписано.
А какие данные указывать в самом Zabbix-агенте на ПК, если они мониторятся с помощью Zabbix Proxy?
Добрый день
Да вы указываете данные Zabbix Proxy