Как установить и настроить Zabbix на CentOS 7
Как установить и настроить Zabbix на CentOS 7
How To Install and Configure Zabbix on CentOS 7
В этом руководстве объясняется, как установить и настроить последнюю версию Zabbix 4.0 на сервере CentOS 7, используя MariaDB в качестве базы данных. Мы также покажем вам, как установить Zabbix агент на удаленный хост и добавить хост на Zabbix сервер.

Zabbix - это полнофункциональное программное обеспечение для мониторинга с открытым исходным кодом. Zabbix собирает показатели от ваших сетевых устройств, систем и приложений и обеспечивает их работоспособность. В случае каких-либо проблем Zabbix будет отправлять уведомления уведомления различными способами.
Zabbix может быть развернут для мониторинга на основе агентов и без агентов. Zabbix агент имеет небольшую площадь и может работать на различных платформах, включая Linux, UNIX, macOS и Windows.
Вы должны войти в систему как пользователь с доступом sudo, чтобы иметь возможность устанавливать пакеты.
Создание базы данных MySQL
Zabbix поддерживает MySQL / MariaDB и PostgreSQL в качестве серверов баз данных. В этом уроке мы будем использовать MariaDB в качестве базы данных.
Если на вашем сервере CentOS не установлена MariaDB, вы можете выполнить установку, следуя этим инструкциям .
Войдите в оболочку MySQL, введя следующую команду:
sudo mysql
В оболочке MySQL выполните следующую команду SQL, чтобы создать новую базу данных :
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
Затем создайте учетную запись пользователя MySQL и предоставьте доступ к базе данных :
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Убедитесь, что вы изменили
change-with-strong-password
с надежным паролем.
Когда закончите, выйдите из консоли mysql, набрав:
EXIT;
Установка Zabbix на CentOS
На момент написания этой статьи последняя стабильная версия Zabbix была версией 4.0. Пакеты Zabbix, доступные в репозиториях CentOS, устарели, поэтому мы будем использовать официальный репозиторий Zabbix .
1. Установка Zabbix
Загрузите последний пакет rpm для репозитория Zabbix с помощью следующей команды wget :
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
После загрузки файла добавьте репозиторий Zabbix в систему CentOS 7, введя:
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
Установите сервер Zabbix, веб-интерфейс с поддержкой баз данных MySQL и пакеты агентов Zabbix:
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Если Apache и PHP еще не установлены на вашем сервере, команда выше установит их.
2. Настройка PHP для веб-интерфейса Zabbix
Во время установки создается файл конфигурации Apache, который содержит все необходимые настройки Apache и PHP. Вам нужно только сделать небольшое изменение и установить соответствующий часовой пояс .
Откройте файл конфигурации, раскомментируйте строку часового пояса и измените ее на свой часовой пояс. Вы можете найти полный список часовых поясов, поддерживаемых PHP здесь .
...
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Riga
</IfModule>
...
После этого сохраните файл конфигурации и перезапустите службу Apache, чтобы изменения вступили в силу:
sudo systemctl restart httpd
3. Настройка базы данных MySQL для Zabbix сервера
Установочный пакет Zabbix предоставляет файл дампа, который содержит исходную схему и данные для Zabbix-сервера с MySQL.
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
При появлении запроса введите пароль пользователя, который вы создали ранее. В случае успеха не выводится.
Затем откройте файл конфигурации Zabbix в вашем редакторе:
sudo nano /etc/zabbix/zabbix_server.conf
Найдите следующий раздел, раскомментируйте DBPassword
директиву и добавьте пароль базы данных.
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
Сохраните и закройте файл.
Перезапустите Zabbix сервер и службы агента и включите их при загрузке системы:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Проверьте состояние Zabbix сервера:
sudo systemctl status zabbix-server
Вывод должен показать active (running)
:
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
Main PID: 5558 (zabbix_server)
CGroup: /system.slice/zabbix-server.service
...
Установка и настройка веб-интерфейса Zabbix
Веб-интерфейс Zabbix написан на PHP и позволяет нам настраивать сервер, просматривать собранные данные и добавлять хосты, которые мы хотим отслеживать.
Прежде чем начать использовать веб-интерфейс, нам нужно его установить.
Откройте ваш любимый браузер и введите доменное имя вашего сервера или публичный IP-адрес, а затем /zabbix
:
http(s)://your_domain_or_ip_address/zabbix
На первом экране вам будет представлено приветственное сообщение. Нажмите, Next step
чтобы продолжить.

Далее вы увидите следующую информационную страницу, где перечислены все предварительные условия PHP, необходимые для запуска веб-интерфейса Zabbix. Все значения в этой таблице следует прокрутить вниз, чтобы убедиться, что все настроено правильно. После подтверждения нажмите, Next step
чтобы продолжить.

На следующем экране мастер установки попросит вас ввести данные для подключения к вашей базе данных. Введите данные о пользователе и базе данных MySQL, которые вы ранее создали.

