How to install zabbix agent on ubuntu 20.04/18.04/16.04 lts

Шаг 5: Добавление Хоста на Zabbix — Server Ubuntu Linux

По умолчанию Zabbix отслеживает только тот сервер, на котором он установлен. В этом разделе мы добавим Zabbix-Host на Zabbix-Server через браузер.

Итак, войдите в свой экземпляр Zabbix-сервера используя браузер.

В левой навигационной панели выберите пункт Configuration > > Hosts


Настройка хостов на Zabbix сервера

Перейдите в правый верхний угол и нажмите кнопку «Создать хост«. (Create host)


Создать хост

В появившемся окне заполните данные удаленного хоста, такие как имя хоста. видимое имя, IP-адрес, краткое описание и нажмите на кнопку «Выбрать» (Select) рядом с текстовым полем «Группы«.


Заполните все поля

В появившемся списке выберите пункт «Серверы Linux‘ и нажмите кнопку «Выбрать«.


Добавить группу хостов

Это приведет вас обратно, и вы сможете просмотреть только что добавленную группу, как показано ниже.


Добавить группу серверов Linux

Затем перейдите на вкладку «шаблоны» (Templates) и нажмите кнопку «Выбрать»  рядом с текстовым полем «Связать новые шаблоны» (Link new Templates).


Перейдите на вкладку шаблоны

Нажмите на кнопку «Выбрать«(Select) рядом с текстовым полем «Группа хостов«, как показано на рисунке.


Поиск группы хостов

Нажмите на опцию «Шаблоны/операционные системы» (Templates/Operating systems), как показано на рисунке.


выберите шаблоны опции операционной системы

Затем выберите опцию «Template OS Linux by Zabbix agent’ и нажмите кнопку «Выбрать» (Select).


Выберите шаблон OS Linux с помощью Zabbix агента

Затем нажмите на кнопку «Добавить» (Add).


Ссылка новый шаблон для Zabbix агента

Теперь ваш хост будет указан на панели мониторинга, как показано на рисунке ниже.


Удаленный хост добавлен на в Zabbix сервер

Step 8: Configure PSK encryption on the Zabbix Agent (Linux)

Zabbix supports encrypted communications between Zabbix server and Zabbix agent using Transport Layer Security (TLS) protocol v.1.2. You can use certificate-based and pre-shared key-based encryption (PSK), but in this tutorial we will configure PSK encryption.

a. Generate PSK key

Generate 256-bit (32 bytes) PSK key with openssl tool and save it with command:

And set the correct file permission on the newly created file:

Remember that you can always read your PSK key from the “” file :

b. Configure Zabbix agent to support PSK encryption

Open “” file with command “” and add this configuration anywhere in file:

Save and exit file. Keep in mind that “TLSPSKIdentity” can be anything, so for security reasons set something else – don’t use mine!

Don’t forget to restart Zabbix agent service after changing the configuration file:

c. Enable PSK encryption on the agent in Zabbix frontend

Communication between Zabbix agent and server is not yet encrypted because we have enabled PSK encryption on the agent side but not on the server side. 

We need to enable encryption on the server side so go to web frontend and select your “Hosts” tab under the “Configuration” section and find and click on your Linux hosts.

On the “Encryption” tab set PSK under “Connections from hosts” option and copy/paste “PSK identity” and “PSK” (key) that is configured on the Zabbix agent.

When you are done with configuration click the “Update” button just as shown in the image below. 

How to configure PSK encryption on Zabbix agent in the frontend

Keep in mind, that you can automate the configuration of the host encryption (PSK) on the frontend using the .

Возможные проблемы[править]

Не работает обнаружение при помощи ICMP Pingправить

В журнале /var/log/zabbix/zabbix_server.log присутствуют различные ошибки касающиеся команд fping, fping6:

failed: /usr/sbin/fping6: can’t create raw socket (must run as root?) : Permission denied
Для разрешения проблемы необходимо обеспечить запуск программ fping и fping6 с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то
chown root:zabbix /usr/sbin/fping
chown root:zabbix /usr/sbin/fping6
chmod 710 /usr/sbin/fping
chmod 710 /usr/sbin/fping6
chmod ug+s /usr/sbin/fping
chmod ug+s /usr/sbin/fping6

