Logo
  • ГЛАВНАЯ
  • ОБО МНЕ
  • СЕРТИФИКАТЫ
nocip.ssh@mail.ru
Главная  >  Linux

Установка Zabbix на CentOS 7


Создана 13.08.2022
Отредактирована 01.02.2023
В данном примере мы рассмотрим установку Zabbix на виртуальной машине под OS Linux дистрибутива CentOS 7, для начала нам нужно:
  • Создать виртуальную машину и установить на неё CentOS 7, плюс выполним базовые настройки;
  • Выполнить сетевые настройки, чтобы сам host был доступен по ip адресу. Если конечно вы это не сделали при установке OS.
В примере ниже я буду использовать ip адрес 192.168.56.8 , так как настроил его на сетевом интерфейсе.
Переходим на сайт Zabbix для выбора платформы, в моём случае выбор был сделан следующим:
1. Выберите платформу
Далее на той же странице, есть пошаговая инструкция, как установить и настроить Zabbix.
2. Установите и сконфигурируйте Zabbix сервер для выбранной платформы
a. Установите репозиторий Zabbix

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all

b. Установите Zabbix сервер и агент

# yum install -y zabbix-server-mysql zabbix-agent

c. Установите Zabbix веб-интерфейс
Включите Red Hat Software Collections

# yum install -y centos-release-scl

Отредактируйте файл /etc/yum.repos.d/zabbix.repo и включите репозиторий zabbix-frontend.

[zabbix-frontend]
...
enabled=1
...

Установите пакеты веб-интерфейса Zabbix.

# yum install -y zabbix-web-mysql-scl zabbix-nginx-conf-scl

d. Создайте базу данных
Установите и запустите сервер базы данных.
Установка MariaDB
Установите MariaDB с помощью YUM и включите службу. 

# yum -y install mariadb-server mariadb

Перезагрузите процессы mariadb

# systemctl restart mariadb

Защитим базу данных с помощью mysql_secure_installation

# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.


Enter current password for root (enter for none): {нажимаем Enter}

Set root password? [Y/n] y
New password: xgP-aeR-Qlp-#fG
Re-enter new password: xgP-aeR-Qlp-#fG
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remoov 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

Thanks for using MariaDB!

Создадим базу данных/пользователя, где:
  • user - zabbix
  • password - xgP-aeR-Qlp-#fG
  • database (имя базы данных) - zabbix_db

# mysql -uroot -p
Enter password: xgP-aeR-Qlp-#fG
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix_db character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> create user zabbix@localhost identified by 'xgP-aeR-Qlp-#fG';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_db.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye

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

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix_db
Enter password: xgP-aeR-Qlp-#fG

Выключите опцию log_bin_trust_function_creators после импорта схемы базы данных.

# mysql -uroot -p
Enter password: xgP-aeR-Qlp-#fG
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

Запустите процессы

# systemctl start mariadb.service

# systemctl enable mariadb.service

e. Настройте базу данных для Zabbix
Отредактируйте файл /etc/zabbix/zabbix_server.conf

​### Option: DBName
#            Database name.
#
# Mandatory: yes
# Default:
# DBName=

DBName=zabbix_db

​### Option: DBPassword
#            Database password.
#            Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=

DBPassword=xgP-aeR-Qlp-#fG

f. Настройте PHP для веб-интерфейса
Отредактируйте файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, расcкомментируйте и настройте директивы 'listen' и 'server_name'.

server {
      listen               80;
      server_name 192.168.56.8;

Так как у меня нет доменного имени, то данный способ будет работать только при указании ip адреса в браузере.
Отредактируйте файл /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, добавьте nginx в директиву listen.acl_users.

listen.acl_users = apache,nginx

Затем расcкомментируйте строку и укажите свой часовой пояс.

; php_value[date.timezone] = Europe/Riga

Я из Москвы, поэтому указал часовой пояс вот так

php_value[date.timezone] = Europe/Moscow

g. Запустите процессы Zabbix сервера и агента
Запустите процессы Zabbix сервера и агента и настройте их запуск при загрузке ОС.

# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

h. Настройте firewall
В CentOS 7 по умолчанию нет сервиса iptables, вместо него имеется сервис firewalld. Ознакомиться для более подробной настройки firewalld можно здесь. 
Посмотреть состояние:

# systemctl status firewalld.service

Высветится вот такое сообщение, вы можете отключить его в /etc/firewalld/firewalld.conf. Поищите AllowZoneDrifting в этом файле и поменяйте yes на no.
 WARNING: AllowZoneDrifting is enabled.
Перезагрузите firewall

# systemctl restart firewalld.service

Посмотрите в какой зоне у нас сетевой интерфейс, после этого в зоне public мы и будем работать.

# firewall-cmd --get-active-zones
public
     interfaces: eth0

Посмотрите какой трафик разрешен

# firewall-cmd --zone=public --list-services --permanent
dhcpv6-client   ssh

Разрешите http, после этого проверьте какой трафик разрешен сейчас

# firewall-cmd --zone=public --add-service=http --permanent

Добавьте в зону public порт 10051 агента и 80 порт

# firewall-cmd --zone=public --permanent --add-port=10051/tcp

# firewall-cmd --zone=public --permanent --add-port=80/tcp

Проверьте успешность добавления порта/протокола с помощью операции

# firewall-cmd --zone=public --permanent --list-ports
10051/tcp 80/tcp

Перезагрузите firewall

# systemctl restart firewalld.service

Если нужно добавить службу https, для использования веб-сервером SSL/TLS

# firewall-cmd --zone=public --add-service=https --permanent

Если нужно удалить службу https

# firewall-cmd --zone=public --remove-service=https --permanent

Если нужно удалить порт из разрешенных портов, чтобы закрыть его для входящего трафика, то это делается так:

# firewall-cmd --zone=public --permanent --remove-port=10051/tcp

i. Настройте веб-интерфейс Zabbix
Откройте установленный веб-интерфейс Zabbix: http://192.168.56.8/setup.php
Проверьте предварительные условия, передвиньте ползунок вниз, везде должно быть OK, далее Next step
Настройте подключение к БД, введите:
  • Database name: zabbix_db
  • User: zabbix
  • Password: xgP-aeR-Qlp-#fG
Чтобы попасть в панель управления, нужно ввести логин и пароль по умолчанию:
  • Username: Admin
  • Password: zabbix
Руководство по Zabbix 5.0
Настройка
  • Первичная настройка

🔁

RetraR — Компьютерные игры для Nintendo Game Boy
Приветствуем всех любителей ретро-игровой индустрии на канале RetraR
RetraR - Computer games for Nintendo Game Boy 🌌🛸👽👾☄️🤖
RetraR - 任天堂ゲームボーイ用コンピュータゲーム 🎮🕹️👾

RetraR
RetraR
Канал ретро компьютерных игр

Оформить заказ

Нажимая на кнопку, вы даете согласие на обработку персональных данных

Спасибо за заказ

Ваш заказ принят в обработку. 

Мы свяжемся с вами в ближайшее время.