Как установить и настроить Zabbix в Debian 9 Linux

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

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

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

Подготовка

Пользователь, под которым вы вошли в систему, должен иметь права sudo, чтобы иметь возможность устанавливать пакеты.

Создание базы данных MySQL

Zabbix поддерживает как MySQL / MariaDB, так и PostgreSQL . В этом руководстве мы будем использовать MariaDB в качестве серверной части базы данных.

Если на вашем сервере Debian не установлен MariaDB, установите его, следуя этим инструкциям .

Войдите в консоль MySQL:

sudo 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 на Debian

На момент написания этой статьи последней стабильной версией Zabbix была версия 4.0. Пакеты Zabbix, доступные в репозиториях Debian, часто устарели, поэтому мы будем использовать официальный репозиторий Zabbix .

1. Установка Zabbix

Загрузите последний пакет .deb репозитория Zabbix с помощью следующей команды wget :

wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb

После загрузки файла установите его с помощью:

sudo apt install ./zabbix-release_4.0-2+stretch_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.

Откройте файл конфигурации, раскомментируйте строку часового пояса и измените ее на свой часовой пояс. Вы можете найти полный список часовых поясов, поддерживаемых 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 сервера

Импортируйте файл дампа MySQL, который включает исходную схему и данные для сервера Zabbix с MySQL.

gunzip < /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 Mon 2019-01-28 15:37:21 CST; 35s ago
 Main PID: 27632 (zabbix_server)
   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. Прокрутите вниз, чтобы убедиться, что все установлено и настроено правильно. После проверки нажмите « Next step чтобы продолжить.

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

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

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

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

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

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

После входа в систему вы будете перенаправлены на панель администрирования Zabbix.

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

Добавление нового хоста на Zabbix сервер

Процедура добавления нового хоста для мониторинга к Zabbix серверу состоит из двух шагов.

Во-первых, вам необходимо установить агент Zabbix на удаленный хост, а затем добавить хост на сервер Zabbix через веб-интерфейс.

Установка Zabbix агента

В этом руководстве предполагается, что хост-машина также использует Debian 9.

Как и при установке Zabbix сервера, выполните следующие команды, чтобы включить Zabbix репозиторий:

wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.debsudo apt install ./zabbix-release_4.0-2+stretch_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 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 в свою систему Debian и узнали, как добавлять новые хосты, которые вы хотите отслеживать.

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

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

Оставьте комментарий