Т.к. у меня дома на моем микросервере (HP MicroServer Gen8 (4CPUs x 2,494Ghz, Intel Xeon CPU E3-1265L V2 2.50GHz, RAM 12Gb)) развернута одна VM (внутри гипервизора ESXi 5.5) специально под собственный мониторинг базирующейся на Zabbix 5 + Ubuntu 18.04 Server, вот только сперва я это сделал под Apache2, а вот размышляя чтобы бы оптимизировать пришел к выводу, а почему-бы не перевести на nginx. К тому же будет заметка. Я за быстроту и собственные наработки.

Шаг №1: Система Ubuntu 18.04 Server установлена у меня через FOG Project с применением файла ответов + настроечный скрипт на последующую работу + утилиты от VMware 5.5:

Шаг №2: Изменяю именование системы:

ekzorchik@srv-bionic:~$ sudo nano /etc/hosts
172.33.33.23 srv-zabbix.polygon.local srv-zabbix
ekzorchik@srv-bionic:~$ sudo nano /etc/hostname
srv-zabbix
ekzorchik@srv-bionic:~$ sudo reboot

Шаг №3: Устанавливаю nginx + сервис базы данных, т.е. mariadb и компоненты php для выполнения php скриптов:

ekzorchik@srv-zabbix:~$ sudo apt-get install -y nginx mariadb-server php7.2-fpm php7.2-mysql snmp libnet-snmp-perl snmp-mibs-downloader
ekzorchik@srv-zabbix:~$ sudo mysqladmin -u root password 712mbddr@
ekzorchik@srv-zabbix:~$ sudo rm /var/www/html/index.nginx-debian.html
ekzorchik@srv-zabbix:~$ nginx -V | head -n1
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.1  11 Sep 2018
TLS SNI support enabled
ekzorchik@srv-zabbix:~$ sudo nano /etc/php/7.2/fpm/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Europe/Moscow

Шаг №4: Создаю сайт под Zabbix для конфигурации Webсервиса nginx:

