Как установить и настроить Zabbix в Ubuntu 18.04

How To Install and Configure Zabbix on Ubuntu 18.04

8 Февраля 2021 | Ubuntu

В этом руководстве описывается, как установить и настроить последнюю версию Zabbix 4.0 на сервере Ubuntu 18.04 с использованием MySQL в качестве серверной части базы данных. Мы также покажем вам, как установить агент Zabbix на удаленный хост и добавить этот хост на сервер Zabbix.

Как установить и настроить Zabbix в Ubuntu 18.04

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

Zabbix можно развернуть для мониторинга на основе агентов и без них. Агент Zabbix занимает мало места и может работать на различных платформах, включая Linux, UNIX, macOS и Windows.

Прежде чем приступить

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями 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

Загрузите последний .deb пакет репозитория Zabbix с помощью следующей команды 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 update sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent 


   Приведенная выше команда также установит Apache , PHP и все необходимые модули PHP.

2. Настройка PHP для веб-интерфейса Zabbix

Во время установки создается файл конфигурации Apache, содержащий все необходимые настройки Apache и PHP. Вам нужно только внести небольшое изменение и установить соответствующий часовой пояс .

Откройте файл конфигурации, раскомментируйте строку часового пояса и измените ее на свой часовой пояс. Вы можете найти полный список часовых поясов, поддерживаемых PHP здесь .

/etc/apache2/conf-enabled/zabbix.conf
...
    <IfModule mod_php7.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 America/Denver
    </IfModule>
... 


   После этого сохраните файл конфигурации и перезапустите службу 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-agent sudo 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 чтобы продолжить.

Экран приветствия Zabbix

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

Предварительные требования для проверки Zabbix

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

Zabbix настроить подключение к базе данных

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

Щелкните, Next step чтобы продолжить.

Детали Zabbix сервера

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

Сводка до установки Zabbix

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

Установка Zabbix

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

Экран входа в Zabbix

После входа в систему вы будете перенаправлены на панель администрирования 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.deb sudo apt install ./zabbix-release_4.0-2+bionic_all.deb 


   Обновите индекс пакета и установите пакет агента Zabbix:

sudo apt update sudo 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 


   Найдите Server IP-адрес и измените его значение по умолчанию на 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-agent sudo systemctl enable zabbix-agent 


   Затем вам нужно добавить правило брандмауэра, которое разрешает трафик с вашего сервера Zabbix через порт TCP 10050 .

Предполагая, что вы используете UFW для управления своим брандмауэром и хотите разрешить доступ с 192.168.121.70 IP-адреса, выполните следующую команду:

sudo ufw allow proto tcp from 192.168.121.70 to any port 10050 

Настроить новый хост 

Теперь, когда агент на удаленном хосте, который вы хотите отслеживать, установлен и настроен, следующим шагом будет регистрация хоста на сервере Zabbix.

Войдите в веб-интерфейс Zabbix Server как пользователь с правами администратора:

http(s)://your_domain_or_ip_address/zabbix
 


   Оказавшись внутри, на верхней панели навигации щелкните значок Configuration , а затемHosts

Затем нажмите синюю Create host кнопку в правом верхнем углу экрана, и откроется страница конфигурации хоста:

Zabbix размещает хост

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

Zabbix шаблоны хостов

После этого щелкните 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 файле.

Шифрование хостов Zabbix

Наконец, чтобы добавить хост, нажмите синюю кнопку «Добавить» button .

Заключение 

Вы успешно установили последнюю версию Zabbix в свою систему Ubuntu и узнали, как добавлять новые хосты, которые вы хотите отслеживать.

Теперь вам следует проверить документацию Zabbix и узнать больше о том, как настроить и использовать Zabbix.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...