Как выполнить настройку и установку Zabbix в CentOS

CentOS – дистрибутив Linux созданный на базе Red Hat Enterprise Linux (RHEL) и имеющий свободно распространяемый код. Операционная система популярна среди сообщества разработчиков, имеет высокую надежность и гарантированную техническую поддержку.

Zabbix – что это

Zabbix – это система мониторинга, позволяющая отслеживать и выявлять проблемы на техническом оборудовании или в работе сайтов. Данную систему используют на VDS, выделенных серверах, облачных сервисах, для мониторинга сетей и бизнес-показателей. Преимуществом Zabbix является открытый исходный код и совместимость с популярными операционными системами: Windows, Linux, FreeBSD, Mac OS. Также стоит отметить, у Zabbix есть подробная документация на русском языке и большое сообщество, которое всегда поможет найти ответы на интересующие вопросы. Узнать больше о Zabbix.

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

Установка Zabbix-сервера на CentOS возможна для версии не ниже седьмой. Перед установкой необходимо выполнить настройку веб-сервера, на который будет выполняться загрузка. 

  1. Важно настроить на сервере правильное время и синхронизацию, чтобы не возникло путаница с аналитическими данными. Подключаемся к серверу по SSH. Проверяем настройки времени на сервере:

date

Если данные не соответствуют вашему региону, то для установки верного часового пояса введите команду (в нашем случае время – московское):

# \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Чтобы выполнить настройку синхронизации времени применим утилиту chrony, устанавливаем и загружаем ее:

yum install chrony

systemctl enable chronyd

systemctl start chronyd

Еще раз выполняем команду date, чтобы проверить время системы.

  1. Вторым шагом выполняем настройку файервола. Необходимо открыть порты 80 (для http запросов), 443 (для https запросов), 10050 (для получения данных от Zabbix-агентов):

firewall-cmd --permanent --add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}

Затем делаем перезагрузку файервола:

firewall-cmd --reload

Установка и настройка дополнительных программ 

Для работы Zabbix на сервере нужно выполнить установку и настройку: web-сервера, систему управления базами данных (СУБД) и PHP. В нашем примере выполним установку веб-сервера Nginx и базу данных MariaDB.

Установка веб-сервера Nginx

  1. Сначала подключаем репозиторий Nginx (если он не был подключен ранее):

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  1. Затем выполняем установку: 

yum install nginx

  1. Запускаем Nginx и подключаем автоматический запуск:

systemctl start nginx

systemctl enable nginx

Установка СУБД MariaDB

  1. При необходимости подключаем репозиторий:

mcedit /etc/yum.repos.d/mariadb.repo

  1. Загружаем последнюю версию базы данных:

yum install MariaDB-server MariaDB-client

  1. Запускаем СУБД MariaDB и разрешаем автозагрузку:

systemctl start mariadb

systemctl enable mariadb

  1. Запускаем команду, которая позволит нам задать пароль суперпользователя для базы данных:

mysqladmin -u root password

Дважды введите пароль.

Установка PHP

  1. Подключаем необходимый репозиторий (remi и epel-release):

yum install epel-release

rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

  1. Для активации remi-php71 вводим:

yum install yum-utils

yum-config-manager --enable remi-php71

  1. Загружаем PHP и требуемые модули:

yum install php71 php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-bcmath

  1. Открываем файл php.ini с помощью команды:

nano /etc/php.ini

  1. Вносим корректировки:

date.timezone = "Europe/Moscow"

max_execution_time = 300

post_max_size = 16M

max_input_time = 300

max_input_vars = 10000

Чтобы сохранить корректировки нажмите Enter.

  1. Для запуска и автоматической загрузки выполняем:

systemctl start php-fpm

systemctl enable php-fpm

Связка PHP и Nginx

  1. Чтобы веб-сервер обрабатывал PHP, необходимо настроить связку PHP + Nginx. Для этого требуется открыть конфигурационный файл веб-сервера:

nano /etc/nginx/nginx.conf

  1. Настройки файла должны соответствовать следующим показателям:

server {

        listen       80 default_server;

        server_name  _;

        set $root_path /usr/share/nginx/html;

 

        root $root_path;

 

        location / {

                index index.php;

        }

 

        location ~ \.php$ {

                fastcgi_pass 127.0.0.1:9000;

                fastcgi_buffer_size 32k;

                fastcgi_buffers 4 32k;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;

                include fastcgi_params;

                fastcgi_param DOCUMENT_ROOT $root_path;

                fastcgi_read_timeout 300;

        }

}

Значение /usr/share/nginx/html —это корневой путь для хранения скриптов,

Значение 9000 — это порт для PHP.

  1. После внесения изменений, проверяем их корректность:

nginx -t

Если все настройки сделаны правильно, то сообщение будет иметь вид:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

 

nginx: configuration file /etc/nginx/nginx.conf test is successful

  1. Выполняем перезагрузку веб-сервера:

