Docker Zabbix является открытым программным обеспечением для корпоративного мониторинга с открытым исходным кодом. Наличие исходного кода позволяет усовершенствовать программу под текущие нужды бизнеса.
Zabbix агент – это популярный бесплатный софт для мониторинга. Установка и настройка Zabbix довольно просты, что делает его подходящим для работы с крупными сетевыми инфраструктурами с большим количеством хостов. Однако его можно использовать и для небольших систем. Давайте вместе рассмотрим особенности инсталляции и применения Zabbix сервера 5.0 под разные ОС, а также уточнить, как же осуществляется добавление новых хостов для мониторинга.
Установка Zabbix Server на Linux
Компоненты установки:
- файл zabbix_server;
- БД MySQL / MariaDB / PostgreSQL;
- веб-сервер Apache2 /Nginx с обработчиком PHP;
- файлы интерфейса сайта (.php, .js, .css и т.д).
Загрузите репозиторий:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all...
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update
Установите пакеты:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Подключение репозитория к последней версии Zabbix позволит установить софт на CentOS и RHEL 8.
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
Давайте представим, что на сервере уже установлены nginx, MySQL / MariaDB, php и php-fpm. Для установки сервера Zabbix и агента воспользуйтесь менеджером пакетов dnf (yum).
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
Вместо MySQL вы можете использовать PostgreSQL для создания БД Zabbix. В этом случае необходимо использовать pgsql
в предыдущих командах. Для обеспечения доступа к БД создайте пользователя и предоставьте необходимые разрешения для Zabbix.
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;
Создавая пользователя, необходимо указать пароль, который затем следует ввести при импорте базы данных Zabbix.
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
Отредактируйте /etc/zabbix/zabbix_server.conf, укажите пароль.
DBPassword=Zabbix_User_Password
Для работы веб-сервера с использованием nginx необходимо произвести редактирование файла nginx.conf. В этом файле требуется провести изменения в следующих строках:
# listen 80;
# server_name example.com;
Удалите # и замените example.com именем хоста сервера Zabbix. Для Apache необходимо редактировать так: /etc/httpd/conf.d/zabbix.conf. Не забудьте правильно указать свой часовой пояс в PHP в /etc/zabbix/php-fpm.conf:
php_value[date.timezone] = Canada/Pacific
Zabbix настройка также может включать эти параметры PHP в /etc/php.ini:
memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000
Добавьте службу zabbix-server в автозагрузку и запустите ее:
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
Конфигурация веб-интерфейса Zabbix
Для настройки Zabbix Agent требуется использовать URL сервера Zabbix. Проверьте, чтобы все требования установщика были отмечены, как ОК. Затем введите необходимую для подключения информацию, а также сведения о созданном пользователе.
Задайте серверу Zabbix имя. По умолчанию используется порт TCP 10051. Обычно, если не менять настройки, используется 2 порта 10050/10051:
- Используемый сервером Zabbix для связи с агентами.
- Для работы с активными агентами.
Не забудьте открыть эти порты на брандмауэре на сервере Zabbix при использовании CentOS. Вы можете использовать команду firewall-cmd
для открытия портов в firewalld
.
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} –permanent
Открыть порт 10050 в агенте можно так:
# firewall-cmd --permanent --add-port=10050/tcp
После этого перезапустите firewalld
. Выполните установку, нажав кнопку Next Step, а затем Finish. После завершения установки, вам будет предложено войти. Пароль по умолчанию – zabbix, а логин – Admin. Если возникнут дополнительные вопросы, вы можете обратиться к документации Zabbix, где подробно описан процесс установки.
Установка на Windows
По ссылке https://www.zabbix.com/download_agents находится актуальная версия агента для OS Windows. По ней можно загрузить и определенную версию агента. В этом примере мы выбираем msi (amd64) без OpenSSL. Если планируется установка софта через групповую политику или SCCM, возможен вариант загрузки ZIP архива с бинарниками и файлами config.
Запустите launcher, выполните настройку подключения к серверу Zabbix. В поле “Server or proxy for active checks” напишите IP-адрес в виде IP:PORT, например 192.168.20.30:10051, поскольку используется порт по умолчанию.
Нажмите Далее пару раз, затем нажмите Установить.
Необходимо разрешить входящие соединения с IP-адресом вашего Zabbix:
New-NetFirewallRule -DisplayName ZabbixMonitoring –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
Для Windows Zabbix инструкция по установке довольно кроткая.
Как добавить новый хост
Добавьте узел testnode2 на свой Zabbix-сервер и проведите несколько тестов. Это необходимо, чтобы убедиться, что все работает стабильно.
Важно. В Zabbix существует 2 типа проверок:
- Passive — происходит запрос определенных сведений у агента.
- Active — агент отправляет данные на сервер.
Во время настройки применяется IP-адрес сервера и определенный порт для выполнения активных проверок. Управление узлами мониторинга осуществляется через веб-интерфейс. В разделе Configuration -> Hosts нажмите кнопку Create host и введите необходимые данные. Убедитесь, что имя узла точно соответствует имени устройства или параметру Hostname. На вкладке Templates добавьте предустановленные шаблоны для Windows.
Перезапустите Zabbix на targetnode2 и посмотрите лог агента, чтобы не ждать синхронизации. Хотя, процесс занимает несколько минут, поэтому можно и подождать.
Затем посмотрите на данные, полученные сервером Zabbix, от агента через Мониторинг -> Последние данные, выбрав хост из поля Hosts. Запись started [active check #1] указывает на выполнение активных проверок. Предустановленные шаблоны имеют пометку активный.
Встроенные шаблоны, которые мы применили к хостингу, привели к появлению уведомления в панели мониторинга Zabbix о незапущенной службе BITS. Одним из этих шаблонов является проверка BITS, и, если служба не работает, то запускается триггер.
Установка на Linux
В данном примере используется Ubuntu Server 18.04. Установка будет происходить с помощью менеджера пакетов. Загрузите и запустите репозиторий Zabbix, а затем установите сам агент:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_rele... -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agent
Чтобы добавить репозиторий и установить Zabbix Agent на CentOS, используйте эти команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent
Перед первым стартом агента задайте правильные настройки. Укажите IP-адрес Zabbix-сервера, чтобы выполнять активные проверки.
Server=IP
ServerActive=192.168.20.30:10051
Hostname=testagent
Затем запустите агент: # service zabbix-agent start
Команда # cat /var/log/zabbix/zabbix_agentd.log
позволит убедиться, что он работает.
Если вы видите сообщение «Не удается проанализировать список активных проверок», то они не осуществляются.
Для добавления Linux-хоста в Zabbix необходимо правильно указать имя хоста Zabbix, как в ситуации с Windows. Перезапустите Zabbix. Подробную информацию о том, как пользоваться Zabbix, можно прочитать в мануале.
Успешное внедрение Zabbix — это не только технический вопрос, но и возможность повысить эффективность вашего бизнеса. Внимательно следите за обновлениями и оставайтесь на шаг впереди, обеспечивая стабильность и производительность вашей IT-инфраструктуры.