Сегодня будет сформирован набор шагов посредством которых будет установка Zabbix Agent(а) версии 4.4 на систему Raspbian Stretch миникомпьютера Raspberry Pi 3 Model B. Его я применяю для своих задумок и стараюсь все что делаю расписать чтобы последующее опиралось на них и не было неожиданных моментов в ходе анализа, почему здесь сделано так, а тут так. Плюс мне это интересно. У меня хобби и работа – это одно и тоже.

Итак, текущая система Raspbian Stretch на Raspberry Pi3 Model B. Хотя у меня версия B+ я везде указываю B.

pi@raspberrypi:~ $ lsb_release -a

No LSB modules are available.

Distributor ID: Raspbian

Description:    Raspbian GNU/Linux 9.4 (stretch)

Release:        9.4

Codename:       stretch

pi@raspberrypi:~ $ uname -a

Linux raspberrypi 4.14.52-v7+ #1123 SMP Wed Jun 27 17:35:49 BST 2018 armv7l GNU/Linux

pi@raspberrypi:~ $

На момент написания заметки у меня версия ядра более старая чем сейчас (15.11.2019), а потому обновляю систему до самого последнего состояния на текущий момент. Хотя я придерживаюсь правила, что каждая заметка – это определенный набор действий для каждого последующего.

pi@raspberrypi:~ $ sudo rm -Rf /var/lib/apt/lists

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade -y

pi@raspberrypi:~ $ sudo reboot

pi@raspberrypi:~ $ uname -a && lsb_release -a

Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

No LSB modules are available.

Distributor ID: Raspbian

Description:    Raspbian GNU/Linux 9.11 (stretch)

Release:        9.11

Codename:       stretch

pi@raspberrypi:~ $

Прописываю репозитарий для установки стабильной версии Zabbix Agent 4.4:

pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list.d/zabbix.list

deb http://repo.zabbix.com/zabbix/4.4/raspbian stretch main

pi@raspberrypi:~ $ sudo apt-get update

pi@raspberrypi:~ $ gpg --keyserver keyserver.ubuntu.com --recv 082AB56BA14FE591

gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory

gpg: connecting dirmngr at '/run/user/1000/gnupg/S.dirmngr' failed: No such file or directory

gpg: keyserver receive failed: No dirmngr

pi@raspberrypi:~ $

pi@raspberrypi:~ $ apt-cache search dirmngr

dirmngr - GNU privacy guard - network certificate management service

gnupg1-curl - GNU privacy guard (cURL helpers for deprecated "classic" version)

pi@raspberrypi:~ $ sudo apt-get install -y dirmngr

pi@raspberrypi:~ $ gpg --keyserver keyserver.ubuntu.com --recv 082AB56BA14FE591

gpg: key 082AB56BA14FE591: 1 signature not checked due to a missing key

gpg: /home/pi/.gnupg/trustdb.gpg: trustdb created

gpg: key 082AB56BA14FE591: public key "Zabbix LLC <packager@zabbix.com>" imported

gpg: no ultimately trusted keys found

gpg: Total number processed: 1

gpg:               imported: 1

pi@raspberrypi:~ $

pi@raspberrypi:~ $ gpg --export --armor 082AB56BA14FE591 | sudo apt-key add -

OK

pi@raspberrypi:~ $

pi@raspberrypi:~ $ sudo apt-get update

Hit:1 http://archive.raspberrypi.org/debian stretch InRelease

Hit:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease

Get:3 http://repo.zabbix.com/zabbix/4.4/raspbian stretch InRelease [4,932 B]

Fetched 4,932 B in 1s (3,708 B/s)

Reading package lists... Done

pi@raspberrypi:~ $

pi@raspberrypi:~ $ apt-cache show zabbix-agent | grep 'Package\|Version' | head -n2

Package: zabbix-agent

Version: 1:4.4.1-1+stretch

pi@raspberrypi:~ $ sudo apt-get install -y zabbix-agent

pi@raspberrypi:~ $ sudo systemctl enable zabbix-agent

Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent

pi@raspberrypi:~ $ sudo systemctl daemon-reload

pi@raspberrypi:~ $ sudo systemctl restart zabbix-agent && sudo systemctl status zabbix-agent | head -n 5

● zabbix-agent.service - Zabbix Agent

Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)

Active: active (running) since Fri 2019-11-15 09:31:59 MSK; 74ms ago

Process: 19461 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)

Process: 19464 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)

pi@raspberrypi:~ $

А базовый конфигурационный файл агента для взаимодействия с Zabbixсервером:

pi@raspberrypi:~ $ sudo nano /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

DebugLevel=3

EnableRemoteCommands=1

LogRemoteCommands=1

Server=127.0.0.1,172.33.33.117

ServerActive=127.0.0.1,172.33.33.117

Hostname=Zabbix server

Include=/etc/zabbix/zabbix_agentd.d/*.conf

UnsafeUserParameters=1

После сохраняем внесенные изменения и обязательно для активации изменений перезапускаем агента.

Где в моем случае 172.33.33.117 – это IP адрес Zabbix-сервера

Общение между Zabbix агентом и Zabbixсервером идет по портам:

  • Агент слушает: 10050/tcp
  • Сервер слушает: 10051/tcp

Так что нужно открыть доступ.

pi@raspberrypi:~ $ sudo netstat -tulpn | grep zabbix

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      463/zabbix_agentd

tcp6       0      0 :::10050                :::*                    LISTEN      463/zabbix_agentd

pi@raspberrypi:~ $

ekzorchik@srv-zabbix:~$ sudo netstat -tulpn | grep zabbix

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      589/zabbix_agentd

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      600/zabbix_server

tcp6       0      0 :::10050                :::*                    LISTEN      589/zabbix_agentd

tcp6       0      0 :::10051                :::*                    LISTEN      600/zabbix_server

ekzorchik@srv-zabbix:~$

Вот основные шаги по установке. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.