Используемые термины: Zabbix , MariaDB , MySQL , PHP , NGINX .
В нашей статье мы рассмотрим процесс установки Zabbix версии 5 на CentOS 8 и развертывания веб-интерфейса для его управления. В качестве сервера баз данных мы будем использовать MariaDB/MySQL. Данная инструкция является обновлением инструкции по установке Zabbix 4 на CentOS 7 .
Готовим сервер
Время
Брандмауэр
SELinux
Устанавливаем веб-сервер
MariaDB
NGINX
PHP + PHP-FPM
NGINX + PHP
Устанавливаем сервер Zabbix
Установка
Настройка базы данных
Настройка zabbix
Запуск zabbix-server
Настройка nginx
Установка портала управления
Выбор русского языка в веб-интерфейсе
Настройка Zabbix агента на сервере
Возможные проблемы
Читайте также
Перед установкой Zabbix настрои корректное время, брандмауэр и отключим систему безопасности SELinux.
Для получения актуальной информации необходимо, чтобы на сервере было правильное время.
Для этого сначала задаем правильную временную зону:
timedatectl set-timezone Europe/Moscow
* в данном примере задается московское время.
Затем устанавливаем и запускаем сервис синхронизации времени:
dnf install chrony
systemctl enable chronyd —now
Для работы сервера, открываем следующие порты:
firewall-cmd —permanent —add-port={80/tcp,443/tcp,10051/tcp,10050/tcp,10050/udp,10051/udp}
firewall-cmd —reload
* где
В данной инструкции выполняется установка Zabbix на сервере с отключенным SELinux. Если есть желание его настроить, читаем статью Настройка SELinux в CentOS .
Для отключения SELinux вводим две команды:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
* первая команда отключает SELinux для текущей загрузки сервера, вторая — перманентно.
Управление сервером Zabbix будет осуществляться посредством веб-интерфейса. Для этого необходимо установить и настроить веб-сервер, СУБД и PHP.
В данному инструкции мы будем использовать сервер баз данных mariadb.
Для установки вводим:
dnf install mariadb-server
Разрешаем автозапуск сервера баз данных и запускаем mariadb:
systemctl enable mariadb —now
Задаем пароль для суперпользователя СУБД:
mysqladmin -u root password
* после ввода команды система потребует ввести пароль два раза.
Для наших целей будем использовать веб-сервер NGINX. Для его установки вводим команду:
dnf install nginx
Запускаем nginx и разрешаем его автозапуск:
systemctl enable nginx —now
Открываем веб-браузер и переходим по ссылке http://<IP-адрес сервера>/ — мы должны увидеть окно приветствия:
Интерфейс zabbix разработан на PHP — наш веб-сервер должен обрабатывать скрипы, написанные на нем. На момент написания инструкции веб-интерфейс Zabbix Server работал под php версии 5.4. Если установить на CentOS PHP 7, при установке zabbix-web возникнут проблемы.
Устанавливаем php и необходимые компоненты:
dnf install php php-fpm php-mysqli
Для настройки php, открываем файл:
vi /etc/php.ini
Редактируем следующие параметры:
date.timezone = «Europe/Moscow»
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
* где:
Запустим php-fpm:
systemctl enable php-fpm —now
Для того, чтобы NGINX обрабатывал PHP, открываем конфигурационный файл:
vi /etc/nginx/nginx.conf
В разделах http — server добавляем настройку для обработки запросов php ( location ~ .php$ ):
http {
…
server {
listen 80 default_server;
…
location ~ .php$ {
set $root_path /usr/share/nginx/html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
}
}
…
}
* где /usr/share/nginx/html — корневой путь хранения скриптов.
Проверяем настройки nginx:
nginx -t
И перезагружаем его:
systemctl restart nginx
В домашнем каталоге NGINX создаем index.php со следующим содержимым:
vi /usr/share/nginx/html/index.php
<?php phpinfo(); ?>
Открываем веб-браузер и переходим по ссылке http://<IP-адрес сервера>/ — теперь мы должны увидеть сводную информацию по PHP и его настройкам:
Веб-сервер готов для работы с Zabbix Web.
Переходим к установке самого Zabbix сервера.
Сначала установим репозиторий последней версии Zabbix. Для этого переходим на страницу загрузки zabbix 5 для CentOS 8 и копируем ссылку на последнюю версию дистрибутива:
* в моем случае это ссылка на версию 5.0-1 .
Устанавливаем репозиторий командой:
dnf install https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
Устанавливаем сервер, вводя команду:
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
Входим в оболочку ввода sql-команд:
mysql -uroot -p
Создаем базу данных:
> CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
* мы создали базу zabbix . Принципиально важно, чтобы кодировка была utf8 и utf8_bin .
Создаем пользователя для подключения и работы с созданной базой:
> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbixpassword’;
* в данном примете мы создали пользователя zabbix с доступом к базе zabbix и паролем zabbixpassword .
Выходим из sql-оболочки:
> q
В составе zabbix идет готовая схема для СУБД MySQL/MariaDB или postgreSQL. В нашем случае, нам нужен MySQL.
Для применения схемы переходим в каталог:
cd /usr/share/doc/zabbix-server-mysql
Распаковываем архив с дампом базы:
gunzip create.sql.gz
Восстанавливаем базу их дампа:
mysql -u root -p zabbix < create.sql
* после ввода команды система запросит пароль. Необходимо ввести пароль, который мы задали после установки mariadb.
Открываем конфигурационный файл zabbix:
vi /etc/zabbix/zabbix_server.conf
Добавляем строку:
DBPassword=zabbixpassword
* мы настраиваем портал на подключение к базе с паролем zabbixpassword , который задали при создании базы для zabbix.
И проверяем следующие строки:
…
DBName=zabbix
…
DBUser=zabbix
…
* имя базы и пользователя должны быть zabbix (как мы и создали в mariadb).
Задаем владельца для каталога /etc/zabbix/web :
chown apache:apache /etc/zabbix/web
* в данном примере мы указали владельцем apache , так как именно от него по умолчанию работает php-fpm.
Разрешаем автозапуск сервера мониторинга и стартуем его:
systemctl enable zabbix-server —now
При установке zabbix-web файлы портала копируются в каталог /usr/share/zabbix. Наш веб-сервер работает с каталогом /usr/share/nginx/html.
Меняем это — открываем конфигурационный файл nginx:
vi /etc/nginx/nginx.conf
Редактируем параметры root и set $root_path:
server {
listen 80 default_server;
…
root /usr/share/zabbix;
location ~ .php$ {
set $root_path /usr/share/zabbix;
…
}
Перезапускаем nginx:
systemctl restart nginx
Установка через веб выполняется в несколько шагов.
1. Открываем браузер и переходим по адресу http://<IP-адрес сервера>/ — откроется страница установки Zabbix 5. Кликаем по ссылке Next Step :
2. В следующем окне внимательно смотрим на результаты проверки нашего веб-сервера — справа мы должны увидеть все OK :
Если это не так, проверяем настройки и исправляем предупреждения и ошибки, после перезапускаем страницу F5 для повторной проверки настроек.
Когда все результаты будут OK , кликаем по Next Step :
3. В следующем окне мы оставляем настройки подключения к базе как есть — дополнительно прописываем пароль, который задали при создании пользователя zabbix (в нашем примере, zabbixpassword ). После нажимаем Next Step :
4. В следующем окне оставляем все как есть:
… и нажимаем Next Step .
5. В последнем окне мы проверяем настройки и кликаем Next Step .
6. Установка завершена — нажимаем Finish :
7. В открывшемся окне вводим логин Admin и пароль zabbix (по умолчанию) — откроется окно со сводной информацией по мониторингу:
Устанавливаем пакет glibc-langpack-ru:
dnf install glibc-langpack-ru
В веб-интерфейсе переходим в меню в раздел User settings :
В выпадающем списке «Language» выбираем русский язык:
Сохраняем настройки.
В качестве примера установим и настроим zabbix agent на наш сервер. Так как мы уже устанавливали репозиторий, установка агента выполняется командой:
dnf install zabbix-agent
Откроем конфигурационный файл:
vi /etc/zabbix/zabbix_agentd.conf
Отредактируем следующую опцию:
Server=localhost
* в данном примере мы указываем агенту сервер Zabbix — мы может указать его имя или IP-адрес.
Разрешаем автозапуск агента и запускаем его:
systemctl enable zabbix-agent —now
Ошибка появляется во время установки zabbix в веб-интерфейсе.
Причина: zabbix отправляет размер заголовка больше, чем Nginx может прочитать.
Решение: увеличить размер заголовка в конфигурационном файле nginx:
vi /etc/nginx/nginx.conf
…
location ~ .php$ {
…
fastcgi_buffer_size 32k;
fastcgi_buffers 4 32k;
…
…
Перезапускаем nginx:
systemctl restart nginx
Данную ошибку можно увидеть в веб-консоли управления:
Причина: как правило, не запущена служба сервера.
Решение: разрешаем автозапуск сервиса:
systemctl enable zabbix-server
Запускаем службу:
systemctl start zabbix-server
Корректность запуска можно проверить командой:
systemctl status zabbix-server
1. Установка и настройка Zabbix-агента на CentOS
2. Установка и начальная настройка сервера мониторинга Zabbix на Ubuntu Server
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…