Zabbix 5 — установка в CentOS 7

Доброго времени суток, уважаемые читатели. Сегодня тема статьи: "Zabbix 5 - установка в CentOS 7". Займёмся установкой и развёртыванием, сервера мониторинга Zabbix, в операционной системе CentOS 7.
Zabbix – это бесплатное программное обеспечение, для организации системы мониторинга. При помощи Zabbix, можно производить мониторинг разнообразных систем на уровне аппаратного, программного, и прочего обеспечения. Система мониторинга Zabbix, состоит из программы сервера, и программы агента.
Официальный сайт разработчиков: https://www.zabbix.com/
- На сайте разработчиков, можно ознакомится с возможностями Zabbix, а так же найти подробную документацию на все версии продукта, поддерживаемые на данный момент. Мануалы на нескольких языках, включая русский.
Я не буду рассматривать настройку SELinux для Zabbix, если у Вас на сервере используется данная опция, то ищите информацию о настройке на сайте разработчиков.

- Помимо программного обеспечения под поддерживаемые операционные системы, разработчики предлагают и готовое решение на базе ОС Ubuntu.
- При выборе данного метода инсталляции, 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».

- На следующем шаге, открывается список необходимых зависимостей.
- Если всё «ОК», то жмём на «Next step».

- Следующий шаг, это настройка подключения к базе данных.
- Вводим данные для подключения, а порт оставляем по умолчанию.
- Жмём на «Next step».

- На следующем шаге, нужно указать детали сервера Zabbix.
- Оставляем без изменений, и жмём на «Next step».

- Открывается страница со сводкой произведённых настроек.
- Если что-то не так, то можно вернуться и исправить.
- Если всё правильно, то жмём на «Next step».

- Установка завершена. Открывается страница поздравления с успешной установкой frontend Zabbix.
- Жмём на «Finish».

- Происходит переадресация, на страницу формы входа в панель управления.

- По умолчанию, данные для входа в панель управления Zabbix:
Пользователь: Admin Пароль: zabbix
Сразу после входа в панель управления, обязательно нужно изменить пользователя и пароль. Подробный обзор панели управления, во втором видео в конце статьи.
Сегодня мы рассмотрели тему: "Zabbix 5 - установка в CentOS 7". Произвели установку Zabbix, и всех его компонентов, а так же настроили доступ к веб-панели управления. Смотрите так же видео по теме, и видео с подробным обзором веб-панели управления Zabbix.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Zabbix 5 - установка в CentOS 7":
Видео на тему "Zabbix 5 - обзор веб-панели управления":

WMZ-кошелёк = Z667041230317
«Monitoring»
Oleg
Это единственный и понятный мануал который мне встретился , не пришлось даже что то подстраивать под себя все заработало с первой попытки. Спасибо !
Андрей Бондаренко
Пожалуйста.