Установка Zabbix на Ubuntu Server c nginx + MySQL + php-fpm

zabbix-logo




Сегодня рассмотрим статью про установку системы мониторинга на Ubuntu Server 18.04. В качестве самой системы мониторинга будем использовать известную утилиту – Zabbix.




И так начнем:




Добавление Zabbix репозитория




Установите пакет конфигурации репозитория. Этот пакет содержит файлы конфигурации apt (менеджера пакетов приложений).




Cкачиваем пакет для Ubuntu Server 18.04




cd /tmp




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




Если у вас Debian или CentOS, то переходим по ссылке и ищем zabbix для вашего дистрибутива linux




После того как пакет загрузится произведем его установку:




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




Теперь обновим индексы пакетов:




sudo apt update




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




Для установки Zabbix сервера с MySQL набираем следующую команду:




sudo apt install zabbix-server-mysql zabbix-agent




Для установки Zabbix веб-интерфейса:




sudo apt install zabbix-frontend-php




Создание базы данных MySQL




Если у Вас еще не установлена БД MySQL, то сейчас самое время ее установить, в терминале набираем следующее:




sudo apt install mysql-server mysql-client




Теперь можно создать БД Zabbix:




mysql -uroot -p<пароль>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
mysql> quit;




Импорт данных




Теперь импортируйте изначальную схему и данные сервера на MySQL:




sudo zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix




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




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




Измените zabbix_server.conf для использования созданной базы данных. Например:




sudo nano /etc/zabbix/zabbix_server.conf




DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<пароль>




В параметре DBPassword используйте пароль от MySQL базы данных Zabbix




Запуск Zabbix




Самое время запустить процессы Zabbix сервера/агента и добавить их в автозагрузку:




sudo systemctl enable zabbix-server && sudo systemctl start zabbix-server
sudo systemctl enable zabbix-agent && sudo systemctl start zabbix-agent




Установка nginx и php-fpm




Добавим сторонний репозиторий (более актуальные версии nginx и php)




sudo add-apt-repository ppa:ondrej/php
sudo apt update




Ставим php и nginx. На момент написания статьи актуальная версия php7.3, а nginx 1.15.12




sudo apt install nginx php7.3 php7.3-common php7.3-zip php7.3-mysql php7.3-fpm php7.3-cli php7.3-cgi php7.3-curl php7.3-gd php7.3-json php7.3-mbstring php7.3-opcache php7.3-readline php7.3-xml php7.3-xmlrpc php-imagick php-memcache




Настройка nginx




С серверной частью закончили. Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный файл — /etc/nginx/conf.d/default.conf. Приводим его к следующему виду:




sudo nano /etc/nginx/conf.d/default.conf




server {
     listen      111.222.333.444:80;
     server_name zabbix.server.ru www.zabbix.server.ru;
     root        /usr/share/zabbix;
     index       index.php index.html index.htm;
location / {
         try_files $uri $uri/ /index.php?$args;
     if (!-e $request_filename)     
     {         rewrite ^(.+)$ /index.php?q=$1 last;     
     }     
     location ~* ^.+.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {         
               expires     max;     
     }     
location ~ [^/].php(/|$) {         
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;         
               if (!-f $document_root$fastcgi_script_name) {             
                   return  404;         
               }         
               fastcgi_pass    127.0.0.1:9001;         
               fastcgi_index   index.php;         
               include         /etc/nginx/fastcgi_params;     }  }




  • 111.222.333.444 – ваш IP адрес сервера
  • zabbix.server.ru – меняем на свой FQDN




Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.




nginx -t
sudo systemctl restart nginx




Настройка Zabbix Frontend




Идем в браузер и открываем адрес http://zabbix.server.ru. Вы должны увидеть установщик Zabbix 4.x.




zabbix-4.2




Нажимаем Next step и начинаем настройку web интерфейса. На следующей странице будет проверка требований. У вас должны быть выполнены все требования. В зависимости от системы и версии php, информация будет в каждом случае разниться.




zabbix-4.2




На следующем этапе указываем параметры доступа к базе данных,




zabbix-4.2




потом Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры.




zabbix-4.2




Потом будет страница с проверкой введенных данных.




zabbix-4.2




Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.




zabbix-4.2




После нажатия на Finish увидите окно авторизации Zabbix сервера.







Стандартная учетная запись для входа в web интерфейс zabbix следующая:




  • Пользователь Admin
  • Пароль zabbix




После логина увидите стандартный dashboard.







Настройка Zabbix Agent на Linux




Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на другую машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:




sudo nano /etc/zabbix/zabbix_agentd.conf




Server=192.168.13.117
ServerActive=192.168.13.117
Hostname=srvubn01 # имя вашего узла мониторинга, которое будет указано на сервере zabbix.




Перезапускаем агент:




sudo systemctl restart zabbix-agent




На этом установка сервера мониторинга Zabbix окончена.



[endtxt]



2019-05-10T06:45:11
Monitoring