systemctl restart nginx

  1. Следующим действием заходим в корневой каталог:

cd /usr/share/nginx/html

  1. В нем создаем файл index.php с помощью команды:

nano index.php

  1. В содержимое файла добавляем:

<?php phpinfo(); 

?>

Если  перейти по ссылке http://<IP сервера>/ в строке браузера, то должна открыться информация о PHP и его настройках:

Процесс установки, настройки и интеграции Zabbix

Установка Zabbix

Теперь рассмотрим как происходит установка Zabbix.

  1. Загрузим репозиторий Zabbix последней версии с помощью команды:

yum install https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm

  1. Установка сервера выполняется командой:

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get

Настройка БД

Выполним настройку базы данных.

  1. Зайдем в оболочку для ввода sql-команд:

mysql -u root -p 

  1. Создаем базу данных:

CREATE DATABASE zabbixBD_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

zabbixBD_name – название базы данных.

  1. Создаем пользователя для работы с базой данных:

GRANT ALL PRIVILEGES ON zabbixBD_name.* TO zabbixBD_user@localhost IDENTIFIED BY '123456';

zabbixBD_user – имя пользователя,

123456 – пароль от базы данных.

  1. Выходим из оболочки команд sql:

quit

  1. Заходим в каталог MySQL, чтобы применить схему для СУБД MySQL/MariaDB:

cd /usr/share/doc/zabbix-server-mysql-*

  1. Разархивируем дамп с базой данных:

gunzip create.sql.gz

  1. Восстанавливаем базу данных из дампа:

mysql -u root -p zabbix < create.sql

Введите пароль, который был задан во время установке MariaDB.

Настройка Zabbix

  1. Чтобы выполнить настройку Zabbix необходимо открыть конфигурационный файл:

nano /etc/zabbix/zabbix_server.conf

  1. Задаем пароль, добавляя строчку:

DBPassword=123456

123456 – ваш пароль.

  1. Проверяем, что значение строк соответствует заданным ранее:

DBName=zabbixBD_name

DBUser=zabbixBD_user

Запуск сервера Zabbix

  1. Сначала разрешаем автоматический запуск сервера с помощью команды:

systemctl enable zabbix-server

  1. Затем запускаем сам сервер:

systemctl start zabbix-server

Настройка веб-сервера Nginx

  1. Открываем для редактирования конфигурационный сервер:

nano /etc/nginx/nginx.conf

  1. Вносим изменения в параметры root:

Строку set $root_path /usr/share/nginx/html; меняем на set $root_path /usr/share/zabbix;

  1. Делаем перезагрузку веб-сервера командой:

systemctl restart nginx

Настройка веб-интерфейса Zabbix

  1. Для настройки веб-интерфейса в строке браузера введите IP-адрес Zabbix-сервера в формате: http://zabbix_server_IP/

После этого откроется страница настройки веб-интерфейса для Zabbix. Нажмите Next step.

  1. Убедитесь, что на открывшейся странице напротив каждой строки стоит отметка ОК и нажмите Next step.

  1. Введите заданные доступы для подключения к базе данных и перейдите к следующему шагу:

  1. На следующем шаге значения, установленные по умолчанию, оставьте без изменений. Кликните по кнопке Next step.
  2. На заключительном шаге проверьте выставленные настройки и снова нажмите Next step.
  3. Настройка веб-интерфейса для Zabbix завершена.
  4. В появившемся окне введите установленные по умолчанию данные для входа: логин Admin, пароль zabbix. 

  1. Перед вами откроется стандартная стартовая страница:

Установка агента Zabbix

Установка Zabbix-агента необходима для сбора статистических данных.

  1. Ранее мы уже устанавливали репозитарий Zabbix, поэтому для установки агента выполним команду:

yum install zabbix-agent

  1. В конфигурационном файле внесем правки. Открываем файл:

nano /etc/zabbix/zabbix_agentd.conf

  1. Меняем опцию:

Server=localhost

  1. Включаем автозапуск и стартуем Zabbix-агент:

systemctl enable zabbix-agent

systemctl start zabbix-agent

  1. Установка агента выполнена.

Добавление хоста на сервер Zabbix

Последним этапом настройки Zabbix является добавление хоста, мониторинг которого будет производиться. Сделаем это в веб-интерфейсе.

  1. Зайдите на сервер Zabbix, введя в строке браузера http://zabbix_server_IP/, где zabbix_server_IP – IP-адрес сервера. Для входа введите: логин Admin, пароль zabbix.
  2. Выберите Configuration (Настройки), выберите пункт Hosts (Хосты) и нажмите Create host (Создать хост). Укажите данные вашего хоста, а именно его название и IP-адрес.
  3. После ввода информации кликните Add (Добавить) и нажмите Update (Обновить).

Добавление хоста на Zabbix-сервер выполнено.

Всё ещё остались вопросы?