Установка и начальная настройка сервера мониторинга Zabbix на Ubuntu Server

Сервер Zabbix используется для сбора и анализа информации о состоянии узлов сети. В данной статье будет рассмотрен процесс его установки и развертывания веб-интерфейса для его управления. В качестве сервера баз данных мы будем использовать MariaDB/MySQL. Версия операционной системы, которая использовалась для написания инструкции — 18.04 (LTS), версия Zabbix — 4.2.




Подготовка сервера




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




1. Правильное время




Для получения актуальной информации необходимо, чтобы на сервере было правильное время.




Для этого сначала задаем правильную временную зону:




timedatectl set-timezone Europe/Moscow




* в данном примере задается московское время.




Затем устанавливаем и запускаем сервис синхронизации времени:




apt-get install chrony

systemctl enable chrony

systemctl start chrony




2. Настройка брандмауэра




Для работы сервера, открываем следующие порты:




ufw allow 80,443,10050,10051/tcp

ufw allow 10050,10051/udp




* где 80 — порт для http запросов (веб-интерфейс); 443 — для https запросов (веб-интерфейс); 10050 — порты для получения информации от zabbix агентов.




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




Управление сервером Zabbix будет осуществляться посредством веб-интерфейса. Для этого необходимо установить и настроить веб-сервер, СУБД и PHP.




СУБД




В данному инструкции мы будем использовать сервер баз данных mariadb.




Для установки вводим:




apt-get install mariadb-server




Разрешаем автозапуск сервера баз данных и запускаем mariadb:




systemctl enable mariadb

systemctl start mariadb




Задаем пароль для суперпользователя СУБД:




mysqladmin -u root password




* после ввода команды система потребует ввести пароль два раза.




Веб-сервер




Для наших целей будем использовать веб-сервер NGINX.




Для его установки вводим команду:




apt-get install nginx




Запускаем nginx и разрешаем его автозапуск:




systemctl enable nginx

systemctl start nginx




Открываем веб-браузер и переходим по ссылке http://<IP-адрес сервера>/ — мы должны увидеть окно приветствия:







PHP и PHP-FPM




Интерфейс zabbix разработан на PHP — наш веб-сервер должен обрабатывать скрипты, написанные на нем.




Устанавливаем php и необходимые компоненты:




apt-get install php php-fpm php-mysql php-pear php-cgi php-common php-ldap php-mbstring php-snmp php-gd php-xml php-gettext php-bcmath




Для настройки php, открываем файл:




nano /etc/php/7.2/fpm/php.ini




* где 7.2 — версия PHP. В вашем случае это может быть другая версия. Проверить можно командой php -v.




Редактируем следующие параметры:




date.timezone = "Europe/Moscow"

...

max_execution_time = 300

...

post_max_size = 16M

...

max_input_time = 300

...

max_input_vars = 10000




Разрешим запуск php-fpm и перезапустим его:




systemctl enable php7.2-fpm

systemctl restart php7.2-fpm




NGINX + PHP




Для того, чтобы NGINX обрабатывал PHP, открываем конфигурационный файл:




nano /etc/nginx/sites-enabled/default




В секции location добавляем параметр index:




location / {

        index  index.php;

        ...

    }




Внутри секции server добавим следующее:




  location ~ .php$ {

        set $root_path /var/www/html;

        fastcgi_buffer_size 32k;

        fastcgi_buffers 4 32k;

        fastcgi_pass unix:/run/php/php7.2-fpm.sock;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;

        include fastcgi_params;

        fastcgi_param DOCUMENT_ROOT $root_path;

    }




* где /var/www/html — корневой путь хранения скриптов; /run/php/php7.2-fpm.sock — путь до сокетного файла php-fpm (точное расположение файла можно посмотреть в конфигурационном файле /etc/php/7.2/fpm/pool.d/www.conf).




Проверяем настройки nginx:




nginx -t




И перезагружаем его:




systemctl restart nginx




Создаем index.php со следующим содержимым:




nano /var/www/html/index.php




<?php phpinfo(); ?>




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







Веб-сервер готов для работы с Zabbix Web.




Установка и настройка сервера Zabbix




Переходим к установке самого Zabbix сервера.




Установка