ping failed: *.*.*.*: Address family for hostname not supported
Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование fping6. Для этого в конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментируйте и оставьте без значения параметр
Fping6Location=

Также бывает полезно указать точное нахождение fping, в этом же файле директива:
FpingLocation=/usr/sbin/fping

Вы всегда можете проверить корректность работы команд fping и fping6 из терминала авторизовавшись пользователем zabbix:

# su zabbix -s /bin/sh
$ fping 192.168.0.1
192.168.0.1 is alive

Разрешения выполнения команды fping, управляемой control:

# control fping help
public: Any user can execute /usr/sbin/fping
netadmin: Only "netadmin" group members can execute /usr/sbin/fping
restricted: Only root can execute /usr/sbin/fping

Переключить control для fping:

# control fping public

Шаг 3 — Настройка Nginx для Zabbix

Для автоматической настройки Nginx установите пакет автоматической настройки:

sudo apt install zabbix-nginx-conf

В результате вы получите файл конфигурации , а также ссылку на него в каталоге конфигурации Nginx .

Затем вам нужно внести изменения в этот файл. Откройте файл конфигурации:

sudo nano /etc/zabbix/nginx.conf

Файл содержит автоматически сгенерированную конфигурацию серверного блока Nginx. Он содержит две строки, определяющие имя сервера и порт, который он прослушивает:

/etc/zabbix/nginx.conf

Раскомментируйте две строки и замените  на свое доменное имя. Ваши настройки будут выглядеть следующим образом:

/etc/zabbix/nginx.conf

Сохраните и закройте файл. Проведите тестирования, чтобы убедиться в отсутствии ошибок синтаксиса в файлах Nginx, и повторно загрузите конфигурацию:

  • sudo nginx -t
  • sudo nginx -s reload

Теперь, после настройки Nginx для обслуживания пользовательского интерфейса Zabbix, вы внесете некоторые изменения в настройку PHP, чтобы обеспечить правильность работы пользовательского интерфейса

Примечание. Как указывалось в разделе предварительных требований, рекомендуется включить на сервере SSL/TLS. Если вы хотите сделать это, перед тем как перейти к шагу 4, выполните действия нашего обучающего модуля о Let’s Encrypt в Ubuntu 20.04 для получения бесплатного сертификата SSL для Nginx. Этот процесс автоматически обнаружит ваш серверный блок Zabbix и выполнит настройку для HTTPS. После получения сертификата SSL/TLS вы можете вернуться и завершить прохождение этого обучающего модуля.

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

Для данного обучающего модуля вам потребуется следующее:

  • Два сервера Ubuntu 20.04, настроенных в соответствии с указаниями обучающего модуля Начальная настройка сервера для Ubuntu 20.04, включая пользователя без привилегий root с привилегиями sudo и настроенный брандмауэр . На одном сервере вы установите Zabbix. В этом обучающем модуле он будет называться сервер Zabbix. Он будет отслеживать ваш второй сервер, этот второй сервер будет называться второй сервер Ubuntu.

  • Для сервера, на базе которого будет работать сервер Zabbix, требуется установка Nginx, MySQL и PHP. Следуйте шагам 1–3 нашего обучающего руководства по набору LEMP Ubuntu 20.04 для их настройки на вашем сервере Zabbix.

  • Зарегистрированное доменное имя. В этом обучающем руководстве мы будем использовать . Вы можете купить доменное имя на Namecheap, получить его бесплатно на Freenom или воспользоваться услугами любого предпочитаемого регистратора доменных имен.

  • На вашем сервере Zabbix должны быть настроены обе нижеследующие записи DNS. Если вы используете DigitalOcean, ознакомьтесь с нашей документацией по DNS для получения подробной информации по их добавлению.

    • Запись A, где указывает на публичный IP-адрес вашего сервера Zabbix.
    • Запись A, где указывает на публичный IP-адрес вашего сервера Zabbix.

