Характеристики
- Поддерживает MySQL, SQLite, PostgreSQL и IBM DB2.
- Мониторинг различных системных матриц, включая память, процессор, диск, процесс.
- Мониторинг сетевых устройств, оборудования, виртуальных машин, гипервизора VMware и VMware vCenter.
- Поддерживает несколько методов аутентификации, таких как, LDAP и Active Directory.
- Предоставляеи уведомление по электронной почте.
- Автообнаружение и автоматизированный сбор метрик.
- Распределенный мониторинг.
В этом руководстве мы объясним, как установить и настроить сервер мониторинга Zabbix на CentOS 8 и RHEL 8.
Шаг 1 – отключим SELinux
По умолчанию SELinux включен в CentOS 8.
Ранее мы подбродно разобрали этот вопрос:
Как отключить SELinux на RHEL 8 / CentOS 8
Рекомендуется отключить SELinux для правильной работы Zabbix.
Вы можете отключить SELinux, отредактировав файл /etc/selinux/config:
nano /etc/selinux/config
Измените следующую строку:
SELINUX=disabled
- 👨⚕️️ Реализация мандатного контроля доступа с помощью SELinux или AppArmor в Linux
- 👨⚕️️ Как временно или постоянно отключить SELinux
- Как проверить, что файлы и каталоги имеют правильный контекст безопасности SELinux
- Как скопировать контекст SELinux из одного каталога в другой
Шаг 2 – Установите сервер LAMP
Во-первых, вам необходимо установить веб-сервер Apache, сервер базы данных MariaDB, PHP и другое необходимое расширение PHP в вашей системе.
Выполните следующую команду, чтобы установить все пакеты:
dnf install -y httpd mariadb-server php php-cli php-common php-mbstring php-mysqlnd php-xml php-bcmath php-devel php-pear php-gd
После завершения установки откройте файл php.ini и настройте некоторые параметры:
nano /etc/php.ini
Измените следующие значения в соответствии с вашими требованиями:
memory_limit 256M
upload_max_filesize 16M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000
date.timezone = Europe/Moscow
systemctl start httpd systemctl start mariadb systemctl enable httpd systemctl enable mariadb
Шаг 3 – Настройте базу данных MariaDB
По умолчанию сервер MariaDB не защищен в CentOS 8.
Выполните следующую команду, чтобы защитить MariaDB:
mysql_secure_installation
Enter current password for root (enter for none): Press Enter Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Как только MariaDB защищен, войдите в оболочку MariaDB с помощью следующей команды:
mysql -u root -p
После входа в систему создайте базу данных и пользователя для Zabbix с помощью следующей команды:
MariaDB [(none)]> EXIT;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘zabbixpassword’’ at line 1
mysql> create database zabbix; mysql> create user ‘zabbix’@’localhost’ identified by ‘парользаббикс’; mysql> grant ALL on zabbix.* to ‘zabbix’@’localhost’; mysql> flush privileges;
Шаг 4 – Установите Zabbix сервер
Перед установкой Zabbix вам необходимо установить библиотеку libssh2, необходимую для Zabbix.
Вы можете установить ее с помощью следующей команды:
dnf install -y http://mirror.centos.org/centos/8.0.1905/AppStream/x86_64/os/Packages/libssh2-1.8.0-8.module_el8.0.0+189+f9babebb.1.x86_64.rpm
По умолчанию Zabbix недоступен в репозитории CentOS 8.
Поэтому вам нужно будет установить репозиторий Zabbix в вашей системе.
На момент написания этого руководства последняя версия Zabbix была Zabbix 4.4.
Вы можете установить пакет репозитория Zabbix 4.4, выполнив следующую команду:
dnf install -y https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
После создания репозитория выполните следующую команду, чтобы установить Zabbix сервер с другими необходимыми пакетами:
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-apache-conf
systemctl start zabbix-server systemctl start zabbix-agent systemctl start php-fpm systemctl enable zabbix-server systemctl enable zabbix-agent systemctl enable php-fpm
netstat -ant | grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::10050 :::* LISTEN tcp6 0 0 :::10051 :::* LISTEN tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 :::80 :::* LISTEN
Шаг 5 – Настройте Zabbix
Сначала вам нужно будет импортировать схему базы данных в базу данных Zabbix.
Вы можете импортировать ее с помощью следующей команды:
cd /usr/share/doc/zabbix-server-mysql zcat create.sql.gz | mysql -u zabbix -p zabbix
nano /etc/zabbix/zabbix_server.conf
Измените следующие строки:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbixpassword
Сохраните и закройте файл.
Затем настройте PHP для веб-интерфейса Zabbix, отредактировав следующий файл:
nano /etc/php-fpm.d/zabbix.conf
Измените значение часового пояса на желаемое значение, как показано ниже:
php_value[date.timezone] = Europe/Moscow
systemctl restart zabbix-server systemctl restart zabbix-agent systemctl restart php-fpm systemctl restart httpd systemctl restart mariadb
Шаг 6 – Настройка брандмауэра для Zabbix
Далее вам нужно будет разрешить порты Zabbix 10050 и 10051. и службу HTTP через firewalld.
Вы можете разрешить их с помощью следующей команды:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-port=10050/tcp firewall-cmd --permanent --add-port=10051/tcp
Теперь перезагрузите сервис firewalld для реализации изменений:
firewall-cmd --reload
Шаг 7 – Доступ к веб-интерфейсу Zabbix
Теперь откройте ваш любимый веб-браузер и введите URL-адрес http://ваш-адрес/zabbix.
Вы будете перенаправлены в мастер веб-установки Zabbix на следующем экране:
Нажмите на кнопку «next step».
Вы должны увидеть следующую страницу:
Заключение
Поздравляем! вы успешно установили Zabbix сервер на сервере CentOS 8
Статьи по теме:
Как установить агент Zabbix на Debian 9/8
Telebix: получать команды и отправлять информацию из инфраструктуры, контролируемой Zabbix
Zabbix Threat Control — плагин оценки уязвимости с помощью Zabbix
Как установить Zabbix и добавить удаленные хосты на Ubuntu 18.04
Как установить и настроить Zabbix на RHEL / CentOS 7
Как добавить мониторинг MySQL в Zabbix 3.2
Зачем отключать selinux? Его придумали не зря. Он прекрасно настраивается. Вам понадобится ввести всего 3-4 команды. Не отключайте selinux!
Чтобы не нагромождать руководство. Вы можете описать и мы обязательно дополним! Любые дополнения приветствуются
После ввода
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY ‘zabbixpassword’;
появляется ошибка
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘‘zabbixpassword’’ at line 1
zabbixpassword нужно заменить на будущий пароль, как понимаю.
Странно, по идее все правильно. Может он хочет 127.0.0.1 вместо локалхоста
Потому что прежде чем дать права пользователю на базу, его нужно создать!
mysql> create database zabbix;
mysql> create user ‘zabbix’@’localhost’ identified by ‘парользаббикс’;
mysql> grant ALL on zabbix.* to ‘zabbix’@’localhost’;
mysql> flush privileges;
Я думал он врятли начал с GRANT ALL PRIVILEGES ON
Я с эмулировал данную комбинацию как в инструкции и это привело к данной ошибке. Если можешь поправь чтоб те кто не понимают что значат команды могли без труда всё установить. Остальное всё написано правильно и работает, проверил.
Хорошо, спасибо за дополнение, добавлю!
zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2021-06-16 16:11:40 MSK; 6s ago
Process: 1789 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 1791 (code=exited, status=1/FAILURE)
июн 16 16:11:40 localhost.localdomain systemd[1]: zabbix-server.service: Main process exited, code=exited, status=1/FAILURE
июн 16 16:11:40 localhost.localdomain systemd[1]: zabbix-server.service: Failed with result ‘exit-code’.
Что делать если такая вот ошибка
zabbix-server.service – Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2021-06-16 16:11:40 MSK; 6s ago
Process: 1789 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 1791 (code=exited, status=1/FAILURE)
июн 16 16:11:40 localhost.localdomain systemd[1]: zabbix-server.service: Main process exited, code=exited, status=1/FAILURE
июн 16 16:11:40 localhost.localdomain systemd[1]: zabbix-server.service: Failed with result ‘exit-code’.
системный юнит скиньте