В этой статье мы рассмотрим, как установить агент Zabbix в Linux, подключить его к серверу и наcтроить шифрование данных с помощью PSK.
Для установки агента Zabbix в Linux вам нужно подключить официальный репозиторий. Проверьте версию Linux на вашем сервере, перейдите на сайт https://www.zabbix.com/download, выберите версию Zabbix Server, и версию дистрибутива Linux.
Для вас будет сгенерирован набор команд для установки репозитория и агента.
В моем случае для установки Zabbix Agent2 на Ubuntu 22.04 LTSC нужно выполнить следующие шаги.
Установить репозиторий Zabbix и обновить кеш менеджера пакетов:
$ wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-4%2Bubuntu22.04_all.deb
$ sudo dpkg -i zabbix-release_6.2-4+ubuntu22.04_all.deb
$ sudo apt update
Теперь можно установить Zabbix agent2:
$ sudo apt install zabbix-agent2
Запустите службу агента Zabbix и добавьте его в автозагрузку.
$ sudo systemctl restart zabbix-agent2
$ sudo systemctl enable zabbix-agent2
Проверьте, что агент Zabbix запущен:
$ sudo systemctl status zabbix-agent2
Теперь нужно отредактировать конфигурационной файл агента:
$ sudo mcedit /etc/zabbix/zabbix_agent2.conf
Server=ИМЯ_или_IP_Zabbix_Server ServerActive=ИМЯ_или_IP_Zabbix_Server Hostname= appsrvub1
appsrvub1 – это вашего имя узла, который мы добавим далее на сервер мониторинга Zabbix.
В Zabbix доступны два режима проверки агентов:
- Пассивный режим – данные запрашиваются сервером Zabbix
- Активный режим – агент сам отправляет данные на сервер Zabiix (в моем случае сервер с агентом находится за NAT, поэтому для него я буду использовать активный режим)
Можно полностью отключить пассивные проверки:
StartAgents=0
Перезапустите агент Zabbix.
$ sudo systemctl restart zabbix-agent2
Проверьте, что агент успешно запустился:
$ cat /var/log/zabbix/zabbix_agent2.log
$ nc -zv zabbixsrv1 10051
Теперь нужно добавить новый агент через веб-интерфейс Zabbix.
- Перейдите в раздел Configuration -> Hosts и нажмите Create host;
- Укажите имя хоста (должно соответствовать значению в конфигурационном файле агента);
- Назначьте шаблон (в моем случае это Linux by Zabbix agent active) и группу хостов;
- Т.к. мой агент Zabbix находится за NAT, для интерфейса агента не нужно указывать IP адрес. Просто укажите 0.0.0.0.
- Сохраните изменения.
- Теперь проверьте, что сервер Zabbix получает данные с агента. Перейдите в Monitoring -> Latest Data, выберите в поле Hosts нужный вам хост и нажмите Apply. Как вы видите данные с агента теперь доступны на сервере Zabbix.
По умолчанию агент Zabbix передает данные на сервер в открытом виде. Если данные от агентов поступают на сервере через публичную сеть Интернет, нужно настроить шифрование с помощью pre-shared ключей (PSK).
Подключитесь к агенту и сгенерируйте 256 битный PSK ключ с помощью openssl:
# openssl rand -hex 32 > /etc/zabbix/zabbix_agent.psk
# chown zabbix:zabbix /etc/zabbix/zabbix_agent.psk
# chmod 400 /etc/zabbix/zabbix_agent.psk
Теперь добавьте информацию о PSK ключе шифрования в конфигурационный файл:
# mcedit /etc/zabbix/zabbix_agent2.conf
TLSConnect=psk TLSAccept=psk TLSPSKFile=/etc/zabbix/zabbix_agent.psk TLSPSKIdentity=appsrvub1_PSK
Сохраните файл и перезапустите агент Zabbix:
$ sudo systemctl restart zabbix-agent2
Скопируйте значение PSK ключа:
$ cat /etc/zabbix/zabbix_agent.psk
Теперь нужно указать ваш PSK ключ в настройках хоста на сервере Zabbix.
- Откройте настройки хоста и перейдите на вкладку Encryption;
- Включите опцию PSK;
- Вставьте значение TLSPSKIdentity из конфигурационного файла агента в PSK Identity;
- Вставьте ваш PSK ключ в следующее поле;
- Нажмите кнопку Update.
- Если вы все настроили правильно, в информации о хосте в Zabbix будет указано, что агент использует соединение с PSK шифрованием.