Кроме того, поскольку сервер Zabbix используется для доступа к ценной информации о вашей инфраструктуре, которую вам нужно защищать от несанкционированного доступа, очень важно обеспечить защиту сервера сертификатом TLS/SSL. Это необязательно, но настоятельно рекомендуется

Если вы хотите защитить ваш сервер, следуйте указаниям руководства Let’s Encrypt в Ubuntu 20.04 после шага 3 этого обучающего модуля.

Zabbix Agent

В качестве примера установим zabbix agent на наш сервер. Также мы настроим шифрованное соединение между сервером и агентом.

Установка и подключение агента

Так как мы уже устанавливали репозиторий, установка агента выполняется командой:

apt install zabbix-agent

Откроем конфигурационный файл:

vi /etc/zabbix/zabbix_agentd.conf

Отредактируем следующую опцию:

Server=127.0.0.1

* в данном примере мы указываем агенту сервер Zabbix — мы может указать его имя или IP-адрес.

Разрешаем автозапуск агента и перезапускаем его:

systemctl enable zabbix-agent

systemctl restart zabbix-agent

Переходим в панель управления сервером. Открываем Настройка — Узлы сети. Мы должны увидеть единственный узел Zabbix Server:

А справа должно быть состояние доступности ZBX:

Агент работает и настроен.

Включение шифрования

Чтобы обезопасить передачу данных между сервером и агентом, настроим шифрование по PSK ключу.

На агенте открываем конфигурационный файл:

vi /etc/zabbix/zabbix_agentd.conf

Приводим к виду 4 опции:

TLSConnect=psk

TLSAccept=psk

TLSPSKIdentity=PSK 001

TLSPSKFile=/etc/zabbix/agent_key.psk

Генерируем ключ:

openssl rand -hex 32 > /etc/zabbix/agent_key.psk

Смотрим его содержимое:

cat /etc/zabbix/agent_key.psk

Сохраняем — оно нам понадобиться.

Перезапускаем агента:

systemctl restart zabbix-agent

Переходим в веб-панель управления Zabbix. В списке узлов:

… кликаем по нашему серверу с установленным агентом.

Переходим на вкладку Шифрование. Выбираем подключение с PKS, ставим флажок только для PSK, вводим идентификатор (который задали при настройке агента в параметре TLSPSKIdentity), вводим сам ключ, который был сгенерирован в консоли агента:

Нажимаем Обновить для применения настроек.

Через пару минут наше состояние соединения с агентом должно быть, примерно, таким:

Шифрование настроено.

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

Установка агента на сервер, который вы хотите отслеживать, составляет только половину процесса. Каждый хост, который вы хотите отслеживать, должен быть зарегистрирован на сервере Zabbix, что вы можете сделать через веб-интерфейс.

Войдите в веб-интерфейс сервера Zabbix, перейдя по адресу ​​​ или :

После того, как вы выполните вход, нажмите Configuration (Настройка), затем Hosts (Хосты) на левой панели управления. Затем нажмите кнопку Create host​​​​​​ (Создать хост) в верхнем правом углу экрана. Откроется страница настройки хоста.

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

Перед тем как добавить группу, нажмите на вкладку Templates​​​.

Введите ​​​ в поле Search​​​ (Поиск) и затем выберите его из списка, чтобы добавить этот шаблон в хост.

Затем перейдите на вкладку Encryption (Шифрование). Выберите PSK для Connections to host (Входящие соединения на хост) и Connections from host​​​ (Исходящие соединения от хоста). Затем установите в PSK identity​​​ (Идентификация PSK) настройку , которая является значением настройки TLSPSKIdentity агента Zabbix, настроенного ранее. Затем установите значение PSK для ключа, который вы сгенерировали для агента Zabbix. Он хранится в файле  на компьютере агента.

Наконец, нажмите кнопку Add​​​ (Добавить) внизу формы для создания хоста.

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

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

Сервер Zabbix теперь отслеживает ваш второй сервер Ubuntu. Теперь настройте уведомления по электронной почте, чтобы знать о возникновении проблем.

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

