Доброго времени суток, уважаемые читатели. Сегодня тема статьи: "Zabbix 5 - установка в CentOS 7". Займёмся установкой и развёртыванием, сервера мониторинга Zabbix, в операционной системе CentOS 7.

Zabbix – это бесплатное программное обеспечение, для организации системы мониторинга. При помощи Zabbix, можно производить мониторинг разнообразных систем на уровне аппаратного, программного, и прочего обеспечения. Система мониторинга Zabbix, состоит из программы сервера, и программы агента.

Официальный сайт разработчиков: https://www.zabbix.com/

  • На сайте разработчиков, можно ознакомится с возможностями Zabbix, а так же найти подробную документацию на все версии продукта, поддерживаемые на данный момент. Мануалы на нескольких языках, включая русский.

Я не буду рассматривать настройку SELinux для Zabbix, если у Вас на сервере используется данная опция, то ищите информацию о настройке на сайте разработчиков.

документация на сайте разработчиков Zabbix
  • Помимо программного обеспечения под поддерживаемые операционные системы, разработчики предлагают и готовое решение на базе ОС Ubuntu.
  • При выборе данного метода инсталляции, Zabbix и все компоненты, будут установлены и настроены, прямо из коробки.
готовое решение Zabbix на базе Ubuntu
  • В разделе загрузок, можно выбрать способ установки серверного, и агентского программного обеспечения.
раздел загрузок на сайте разработчиков Zabbix
  • В разделе пакетной установки находится калькулятор, который в зависимости от Вашего выбора, формирует пошаговый список команд, для установки программного обеспечения.
калькулятор установки на сайте разработчиков Zabbix

Подготовительные действия перед установкой Zabbix

  • На сервере с Zabbix, должно быть правильно настроено системное время, и синхронизация. В противном случае, у Вас будет путаница в анализе, и реагировании на события.
  • Для проверки настроек системного времени, выполняем команду.
# date
  • Если вывод команды не соответствует Вашему часовому поясу, и реальному времени, то нужно это исправить.
  • Заходим в директорию /usr/share/zoneinfo, и подбираем настройки под себя. Нужно выбрать Ваш регион, и город. Если Вашего города нет в списке региона, то нужно выбрать город, с аналогичным Вашему, часовым поясом.
  • Следующим шагом, нужно перезаписать файл /etc/localtime, под Ваши настройки.
  • Для настройки московского времени, команда будет такой:
# \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
  • После настройки системного времени, нужно настроить синхронизацию. Для этого устанавливаем утилиту chrony, запускаем её, и добавляем в автозагрузку.
# yum install chrony
# systemctl start chronyd
# systemctl enable chronyd
  • После произведённых изменений, проверяем системное время.
# date
  • Если всё в норме, то идём дальше, и переходим к установке Zabbix.

Установка Zabbix 5.0 LTS в CentOS 7

  • Подключаем репозиторий Zabbix, и отчищаем кэш пакетного менеджера yum.
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
  • Производим установку сервера и агента Zabbix. Агент нужен для того, чтобы сервер с Zabbix на борту, тоже был под мониторингом.
# yum install zabbix-server-mysql zabbix-agent
  • По завершении установки сервера и клиента, производим установку коллекции софта для CentOS.
# yum install centos-release-scl

Установка Zabbix-Frontend

  • По умолчанию репозиторий zabbix-frontend выключен, поэтому нужно в ручную его активировать.
  • Находим файл /etc/yum.repos.d/zabbix.repo, и в секции [zabbix-frontend], меняем значение enabled на 1.
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0  <--- изменить на 1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  • Запускаем установку Zabbix-Frontend.
# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
  • По завершении установки, переходим к установке сервера баз данных.

Установка сервера MariaDB и создание базы Zabbix

  • В качестве сервера баз данных, я буду использовать MariaDB.
  • Для подключения репозитория MariaDB, отправляемся на официальный сайт, и выбираем конфиг файла mariadb.repo, под свою ОС. В итоге, добавляем этот файл в директорию /etc/yum.repos.d/.
  • В моём случае, на момент написания статьи, актуальный файл подключения репозитория /etc/yum.repos.d/mariadb.repo, выглядет таким образом:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
  • Запускаем команду на установку MariaDB.
# yum install MariaDB-server MariaDB-client
  • По завершении установки, запускаем сервер MariaDB, и добавляем его в автозагрузку.
# systemctl start mariadb
# systemctl enable mariadb
  • Следующим шагом, производим первоначальную настройку MariaDB.
# /usr/bin/mysql_secure_installation
  • На первом вопросе, жмём Enter, так как пароль для root ещё не создан, а далее создаём пароль для root, и на все вопросы отвечаем (Y) yes.
  • После первоначальной настройки MariaDB, нужно создать базу данных, и пользователя для этой базы данных.
  • Создаваемая база данных, будет использоваться Zabbix.

Я для примера, создам базу данных zabbix, и пользователя zabbix. Такие данные установлены в конфигурационном файле по умолчанию. Вы в свою очередь, в целях безопасности, измените данные на своё усмотрение. В итоге, нужно будет просто изменить данные в конфиге. Пароль для примера, я сделаю 123, Вы в свою очередь, делайте сложный пароль.

  • Заходим в консоль сервера баз данных, под пользователем root.