Сначала установим репозиторий последней версии Zabbix. Для этого переходим на страницу https://repo.zabbix.com/zabbix/ и переходим в раздел с самой последней версией пакета — затем переходим в ubuntu/pool/main/z/zabbix-release/ — копируем ссылку на последнюю версию релиза:







* в моем случае это ссылка на https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb. Чтобы понять, какое кодовое название нашей системы, вводим команду cat /etc/lsb-release | grep DISTRIB_CODENAME.




Скачиваем файл репозитория командой:




wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1%2Bbionic_all.deb




Устанавливаем его:




dpkg -i zabbix-release_4.2-1+bionic_all.deb




Обновляем списки пакетов:




apt-get update




Устанавливаем сервер, вводя команду:




apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-get




Настройка базы данных




Входим в оболочку ввода sql-команд:




mysql -uroot -p




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




> CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;




* мы создали базу zabbix.




Создаем пользователя для подключения и работы с созданной базой:




> 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 -v -u root -p zabbix < create.sql




* после ввода команды система запросит пароль. Необходимо ввести пароль, который мы задали после установки mariadb.




Настройка zabbix




Открываем конфигурационный файл zabbix:




nano /etc/zabbix/zabbix_server.conf




Добавляем строку:




DBPassword=zabbixpassword




* мы настраиваем портал на подключение к базе с паролем zabbixpassword, который задали при создании базы для zabbix.




И проверяем следующие строки:




...

DBName=zabbix

...

DBUser=zabbix

...




* имя базы и пользователя должны быть zabbix (как мы и создали в mariadb).




Создаем каталог для инклудов конфигурационных файлов (по какой-то причине, он может быть не создан при установке):




mkdir /etc/zabbix/zabbix_server.conf.d




Также создаем каталог для логов и задаем владельца:




mkdir /var/log/zabbix-server

chown zabbix:zabbix /var/log/zabbix-server




Запуск zabbix-server




Разрешаем автозапуск сервера мониторинга:




systemctl enable zabbix-server




После запускаем сам сервер zabbix:




systemctl start zabbix-server




Настройка nginx




При установке zabbix-web файлы портала копируются в каталог /usr/share/zabbix. Наш веб-сервер работает с каталогом /var/www/html.




Меняем это — открываем конфигурационный файл nginx:




vi /etc/nginx/sites-enabled/default




nano /etc/nginx/sites-enabled/default




Редактируем параметры root и set $root_path:




...

root /usr/share/zabbix;

...

set $root_path /usr/share/zabbix;

...




Перезапускаем nginx:




systemctl restart nginx




Установка портала для управления Zabbix




Открываем браузер и переходим по адресу http://<IP-адрес сервера>/ — откроется страница установки Zabbix Web. Кликаем по ссылке Next Step:







В следующем окне внимательно смотрим на результаты проверки нашего веб-сервера — справа мы должны увидеть все OK. Если это не так, проверяем настройки и исправляем предупреждения и ошибки, после перезапускаем страницу F5 для повторной проверки настроек.




Когда все результаты будут OK, кликаем по Next Step:







В следующем окне мы оставляем настройки подключения к базе как есть — дополнительно прописываем пароль, который задали при создании пользователя zabbix. После нажимаем Next Step:







* в нашем случае, пароль был zabbixpassword;




В следующем окне оставляем все как есть:







… и нажимаем Next Step.




В последнем окне мы проверяем настройки и кликаем Next Step.




Установка завершена — нажимаем Finish:







В открывшемся окне вводим логин Admin и пароль zabbix (по умолчанию) — откроется окно со сводной информацией по мониторингу:







Zabbix Agent




В качестве примера установим и настроим zabbix agent на наш сервер. Так как мы уже устанавливали репозиторий, установка агента выполняется командой:




apt-get install zabbix-agent




Откроем конфигурационный файл:




nano /etc/zabbix/zabbix_agentd.conf




Отредактируем следующую опцию:




Server=localhost




* в данном примере мы указываем агенту сервер Zabbix — мы может указать его имя или IP-адрес.




Разрешаем автозапуск агента и запускаем его:




systemctl enable zabbix-agent

systemctl start zabbix-agent




Источник: https://www.dmosk.ru/miniinstruktions.php?mini=zabbix-server-ubuntu



2021-03-07T22:10:22
Software