Установим серверную часть Zabbix из “портов” (на момент написания актуальной версией была 3.0.2): перейдем в папку с портом zabbix3-server и установим его:

# cd /usr/ports/net-mgmt/zabbix3-server# make config recursive# make install clean

При конфигурации можно будет выбрать поддерживаемые опции. Лично я выбрал почти все (хоть это и увеличивает время сборки): поддерживаемую базу — MySQL, все остальное — оставил по умолчанию. Единственное, что не рекомендую выбирать для openipmi2.0.21_1 — это IPMI 2.0 RMCP+ encryption and authentication, вызывающий ошибку при компиляции (подробности здесь). В данном случае можно обойтись уже готовым пакетом openipmi:

# pkg install openipmi

Импортируем базу данных MySQL:

# cd /usr/local/share/zabbix3/server/database/mysql# mysql -u zabbix -p zabbix < schema.sql# mysql -u zabbix -p zabbix < images.sql# mysql -u zabbix -p zabbix < data.sql

Проверить результат можно так:

# mysql -u root -pmysql> use zabbix;mysql> show tables;

Последняя команда выводит список таблиц базы. Теперь нужно добавить данные для подключения к БД в конфиге zabbix-сервера. Копируем шаблон конфигурации:

# cp /usr/local/etc/zabbix3/zabbix_server.conf.sample /usr/local/etc/zabbix3/zabbix_server.conf

и открываем на редактирование:

# nano /usr/local/etc/zabbix3/zabbix_server.confDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=<password>

Проверяем расположение fping, необходимый для работы Template ICMP Ping:

# ls -l /usr/local/sbin/fping*-r-sr-xr-x 1 root wheel 30504 Jul 6 13:10 /usr/local/sbin/fping-r-sr-xr-x 1 root wheel 32360 Jul 6 13:10 /usr/local/sbin/fping6

и добавляем пути в конфиги:

# nano /usr/local/etc/zabbix3/zabbix_server.confFpingLocation=/usr/local/sbin/fpingFping6Location=/usr/local/sbin/fping6

Добавляем zabbix-сервер в автозагрузку и запускаем:

# sysrc zabbix_server_enable=YES# service zabbix_server start

или:

# service zabbix_server onestart

Проверяем запустился ли:

# service zabbix_server statuszabbix_server is running as pid 84045

или:

# service zabbix_server onestatus

Теперь необходимо установить frontend zabbix-сервера:

# cd /usr/ports/net-mgmt/zabbix3-frontend# make config

Лично я все настройки оставил по умолчанию (галочка на MYSQL И MYSQLI установлена, на остальных — снята). Устанавливаем:

# make install clean

По завершении добавим путь к zabbix-frontend в файл виртуальных сайтов Apache:

# nano /usr/local/etc/apache24/Includes/zabbix.confAlias /zabbix "/usr/local/www/zabbix3"<Directory /usr/local/www/zabbix3>AllowOverride AllOrder deny,allowDeny from allAllow from 10.1.1.3Allow from allRequire all granted</Directory>

выставляем права для пользователя, под которым запущен Apache (как правило, это www):

# chown -R www:www /usr/local/www/zabbix3

и на всякий случай, чтобы перечитались все конфиги, перезапускаем Apache:

# service apache24 restart

Теперь сможем заходить в веб интерфейс Zabbix по адресу: http://<IP адрес>/zabbix. Заходим и продолжаем конфигурирование Zabbix:

Жмем “Next” и далее производится проверка параметров, где я получил сообщение:

- Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time").- PHP option "always_populate_raw_post_data" must be set to "-1"

Возвращаемся к конфигу php и меняем параметры:

# nano /usr/local/etc/php.inimax_input_time = 300always_populate_raw_post_data = -1

перезапускаем Apache и обновляем страницу:

# service apache24 restart

Жмем “Next” и настраиваем доступ к БД:

Далее все настраивается по принципу “Next-Next-Next-Ok”, как на скриншотах:

По окончанию настройки:

Теперь можно произвести первый логин через веб-интерефс Zabbix. Для входа необходимо использовать логин Admin (с большой буквы), пароль — zabbix.

