Table of Contents
Установка zabbix-агента в Linux
Будем устанавливать агента на Centos6 и настроим шифрование между сервером и агентом.
Подключение репозитория
Репозиторий zabbix находится по адресу https://repo.zabbix.com/.
Нас там интетесует пакет zabbix-release который он подключается. Для каждой ОС zabbix-release свой.
Ставим zabbix-release на 64 битный Centos6.
[root@fry ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm warning: /var/tmp/rpm-tmp.KCYHhE: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY file /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX from install of zabbix-release-3.2-1.el6.noarch conflicts with file from package zabbix-release-3.0-1.el6.noarch file /etc/yum.repos.d/zabbix.repo from install of zabbix-release-3.2-1.el6.noarch conflicts with file from package zabbix-release-3.0-1.el6.noarch
Выясняем, что уже на сервере стоит zabbix-release-3.0-1.el6.noarch, его надо сначала удалить.
[root@fry ~]# rpm --erase zabbix-release-3.0-1.el6.noarch
Теперь еще раз пробуем поставить репозитарий и обновляем пакет zabbix-agent.
[root@fry ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm warning: /var/tmp/rpm-tmp.jjGcp0: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Установка
Ставим пакет “zabbix-agent”.
[root@ ~]# yum install zabbix-agent ... --> Running transaction check ---> Package zabbix-agent.x86_64 0:3.0.9-1.el6 will be updated ---> Package zabbix-agent.x86_64 0:3.2.6-1.el6 will be an update --> Finished Dependency Resolution ...
Базовая настройка
Файл конфигураци zabbix_agentd.conf лежит в /etc/zabbix.
[root@fry zabbix]# ll total 44 -rw-r--r--. 1 root root 10437 Май 21 2016 zabbix_agentd.conf -rw-r--r--. 1 root root 10438 Май 21 2016 zabbix_agentd.conf~ drwxr-xr-x. 2 root root 4096 Июн 12 22:20 zabbix_agentd.d -r--------. 1 zabbix zabbix 65 Май 21 2016 zbxpsk
Правим файл zabbix_agentd.conf, в секции “Passive checks related” ставим:
Server=231.33.44.123 ListenPort=10050
где,
- Server= - это адрес zabbix-сервера с которого будут подключаться к zabbix-агенту.
- ListenPort= - порт который слушает zabbix-agent (по дефолту tcp порт 10050, можно ставить 1024-32767).
В секции “Active checks related” ставим:
ServerActive=231.33.44.123:10051 Hostname=fry
где,
- ServerActive= - адрес и порт zabbix-сервера к которому агент будет обращаться, что бы отправить результаты активной проверки.
- Hostname= - тут указываем такое же имя как стоит на zabbix-сервере в настройках хоста который мы монитрим.
Если не планируется использовать шифрование между агентом и сервером, то сохраняем файл и перезапускаем агента.
Настройка шифрования между сервером и агентом
Шифрование настраивается в секции “TLS-RELATED PARAMETERS”, там ставим:
TLSConnect=psk TLSAccept=psk TLSPSKIdentity=PSK Not3Frag TLSPSKFile=/etc/zabbix/zbxpsk
где,
- TLSConnect - тип шифрования при активных проверках, когда агент подключается к zabbix-серверу.
Два способа шифровать - на основе RSA сертификатов и на основе Pre-Shared key (PSK). - TLSAccept - тип шифрования при пасивных проверках, когда к агенту подключается zabbix-сервер.
- TLSPSKIdentity - общее слово которое указывает на psk который будет использован при шифровании. Это слово передается в открытом виде.
- TLSPSKFile - путь до файла где записан psk.
Документация по zabbix рекомендует в качестве psk какое-нибудь длинное рандомное шестнацатиричное число.
kostya@aee3:~$ openssl rand -hex 36 f6cff8a26c13af085d8a593ba14becd389d2797155391d366a6733d673adb221eceeaab5
Файл, в котором находится psk, должен быть c правами read-only и принадлежать пользователю и группе под которой работает zabbix-агент.
[root@fry zabbix]# ll ... -r--------. 1 zabbix zabbix 72 Июн 12 23:29 zbxpsk ... [root@bender zabbix]# cat zbxpsk f6cff8a26c13af085d8a593ba14becd389d2797155391d366a6733d673adb221eceeaab5
В итоге конфиг zabbix-агента будет примерно таким:
[root@bender zabbix]# grep -v -E "^#|^$" /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=231.33.44.123 ListenPort=10050 ServerActive=231.33.44.123:10051 Hostname=fry Include=/etc/zabbix/zabbix_agentd.d/ TLSConnect=psk TLSAccept=psk TLSPSKIdentity=PSK Not3Frag TLSPSKFile=/etc/zabbix/zbxpsk
Запуск агента
Со стороны агента пишем разрешающее правило в iptables.
[root@fry ~]# cat /etc/sysconfig/iptables ... #ZBX -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -s x.xx.xx.x/32 -j ACCEPT ...
Запускаем zabbix-agent.
[root@fry ~]# /etc/init.d/zabbix-agent start Starting Zabbix agent: [ OK ]
Включаем автозагрузку.
[root@fry ~]# chkconfig zabbix-agent --level 2345 on