Ввод имени для сервера не является обязательным. Введите его, если у вас более одного сервера мониторинга Zabbix. Если предусмотрено, оно будет отображаться в строке меню и заголовках страниц.
Нажмите, Next step
чтобы продолжить.

На следующем экране вам будет показана сводная информация перед установкой.

Нажмите Next step
и после завершения установки вы попадете на страницу, сообщающую, что веб-интерфейс Zabbix установлен. Для доступа к странице входа в Zabbix нажмите на Finish
кнопку.

Пользователь по умолчанию - «Администратор», а пароль - «Zabbix». Введите имя пользователя и пароль и нажмите на Log in
кнопку.

После входа вы будете перенаправлены на панель администрирования Zabbix.
Отсюда вы можете начать настройку Zabbix и добавлять новые хосты. Ваш первый шаг должен изменить текущий пароль. Для этого перейдите на страницу профиля пользователя, нажав на значок профиля в верхней части навигации.
Добавление нового хоста на Zabbix сервер
Процедура добавления нового хоста для мониторинга на Zabbix сервере включает в себя два этапа.
Сначала вам нужно установить Zabbix агент на удаленном хосте, а затем добавить хост на Zabbix сервер через веб-интерфейс.
Установка агента Zabbix
В этом руководстве предполагается, что хост-машина также использует CentOS 7.
То же, что и при установке Zabbix-сервера, выполните следующие команды для включения репозитория Zabbix:
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
Установите пакет агента Zabbix:
sudo yum install zabbix-agent
Zabbix поддерживает два метода шифрования связи сервер-клиент: общий ключ (PSK) и шифрование на основе сертификатов. В этом руководстве мы будем использовать метод предварительных общих ключей (PSK) для защиты соединения между сервером и агентом.
Используйте следующую команду, чтобы сгенерировать предварительный общий ключ и сохранить его в файл:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
Ключ PSK будет выглядеть примерно так:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
Откройте файл конфигурации агента Zabbix:
sudo nano /etc/zabbix/zabbix_agentd.conf
Найдите Server
IP-адрес и измените его со значения по умолчанию на IP-адрес вашего Zabbix сервера:
...
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=127.0.0.1
...
Затем найдите TSLConnect
параметр, раскомментируйте его и установите для него psk
:
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
Найдите TLSAccept
опцию, раскомментируйте ее и установите psk
:
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
Затем найдите TLSPSKIdentity
параметр, раскомментируйте его и установите для него PSK 001
значение должно быть уникальной строкой:
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
Наконец, найдите TLSPSKFile
параметр, раскомментируйте его и установите так, чтобы он указывал на ранее созданный предварительный общий ключ:
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
После этого сохраните и закройте файл.
Запустите службу агента Zabbix и настройте ее запуск во время загрузки с помощью:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Затем вам нужно добавить правило брандмауэра, которое разрешает трафик с вашего Zabbix сервера через порт TCP 10050
.
Предполагая, что вы используете FirewallD
для управления брандмауэром и хотите разрешить доступ с 192.168.121.70
IP-адреса, вы выполните следующую команду:
sudo firewall-cmd --new-zone=zabbix --permanent
sudo firewall-cmd --zone=special --add-source=192.168.121.70/32
sudo firewall-cmd --zone=special --add-port=10050/tcp
Создать новый хост
Теперь, когда агент на удаленном хосте, который вы хотите отслеживать, установлен и настроен, следующим шагом будет регистрация хоста на Zabbix сервере.
Войдите в веб-интерфейс Zabbix Server как пользователь с правами администратора:
http(s)://your_domain_or_ip_address/zabbix
Оказавшись внутри, в верхней панели навигации нажмите на Configuration
, а затем Hosts
Затем нажмите синюю Create host
кнопку в верхнем правом углу экрана, и откроется страница конфигурации хоста:

Введите имя хоста и IP-адрес удаленного хост-компьютера, который вы хотите отслеживать. Добавьте хост в одну или несколько групп, выбрав группу из списка, или введите несуществующее имя группы, чтобы создать новую. Linux Servers
Группа является хорошим выбором.

После этого нажмите на Templates
вкладку. Выберите Template OS Linux
и нажмите на Add
ссылку, чтобы добавить шаблон на хост.
Далее нажмите на Encryption
вкладку. Выберите PSK для обоих Connections to host
и Connections from host
.
Задайте PSK identity
значение PSK 001
, значение TLSPSKIdentity
параметра агента Zabbix, который вы настроили на предыдущем шаге.
В поле PSK value
добавьте ключ, сгенерированный вами для агента Zabbix, который хранится в /etc/zabbix/zabbix_agentd.psk
файле.

Наконец, чтобы добавить хост, нажмите на синий Добавить button
.
Вывод
Вы успешно установили последнюю версию Zabbix в вашей системе CentOS и узнали, как добавлять новые хосты, которые вы хотите отслеживать.
Теперь вы должны проверить документацию Zabbix и узнать больше о том, как настроить и использовать Zabbix.