Step 2: Configure Zabbix agent on Linux OS

Keep in mind that in this tutorial I will use a Zabbix server with IP address 192.168.5.43 to monitor a Linux server called l01mylab that has IP address 192.168.5.114 – don’t forget to change those settings to match your environment. Feel free to check the official Zabbix documentation if you need more information about Zabbix agent configuration parameters.

Let’s update some Zabbix agent configuration parameters, open Zabbix agent configuration file with with your favorite text editor:

And update these parameters:

In the “” and “” parameters put the IP address of your Zabbix server or proxy!

“” can be anything, any description of the system or a word that can help you later on in on the Zabbix frontend.

“” parameter will automatically generate a hostname that is defined on the Linux server, however by default that parameter is ignored if the “” parameter is defined. You can either enter a hostname manually in the “” parameter or you can you let Zabbix agent do that automatically by commenting the “ line:

Finally, you must restart the Zabbix agent for the configuration to apply, so go to the next step.

Установка Web-интерфейса

  1. Устанавливаем Web-сервер Lighttpd и интерпретатор PHP php-cgi, сканер портов и сам Web-интерфейсZabbix
    aptitude install lighttpd php5-cgi zabbix-frontend-php nmap
  2. Выбираем тип БД для Web-интерфейса — МySQL
  3. Указываем пароль на БД для Web-интерфейса
  4. Настраиваем PHP

    sed -i '/cgi.fix_pathinfo=1/s/;//' /etc/php5/cgi/php.ini
  5. Включаем поддержку FastCGI

    lighttpd-enable-mod fastcgi
    lighttpd-enable-mod fastcgi-php
  6. Указываем путь к файлам Web-интерфейса

    echo "alias.url += ( \"/zabbix/\" => \"/usr/share/zabbix/\")" >> /etc/lighttpd/lighttpd.conf
  7. Настраиваем PHP

    sed -i 's/^post_max_size.*/post_max_size = 16M/g' /etc/php5/cgi/php.ini
    sed -i 's/^max_execution_time.*/max_execution_time = 300/g' /etc/php5/cgi/php.ini
    sed -i 's/^max_input_time.*/max_input_time = 300/g' /etc/php5/cgi/php.ini
    sed -i 's/^;date.timezone.*/date.timezone = \"Europe\/Moscow\"/g' /etc/php5/cgi/php.ini
  8. Применяем новые настройки Lighttpd

    service lighttpd restart

Шаг 3 — Настройка Nginx для Zabbix

Для автоматической настройки Nginx установите пакет автоматической настройки:

sudo apt install zabbix-nginx-conf

В результате вы получите файл конфигурации , а также ссылку на него в каталоге конфигурации Nginx .

Затем вам нужно внести изменения в этот файл. Откройте файл конфигурации:

sudo nano /etc/zabbix/nginx.conf

Файл содержит автоматически сгенерированную конфигурацию серверного блока Nginx. Он содержит две строки, определяющие имя сервера и порт, который он прослушивает:

/etc/zabbix/nginx.conf

Раскомментируйте две строки и замените  на свое доменное имя. Ваши настройки будут выглядеть следующим образом:

/etc/zabbix/nginx.conf

Сохраните и закройте файл. Проведите тестирования, чтобы убедиться в отсутствии ошибок синтаксиса в файлах Nginx, и повторно загрузите конфигурацию:

  • sudo nginx -t
  • sudo nginx -s reload

Теперь, после настройки Nginx для обслуживания пользовательского интерфейса Zabbix, вы внесете некоторые изменения в настройку PHP, чтобы обеспечить правильность работы пользовательского интерфейса

Примечание. Как указывалось в разделе предварительных требований, рекомендуется включить на сервере SSL/TLS. Если вы хотите сделать это, перед тем как перейти к шагу 4, выполните действия нашего обучающего модуля о Let’s Encrypt в Ubuntu 20.04 для получения бесплатного сертификата SSL для Nginx. Этот процесс автоматически обнаружит ваш серверный блок Zabbix и выполнит настройку для HTTPS. После получения сертификата SSL/TLS вы можете вернуться и завершить прохождение этого обучающего модуля.

