CentOS – дистрибутив Linux созданный на базе Red Hat Enterprise Linux (RHEL) и имеющий свободно распространяемый код. Операционная система популярна среди сообщества разработчиков, имеет высокую надежность и гарантированную техническую поддержку.
Zabbix – это система мониторинга, позволяющая отслеживать и выявлять проблемы на техническом оборудовании или в работе сайтов. Данную систему используют на VDS, выделенных серверах, облачных сервисах, для мониторинга сетей и бизнес-показателей. Преимуществом Zabbix является открытый исходный код и совместимость с популярными операционными системами: Windows, Linux, FreeBSD, Mac OS. Также стоит отметить, у Zabbix есть подробная документация на русском языке и большое сообщество, которое всегда поможет найти ответы на интересующие вопросы. Узнать больше о Zabbix.
Установка Zabbix-сервера на CentOS возможна для версии не ниже седьмой. Перед установкой необходимо выполнить настройку веб-сервера, на который будет выполняться загрузка.
date
Если данные не соответствуют вашему региону, то для установки верного часового пояса введите команду (в нашем случае время – московское):
# \cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Чтобы выполнить настройку синхронизации времени применим утилиту chrony, устанавливаем и загружаем ее:
yum install chrony
systemctl enable chronyd
systemctl start chronyd
Еще раз выполняем команду date, чтобы проверить время системы.
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
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
systemctl start nginx
systemctl enable nginx
Установка СУБД MariaDB
mcedit /etc/yum.repos.d/mariadb.repo
yum install MariaDB-server MariaDB-client
systemctl start mariadb
systemctl enable mariadb
mysqladmin -u root password
Дважды введите пароль.
Установка PHP
yum install epel-release
rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --enable remi-php71
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
nano /etc/php.ini
date.timezone = "Europe/Moscow"
max_execution_time = 300
post_max_size = 16M
max_input_time = 300
max_input_vars = 10000
Чтобы сохранить корректировки нажмите Enter.
systemctl start php-fpm
systemctl enable php-fpm
Связка PHP и Nginx
nano /etc/nginx/nginx.conf
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.
nginx -t
Если все настройки сделаны правильно, то сообщение будет иметь вид:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful |
systemctl restart nginx
cd /usr/share/nginx/html
nano index.php
<?php phpinfo(); ?> |
Если перейти по ссылке http://<IP сервера>/ в строке браузера, то должна открыться информация о PHP и его настройках:
Установка Zabbix
Теперь рассмотрим как происходит установка Zabbix.
yum install https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
Настройка БД
Выполним настройку базы данных.
mysql -u root -p
CREATE DATABASE zabbixBD_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
zabbixBD_name – название базы данных.
GRANT ALL PRIVILEGES ON zabbixBD_name.* TO zabbixBD_user@localhost IDENTIFIED BY '123456';
zabbixBD_user – имя пользователя,
123456 – пароль от базы данных.
quit
cd /usr/share/doc/zabbix-server-mysql-*
gunzip create.sql.gz
mysql -u root -p zabbix < create.sql
Введите пароль, который был задан во время установке MariaDB.
Настройка Zabbix
nano /etc/zabbix/zabbix_server.conf
DBPassword=123456
123456 – ваш пароль.
DBName=zabbixBD_name
DBUser=zabbixBD_user
Запуск сервера Zabbix
systemctl enable zabbix-server
systemctl start zabbix-server
Настройка веб-сервера Nginx
nano /etc/nginx/nginx.conf
Строку set $root_path /usr/share/nginx/html; меняем на set $root_path /usr/share/zabbix;
systemctl restart nginx
После этого откроется страница настройки веб-интерфейса для Zabbix. Нажмите Next step.
Установка Zabbix-агента необходима для сбора статистических данных.
yum install zabbix-agent
nano /etc/zabbix/zabbix_agentd.conf
Server=localhost
systemctl enable zabbix-agent
systemctl start zabbix-agent
Последним этапом настройки Zabbix является добавление хоста, мониторинг которого будет производиться. Сделаем это в веб-интерфейсе.
Добавление хоста на Zabbix-сервер выполнено.