# mysql -uroot -p
  • Создаём базу данных и пользователя.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by '123';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> quit;
  • Производим импорт исходной схемы и данных, в созданную базу данных. В моём случае команда будет такой:
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
  • В процессе импорта, нужно будет ввести пароль пользователя базы данных, которого Вы создали.

Настройка подключения сервера Zabbix к базе данных

  • Для настройки подключения Zabbix к базе данных, находим конфигурационный файл /etc/zabbix/zabbix_server.conf, и изменяем параметры подключения, на свои.
DBName = название базы данных
DBUser = имя пользователя базы данных
DBPassword = пароль пользователя базы
  • В моём случае, это будет так:
DBName=zabbix
DBUser=zabbix
DBPassword=123
  • Кроме того, можно увеличить таймаут. По умолчанию он составляет 4 секунды, можно поставить значение от 1 до 30. Поставим например 10.
Timeout=10

Настрока NGINX для frontend Zabbix

  • Следующим шагом, произведём настройку веб-сервера NGINX.
  • Находим файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, и раскомментируем строчки:
# listen 80;
# server_name example.com;
  • Следующая настройка зависит от того, каким образом, Вы хотите получать доступ к веб-панели управления Zabbix.
  • Для доступа по доменному имени, просто замените example.com, на Ваше доменное имя.
listen 80;
server_name ваш_домен;
  • Если Вам нужен доступ по доменному имени и ip-адресу, то добавьте к строчке с номером прослушиваемого порта, директиву default_server.
listen 80 default_server;
server_name ваш_домен;
  • Но при добавлении директивы default_server, Вам нужно будет удалить данную директиву, из дефолтной конфигурации NGINX, так как данная директива не может дублироваться.
  • Находим файл /etc/opt/rh/rh-nginx116/nginx/nginx.conf, и удаляем директиву, оставив только порты.
Строчки:
listen       80 default_server;
listen       [::]:80 default_server;

Изменяем на: 
listen       80;
listen       [::]:80;
  • А если Вы хотите доступ к панели управления только по ip-адресу, то в файле /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, укажите директиву default_server, и вместо доменного имени, укажите localhost .
listen 80 default_server;
server_name localhost;

Не забудьте удалить default_server, из дефолтного файла /etc/opt/rh/rh-nginx116/nginx/nginx.conf, как в предыдущем примере.

  • На этом настройка NGINX завершена, переходим к PHP-FPM.

Настройка PHP-FPM для frontend Zabbix

  • Находим конфигурационный файл /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, и вносим некоторые изменения:
В строчке
listen.acl_users = apache

Добавляем пользователя nginx:
listen.acl_users = apache,nginx


Раскомментируем строчку
; php_value[date.timezone] = Europe/Riga

И изменяем на свой часовой пояс:
php_value[date.timezone] = Europe/Moscow
  • После произведённых настроек, можно запустить все компоненты, необходимые для работы Zabbix, и добавить их в автозагрузку.
# systemctl start zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

Настройка Firewall для работы сервера Zabbix

  • Если Вы не планируете настраивать SSL сертификаты, и использовать Zabbix по проколу HTTPS, то достаточно создать правила на открытие двух портов.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
  • В противном случае, открываем и порт 443.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
  • После внесения изменений, перезапускаем iptables.
# systemctl restart iptables

Установка frontend Zabbix

  • В зависимости от произведённых настроек, вводим в браузере, либо Ваше доменное имя, либо ip-адрес.
  • Открывается страница приветствия, установщика frontend Zabbix.
  • Жмём на «Next step».
страница приветствия установщика веб-панели сервера Zabbix
  • На следующем шаге, открывается список необходимых зависимостей.
  • Если всё «ОК», то жмём на «Next step».
список произведённых проверок для установки веб-панели сервера Zabbix
  • Следующий шаг, это настройка подключения к базе данных.
  • Вводим данные для подключения, а порт оставляем по умолчанию.
  • Жмём на «Next step».
настройка подключения к базе данных для установки веб-панели сервера Zabbix
  • На следующем шаге, нужно указать детали сервера Zabbix.
  • Оставляем без изменений, и жмём на «Next step».
детализация сервера для установки веб-панели сервера Zabbix
  • Открывается страница со сводкой произведённых настроек.
  • Если что-то не так, то можно вернуться и исправить.
  • Если всё правильно, то жмём на «Next step».
сводка сделанных настроек для установки веб-панели сервера Zabbix
  • Установка завершена. Открывается страница поздравления с успешной установкой frontend Zabbix.
  • Жмём на «Finish».
страница поздравления с успешной установкой frontend Zabbix
  • Происходит переадресация, на страницу формы входа в панель управления.
форма входа в панель управления Zabbix
  • По умолчанию, данные для входа в панель управления Zabbix:
Пользователь: Admin 
Пароль: zabbix

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

Сегодня мы рассмотрели тему: "Zabbix 5 - установка в CentOS 7". Произвели установку Zabbix, и всех его компонентов, а так же настроили доступ к веб-панели управления. Смотрите так же видео по теме, и видео с подробным обзором веб-панели управления Zabbix.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему "Zabbix 5 - установка в CentOS 7":

Видео на тему "Zabbix 5 - обзор веб-панели управления":