9: Проверка настройки уведомлений

На этом этапе мы создадим тестовое предупреждение, чтобы убедиться, что все подключено правильно. По умолчанию Zabbix отслеживает на сервере объем свободного дискового пространства. Он автоматически обнаруживает все дисковые монтирования и добавляет соответствующие проверки. Эта проверка выполняется каждый час, поэтому вам нужно немного подождать, пока будет вызвано уведомление.

Создайте временный файл, достаточно большой, чтобы вызвать предупреждение об использовании файловой системы Zabbix. Для этого войдите на второй сервер Ubuntu.

Затем определите, сколько на сервере свободного места. Для этого можно вызвать df.

Команда df сообщит об использовании дискового пространства вашей файловой системы, а флаг -h вернет эти данные в удобочитаемом формате. Вы увидите примерно такой вывод:

В этом случае свободное пространство составляет 77 ГБ (ваш результат может отличаться).

Используйте команду fallocate, которая позволяет управлять выделением пространства, чтобы создать файл, который занимает более 80% доступного дискового пространства. Этого будет достаточно, чтобы вызвать предупреждение:

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

Вы также можете перейти во вкладку Monitoring и Dashboard, чтобы просмотреть уведомление и его детали.

Теперь, когда вы знаете, что оповещения приходят вам на почту, удалите созданный вами временный файл, чтобы освободить место на диске:

Через минуту Zabbix отправит сообщение о восстановлении пространства, и предупреждение исчезнет с главной панели.

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

Установка агента на сервер, который вы хотите отслеживать, составляет только половину процесса. Каждый хост, который вы хотите отслеживать, должен быть зарегистрирован на сервере Zabbix, что вы можете сделать через веб-интерфейс.

Войдите в веб-интерфейс сервера Zabbix, перейдя по адресу ​​​ или :

После того, как вы выполните вход, нажмите Configuration (Настройка), затем Hosts (Хосты) на левой панели управления. Затем нажмите кнопку Create host​​​​​​ (Создать хост) в верхнем правом углу экрана. Откроется страница настройки хоста.

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

Перед тем как добавить группу, нажмите на вкладку Templates​​​.

Введите ​​​ в поле Search​​​ (Поиск) и затем выберите его из списка, чтобы добавить этот шаблон в хост.

Затем перейдите на вкладку Encryption (Шифрование). Выберите PSK для Connections to host (Входящие соединения на хост) и Connections from host​​​ (Исходящие соединения от хоста). Затем установите в PSK identity​​​ (Идентификация PSK) настройку , которая является значением настройки TLSPSKIdentity агента Zabbix, настроенного ранее. Затем установите значение PSK для ключа, который вы сгенерировали для агента Zabbix. Он хранится в файле на компьютере агента.

Наконец, нажмите кнопку Add​​​ (Добавить) внизу формы для создания хоста.

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

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

Сервер Zabbix теперь отслеживает ваш второй сервер Ubuntu. Теперь настройте уведомления по электронной почте, чтобы знать о возникновении проблем.

Шаг 2 — Подключение официального репозитория Zabbix и исправление ошибок:)

В этом руководстве я буду объяснить, как установить сервер Zabbix в системе Ubuntu 20.04 LTS.

Zabbix доступен в репозиториях пакетов Ubuntu, но я рекомендую использовать официальный репозиторий Zabbix. Для подключения официальных репозиториев вам нужно перейти на страницу загрузки Zabbix и выбрать вашу конфигурацию. Моя конфигурация на скриншоте:

После выбора конфигурации — ниже появятся команды для подключения репозитория, в моем случае такие:

# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
# dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
# apt update

И здесь бабамс!!! Получаем ошибку: N: Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository ‘http://repo.zabbix.com/zabbix/ /ubuntu InRelease’ doesn’t support architecture ‘i386’