ekzorchik@srv-zabbix:~$ sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
ekzorchik@srv-zabbix:~$ sudo unlink /etc/nginx/sites-available/default
ekzorchik@srv-zabbix:~$ sudo unlink /etc/nginx/sites-enabled/default
ekzorchik@srv-zabbix:~$ sudo nano /etc/nginx/sites-available/zabbix
server {
listen 80;
root /usr/share/zabbix;
index index.php;
server_name 172.33.33.102;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php7.2-fpm:
fastcgi_pass unix:/var/run/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
ekzorchik@srv-zabbix:~$ sudo ln -s /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/zabbix
ekzorchik@srv-zabbix:~$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ekzorchik@srv-zabbix:~$ sudo pkill php7.2-fpm
ekzorchik@srv-zabbix:~$ sudo systemctl restart  nginx php7.2-fpm

Шаг №5: Прописываю репозитарии на установку Zabbix 5 в систему:

ekzorchik@srv-zabbix:~$ wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
ekzorchik@srv-zabbix:~$ sudo dpkg -i zabbix-release_5.0-1+bionic_all.deb
ekzorchik@srv-zabbix:~$ cat /etc/apt/sources.list.d/zabbix.list
deb http://repo.zabbix.com/zabbix/5.0/ubuntu bionic main
deb-src http://repo.zabbix.com/zabbix/5.0/ubuntu bionic main
ekzorchik@srv-zabbix:~$
ekzorchik@srv-zabbix:~$ sudo apt-get update

Шаг №6: Устанавливаю компонент Zabbix на работу с базой данных, создаю пользователя, пароль на пользователя и базу которая будет использована под сервис Zabbix:

ekzorchik@srv-zabbix:~$ sudo apt-get install -y zabbix-server-mysql
ekzorchik@srv-zabbix:~$ sudo mysql -u root -p712mbddr@ -e "create database db_zabbix character set utf8 collate utf8_bin"
ekzorchik@srv-zabbix:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_zabbix'@'localhost' identified by '612mbddr@'"
ekzorchik@srv-zabbix:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_zabbix.* to 'us_zabbix'@'localhost';"

Шаг №7: В комплекте установленного пакета связки mysql + Zabbix: zabbix-server-mysql присутствует структура формирующая базу данных, ее следует импортировать в созданную "Шаг №6" базу:

ekzorchik@srv-zabbix:~$ sudo zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u us_zabbix -p612mbddr@ db_zabbix

Шаг №8: Теперь настраиваю серверную часть Zabbix на взаимодействие с базой данных:

ekzorchik@srv-zabbix:~$ sudo cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.backup
ekzorchik@srv-zabbix:~$ sudo rm /etc/zabbix/zabbix_server.conf
ekzorchik@srv-zabbix:~$ sudo nano /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=db_zabbix
DBUser=us_zabbix
DBPassword=612mbddr@
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=5
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

Шаг №9: Устанавливаю Zabbix Frontend:

ekzorchik@srv-zabbix:~$ sudo apt-get install -y zabbix-frontend-php zabbix-nginx-conf zabbix-get

Шаг №10: Устанавливаю Zabbixагент на систему где у меня Zabbixсервер, на эту же:

ekzorchik@srv-zabbix:~$ sudo apt-get install -y zabbix-agent
ekzorchik@srv-zabbix:~$ sudo mv /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.backup
ekzorchik@srv-zabbix:~$ sudo nano /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
#EnableRemoteCommands=1
AllowKey=system.run[*]
LogRemoteCommands=1
Server=127.0.0.1, 172.33.33.102
ServerActive=127.0.0.1,172.33.33.102
Timeout=5
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1

Шаг №11: Запускаю сервер, и агент дабы после последующих если нужны будет перезагрузки сервера службы поднимались автоматически:

ekzorchik@srv-zabbix:~$ sudo systemctl enable zabbix-server zabbix-agent
ekzorchik@srv-zabbix:~$ sudo systemctl restart zabbix-server zabbix-agent

Шаг №12: Перехожу к первоначальной настройке Zabbix через Webинтерфейс:

http://IP&DNS/ - (http://172.33.33.102) после URL адрес становится вида http://172.33.3.102/setup.php и я нажимаю Next Step, проверяю что на этапе "Check of pre-requisites" все рекомендуемые настройки в статусе OK и только после этого нажимаю "Next Step", далее заполняю настройки взаимодействия будущего сервиса Zabbix с базой, пользователем и паролем:

и нажимаю Next Step

Указываю параметры базу, пользователя, пароля для Zabbix 5

Далее указываю

  • Host: localhost
  • Port: 10051
  • Name: 172.33.33.102

И нажимаю Next Step

Детальная информация о Zabbix-сервере

Проверяю результирующую и если все устраивает, то нажимаю Next Step

Проверяю результирующую и если все устраивает, то нажимаю Next Step

В случае успеха – впрочем по-другому у меня и быть не может вижу надпись: «Congratulations! You have successfully installed Zabbix frontend.

Configuration file "/usr/share/zabbix/conf/zabbix.conf.php" created.», а значит нажимаю Finish и перехожу к использованию только что самолично развернутого Zabbix сервиса версии 5 на Ubuntu 18.04 Server amd64

Установка завершена успешно

Шаг №13: Авторизуюсь на Webинтерфейсе Zabbix 5:

http://IP&DNS/index.php - (http://172.33.33.102/index.php)

  • Username: Admin
  • Password: zabbix
  • Remember me for 30 days: отмечаю галочкой

И нажимаю Sign in

И вот новый интерфейс вашего/моего мониторинга с которым я буду взаимодействовать на благо личного использования, как для моих проектов, так и для обслуживаемых узлов – как фрилансер:

Zabbxi 5 успешно установлен в связке Nginx + Ubuntu 18.04 Server

Шаг №14: Но вот, что еще нужно сделать – это дать возможность через Webинтерфейс менять язык интерфейса, чтобы если пишутся личные мануалы не забывать для себя же в первую очередь указывать именование, как на русском, так и на английском.

ekzorchik@srv-zabbix:~$ locale
LANG=en_US.UTF-8
LANGUAGE=en.US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
ekzorchik@srv-zabbix:~$ sudo locale-gen ru_RU.UTF-8
Generating locales (this might take a while)...
ru_RU.UTF-8... done
Generation complete.
ekzorchik@srv-zabbix:~$

Теперь через Web-интерфейс изменяю язык интерфейса с английского на русский:

http://IP&DNS (http://172.33.33.102) – user&pass – User Settings – User – и Language с English (en_GB) ставлю, как Russian (ru_RU), а затем нажимаю Update

Изменяем язык интерфейса Zabbix 5

И вот интерфейс изменился тут же на русскоязычный:

Web-интерфейс русифицировался

Вот теперь все намного приятнее к последующему использованию.

Итак, я для себя подготовил шпаргалку на тему как вместо Web-сервера Apache2 использовать быстродействующий nginx (Просто данный Web-сервис у меня везде, на всех сервисах, личных и корпоративных). На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.