
Zabbix — один из самых популярных инструментов мониторинга с открытым исходным кодом. Zabbix собирает метрики с сетевых устройств, систем и приложений, обеспечивая их бесперебойную работу. В случае возникновения проблем Zabbix отправит уведомления различными способами.
Zabbix можно развернуть для мониторинга с использованием агента и без него. Агент Zabbix занимает мало места и может работать на различных платформах, включая Linux, UNIX, macOS и Windows.
В этом руководстве описывается установка и настройка последней версии Zabbix 4.0 на сервере Ubuntu 18.04 с использованием MySQL в качестве базы данных. Мы также покажем, как установить агент Zabbix на удалённый хост и добавить его к серверу Zabbix.
Предпосылки
Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Создание базы данных MySQL
Zabbix поддерживает MySQL/MariaDB и PostgreSQL . В этом руководстве мы будем использовать MySQL в качестве бэкэнда базы данных.
Если на вашем сервере Ubuntu еще не установлен MySQL, вы можете выполнить установку, следуя этим инструкциям .
Войдите в оболочку 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 на Ubuntu
На момент написания этой статьи последней стабильной версией Zabbix была версия 4.0. Пакеты Zabbix, доступные в репозиториях Ubuntu, часто устаревают, поэтому мы будем использовать официальный репозиторий Zabbix .
1. Установка Zabbix
Загрузите последний пакет репозитория Zabbix .deb с помощью следующей команды wget :
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
После загрузки файла добавьте репозиторий Zabbix в вашу систему Ubuntu 18.04, введя:
sudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Обновите индекс пакетов и установите сервер Zabbix, веб-интерфейс с поддержкой базы данных MySQL и агент Zabbix:
sudo apt updatesudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent
Приведенная выше команда также установит Apache , PHP и все необходимые модули PHP.
2. Настройка PHP для интерфейса Zabbix
Во время установки создаётся файл конфигурации Apache, содержащий все необходимые настройки Apache и PHP. Вам нужно лишь внести небольшое изменение и указать подходящий часовой пояс .
Откройте файл конфигурации, раскомментируйте строку timezone и измените её на свой часовой пояс. Полный список часовых поясов, поддерживаемых PHP, можно найти здесь .
/etc/apache2/conf-enabled/zabbix.conf
... 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 America/Denver ...
После этого сохраните файл конфигурации и перезапустите службу Apache, чтобы изменения вступили в силу:
sudo systemctl restart apache2
3. Настройка базы данных MySQL для сервера Zabbix
Установочный пакет Zabbix предоставляет файл дампа, который включает в себя начальную схему и данные для сервера Zabbix с MySQL.
Импортируйте файл дампа MySQL, выполнив:
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
При появлении запроса введите ранее созданный пароль пользователя. В случае успешного входа вывод не производится.
Далее нам необходимо отредактировать конфигурацию Zabbix и установить пароль базы данных.
Откройте файл конфигурации в вашем редакторе:
sudo nano /etc/zabbix/zabbix_server.conf
Найдите следующий раздел, раскомментируйте директиву DBPassword и добавьте пароль базы данных.
/etc/zabbix/zabbix_server.conf
... ### 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-agentsudo systemctl enable zabbix-server zabbix-agent
Чтобы проверить, запущен ли сервер Zabbix, введите:
sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago Main PID: 14293 (zabbix_server) Tasks: 34 (limit: 2319) CGroup: /system.slice/zabbix-server.service ...
Установка и настройка Zabbix Frontend
Веб-интерфейс Zabbix написан на PHP и позволяет нам настраивать сервер, просматривать собранные данные и добавлять узлы, которые мы хотим отслеживать.
Прежде чем начать использовать веб-интерфейс, нам необходимо его установить.
Откройте ваш любимый браузер и введите доменное имя вашего сервера или публичный IP-адрес, а затем /zabbix :
http(s)://your_domain_or_ip_address/zabbix
На первом экране вы увидите приветственное сообщение. Нажмите Next step , чтобы продолжить.

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

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

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

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

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

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

После входа в систему вы будете перенаправлены на панель администрирования Zabbix.
Отсюда вы можете начать настройку Zabbix и добавление новых узлов сети. Первым шагом должно стать изменение текущего пароля. Для этого перейдите на страницу профиля пользователя, нажав на значок профиля в верхней панели навигации.
Добавление нового хоста на сервер Zabbix
Процедура добавления нового узла для мониторинга на сервер Zabbix состоит из двух шагов.
Сначала вам необходимо установить агент Zabbix на удаленном хосте, а затем добавить хост к серверу Zabbix через веб-интерфейс.
Установка агента Zabbix
В этом руководстве предполагается, что на хост-компьютере также установлена ОС Ubuntu 18.04.
Как и при установке сервера Zabbix, выполните следующие команды, чтобы включить репозиторий Zabbix:
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.debsudo apt install ./zabbix-release_4.0-2+bionic_all.deb
Обновите индекс пакетов и установите пакет агента Zabbix:
sudo apt updatesudo apt 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
Найдите IP-адрес Server и измените его значение по умолчанию на IP-адрес вашего сервера Zabbix:
/etc/zabbix/zabbix_agentd.conf
... ### 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 :
/etc/zabbix/zabbix_agentd.conf
... ### 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 :
/etc/zabbix/zabbix_agentd.conf
... ### 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 Значение должно быть уникальной строкой:
/etc/zabbix/zabbix_agentd.conf
... ### Option: TLSPSKIdentity # Unique, case sensitive string used to identify the pre-shared key. # # Mandatory: no # Default: TLSPSKIdentity = PSK 001 ...
Наконец, найдите параметр TLSPSKFile , раскомментируйте его и настройте так, чтобы он указывал на ранее созданный общий ключ:
/etc/zabbix/zabbix_agentd.conf
... ### 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-agentsudo systemctl enable zabbix-agent
Далее вам необходимо добавить правило брандмауэра, которое разрешит трафик с вашего сервера Zabbix через TCP-порт 10050 .
Предположим, что вы используете UFW для управления своим брандмауэром и хотите разрешить доступ с IP-адреса 192.168.121.70 вам следует выполнить следующую команду:
sudo ufw allow proto tcp from 192.168.121.70 to any port 10050
Настройте новый хоста
Теперь, когда агент на удаленном хосте, который вы хотите отслеживать, установлен и настроен, следующим шагом будет регистрация хоста на сервере Zabbix.
Войдите в веб-интерфейс Zabbix сервера как администратор:
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 в своей системе Ubuntu и узнали, как добавлять новые узлы, которые вы хотите отслеживать.
Теперь вам следует ознакомиться с документацией Zabbix и узнать больше о настройке и использовании Zabbix.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
Мониторинг Ubuntu Zabbix Не используете Ubuntu 18.04?
Выберите другую ОС: центос 7 дебиан 9
Связанные руководства
- Как установить и настроить Zabbix на CentOS 7
- Как установить и настроить Nagios в Ubuntu 18.04
- Как установить Nagios в Ubuntu 20.04
- Как установить и настроить Zabbix в Debian 9 Linux
- Как установить сервер Minecraft на Ubuntu 18.04
- Как установить WordPress с Apache в Ubuntu 18.04
- Как установить Kodi в Ubuntu 18.04