Самое интересное изучил штук 7 руководств по установке Zabbix на Ubuntu и нигде такой ошибки нет! Вопрос, а кто в интернете пишет эти руководства, на том же digitalocean и других гуру администрирования, это копипаст какой-то?!! Ладно как всегда иду на новозеландские англоязычные форумы и нахожу ответ не по Заббиксу, но решение проблемы понятно. Кому интересно это связано с мультиархитектурностью ядра Linux и поддержкой одновременно приложений i386 и amd64. Ниже команды для анализа вашего сервера по поддержке 32 и 64:

root@zab:/# dpkg --print-foreign-architectures
i386
root@zab:/# dpkg --print-architecture
amd64

Вот команда для удаления мульти-архитектуры (только если у вас нет 32-битных приложений), но запускать ее не надо. Я ее указал просто для полного раскрытие этой ошибки.

sudo dpkg --remove-architecture i386

РЕШЕНИЕ: Правим файл /etc/apt/sources.list.d/zabbix.list и добавляем опцию . Мой измененный файл:

deb arch=amd64 https//repo.zabbix.com/zabbix/6.0/ubuntu focal main
deb-src arch=amd64 https//repo.zabbix.com/zabbix/6.0/ubuntu focal main

И снова запускаем

# apt update

Всё, ошибки нет!

4: Настройка PHP для поддержки Zabbix

Веб-интерфейс Zabbix написан на PHP, потому PHP требует некоторых специальных настроек. В процессе установки Zabbix был создан файл конфигурации PHP-FPM, содержащий все необходимые параметры. Он находится в каталоге /etc/zabbix и автоматически загружается PHP-FPM. Вам нужно внести небольшие изменения в этот файл, для этого откройте его в редакторе:

В файле находятся параметры PHP для поддержки веб-интерфейса Zabbix. Часовой пояс закомментирован по умолчанию.

Раскомментируйте выделенную красным строку и укажите в ней свой часовой пояс.

Примечание: Список часовых поясов можно найти здесь.

Сохраните и закройте файл.

Перезапустите PHP-FPM:

Запустите сервер Zabbix:

Убедитесь, что сервер Zabbix запущен успешно:

Команда должна вернуть:

Теперь добавьте Zabbix в автозапуск:

Итак, сервер запущен и подключен к БД.

6: Установка и настройка агента Zabbix

Теперь мы настроим агентское программное обеспечение.

Перейдите на второй сервер Ubuntu:

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

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

Установите агент Zabbix:

Zabbix поддерживает шифрование на основе сертификатов. Настройка центра сертификации выходит за рамки данного руководства, но вы можете использовать предварительно согласованный ключ (PSK), чтобы обеспечить соединение между сервером и агентом.

Сгенерируйте PSK:

Скопируйте ключ, он понадобится при настройке хоста:

Ключ имеет примерно такой вид:

Откорректируйте настройки агента Zabbix, чтобы настроить безопасное соединение с сервером Zabbix. Откройте конфигурационный файл:

Файл содержит множество параметров, каждый из которых сопровождается описательным комментарием.

Укажите IP-адрес сервера Zabbix:

Замените стандартное значение строки Server= IP-адресом сервера Zabbix.

Затем найдите параметры для настройки безопасного соединения (раздел TSLConnect) и включите поддержку PSK. Найдите этот раздел:

Найдите раздел, который отвечает за настройку безопасного соединения к серверу Zabbix, а в нем найдите строку TLSConnect:

Настройте в ней поддержку вашего ключа:

Затем найдите раздел TLSAccept:

Настройте поддержку входящих соединений с использованием psk:

Найдите раздел TLSPSKIdentity:

Выберите уникальное имя для ключа PSK:

Теперь этот уникальный идентификатор ключа можно использовать при добавлении новых хостов через веб-интерфейс.

Затем укажите, в каком файле хранится ключ. Найдите опцию TLSPSKFile:

Чтобы указать агенту Zabbix место хранения ключа, добавьте такую строку:

Сохраните и закройте файл.

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

На всякий случай проверьте статус и убедитесь, что агент Zabbix успешно запущен:

Команда должна вернуть:

Агент прослушивает соединения с сервером по порту 10050. Разблокируйте этот порт в брандмауэре UFW.

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: