Поиск по сайту:

Как установить и настроить Zabbix для безопасного мониторинга удаленных серверов в CentOS 7


Автор выбрал программу Write for DOnations.

Введение

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

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

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

В этом руководстве вы настроите две машины. Один будет настроен как сервер, а другой как клиент, за которым вы будете следить. Сервер будет использовать базу данных MySQL для записи данных мониторинга и использовать Apache для обслуживания веб-интерфейса.

Предпосылки

Чтобы следовать этому руководству, вам понадобятся:

  • Два сервера CentOS 7 настроены в соответствии с брандмауэром. На одном сервере вы установите Zabbix; в этом руководстве он будет называться сервером Zabbix. Он будет контролировать ваш второй сервер; этот второй сервер будет называться вторым сервером CentOS.
  • На Zabbix-сервере должны быть установлены Apache, MySQL и PHP. Следуйте инструкциям по установке стека Linux, Apache, MySQL, PHP (LAMP) на CentOS 7, чтобы настроить их на своем сервере Zabbix.

Примечание. CentOS использует MariaDB вместо MySQL, но это не вызовет никаких проблем при следовании этому руководству.

Кроме того, поскольку вы будете использовать сервер Zabbix для доступа к ценной информации о вашей инфраструктуре, к которой вы бы не хотели, чтобы имели доступ неавторизованные пользователи, важно обеспечить безопасность вашего сервера, установив сертификат TLS/SSL. Это необязательно, но настоятельно рекомендуется. Вы можете следовать руководству Let’s Encrypt на CentOS 7, чтобы получить бесплатный сертификат TLS/SSL.

Шаг 1 — Установка Zabbix сервера

Во-первых, вам нужно установить Zabbix на сервер, где вы установили MySQL, Apache и PHP. Войдите на эту машину как пользователь без полномочий root:

  1. ssh sammy@zabbix_server_ip_address

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

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

Вы увидите следующий вывод:

Output
Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Preparing... ################################# [100%] Updating / installing... 1:zabbix-release-4.2-1.el7 ################################# [100%]

Очистить все записи для текущих включенных репозиториев из кеша:

sudo yum clean all

Затем установите сервер Zabbix и веб-интерфейс с поддержкой базы данных MySQL:

sudo yum install zabbix-server-mysql zabbix-web-mysql

В процессе установки вас спросят об импорте ключа GPG. Этот ключ проверит подлинность пакета, который вы устанавливаете. Чтобы завершить установку, примите ключ GPG, введя y и нажав ENTER, когда будет предложено сделать это.

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

sudo yum install zabbix-agent

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

Шаг 2 — Настройка базы данных MySQL для Zabbix

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

Войдите в MySQL как пользователь root, используя пароль root, который вы установили во время установки сервера MySQL:

  1. mysql -uroot -p

Создайте базу данных Zabbix с поддержкой символов UTF-8:

  1. create database zabbix character set utf8 collate utf8_bin;

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

  1. grant all privileges on zabbix.* to zabbix@localhost identified by 'your_zabbix_mysql_password';

Затем примените эти новые разрешения:

  1. flush privileges;

Это заботится о пользователе и базе данных. Выйдите из консоли базы данных:

  1. quit;

Затем импортируйте исходную схему и данные. Установка Zabbix предоставила вам файл, который настраивает это.

Выполните следующую команду, чтобы настроить схему и импортировать данные в базу данных zabbix. Используйте zcat, так как данные в файле сжаты.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Введите пароль для пользователя zabbix MySQL, которого вы настроили при появлении запроса.

Эта команда не выведет никаких ошибок, если она была выполнена успешно. Если вы видите сообщение об ошибке ОШИБКА 1045 (28000): Отказано в доступе для пользователя zabbix@localhost (с использованием пароля: YES), убедитесь, что вы использовали пароль для пользователя zabbix и не пользователь root.

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

sudo vi /etc/zabbix/zabbix_server.conf

Примечание. Чтобы узнать больше о текстовом редакторе vi и его преемнике vim, ознакомьтесь с нашим руководством по установке и использованию текстового редактора Vim на облачном сервере.

Найдите следующий раздел файла:

...
### Option: DBPassword                           
#       Database password. Ignored for SQLite.   
#       Comment this line if no password is used.
#                                                
# Mandatory: no                                  
# Default:                                       
# DBPassword=
...

Эти комментарии в файле объясняют, как подключиться к базе данных. Вам нужно установить значение DBPassword в файле на пароль для пользователя вашей базы данных. Войдите в режим вставки, нажав i, раскомментируйте DBPassword= и добавьте свой пароль для настройки базы данных:

...
# Mandatory: no                                  
# Default
DBPassword=your_zabbix_mysql_password
...

Когда вы закончите, нажмите ESC, чтобы выйти из режима вставки, затем :wq и ENTER, чтобы сохранить и выйти из файла.

Это позаботится о конфигурации сервера Zabbix. Далее вы внесете некоторые изменения в настройки PHP, чтобы веб-интерфейс Zabbix работал правильно.

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

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

sudo vi /etc/httpd/conf.d/zabbix.conf

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

...
<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

Примечание. Если SELinux работает в принудительном режиме, вам необходимо перевести его в разрешающий режим с помощью команды sudo setenforce 0, чтобы агент Zabbix мог работать свободно. Вы можете использовать это руководство, чтобы получить больше информации о механизме управления Security Enhanced Linux.

Теперь вы можете запустить сервер и агент Zabbix:

sudo systemctl start zabbix-server 
sudo systemctl start zabbix-agent 

Затем проверьте, правильно ли работает сервер Zabbix:

sudo systemctl status zabbix-server

Вы увидите следующий статус:

Output
● zabbix-server.service - Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2019-05-03 05:57:29 UTC; 2s ago Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) ...

Наконец, разрешите серверу и агенту запускаться во время загрузки:

  1. sudo systemctl enable zabbix-server
  2. sudo systemctl enable zabbix-agent

Сервер настроен и подключен к базе данных. Затем настройте веб-интерфейс.

Примечание. Как упоминалось в разделе «Предварительные условия», рекомендуется включить SSL/TLS на вашем сервере. Вы можете следовать этому руководству сейчас, чтобы получить бесплатный сертификат SSL для Apache в CentOS 7. После получения сертификатов SSL/TLS вы можете вернуться и завершить это руководство.

Шаг 4 — Настройка параметров веб-интерфейса Zabbix

Веб-интерфейс позволяет вам просматривать отчеты и добавлять хосты, которые вы хотите отслеживать, но для его использования требуется некоторая начальная настройка. Запустите браузер и перейдите по адресу http://имя_сервера_zabbix/zabbix/. На первом экране вы увидите приветственное сообщение. Нажмите Следующий шаг, чтобы продолжить.

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

Все значения в этой таблице должны быть в порядке, поэтому убедитесь, что они в порядке. Обязательно прокрутите вниз и просмотрите все предварительные условия. Убедившись, что все готово к работе, нажмите «Следующий шаг», чтобы продолжить.

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

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

На следующем экране вы можете оставить параметры со значениями по умолчанию.

Имя не является обязательным; он используется в веб-интерфейсе, чтобы отличить один сервер от другого, если у вас несколько серверов мониторинга. Нажмите Следующий шаг, чтобы продолжить.

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

Нажмите Следующий шаг, чтобы перейти к последнему экрану.

Настройка веб-интерфейса завершена. Этот процесс создает файл конфигурации /etc/zabbix/web/zabbix.conf.php, резервную копию которого вы можете использовать в будущем. Нажмите «Готово», чтобы перейти к экрану входа в систему. Пользователь по умолчанию — Admin, а пароль — zabbix.

Прежде чем войти в систему, настройте агент Zabbix на втором сервере CentOS.

Шаг 5 — Установка и настройка агента Zabbix

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

Войдите на второй сервер CentOS:

  1. ssh sammy@second_centos_server_ip_address

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

  1. sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm

Затем очистите кеш yum:

  1. sudo yum clean all

Затем установите агент Zabbix:

  1. sudo yum install zabbix-agent

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

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

Сначала сгенерируйте PSK:

  1. sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

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

  1. cat /etc/zabbix/zabbix_agentd.psk

Ключ будет выглядеть примерно так:

Output
a4374c8c3b55de472225dbf96aa7cd3ce6a34abc95d0eb2a601d954ee0cd4410

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

  1. sudo vi /etc/zabbix/zabbix_agentd.conf

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

Сначала вам нужно отредактировать IP-адрес сервера Zabbix. Найдите следующий раздел:

...
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       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.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1
...

Измените значение по умолчанию на IP вашего сервера Zabbix:

...
# Mandatory: no
# Default:
# Server=

Server=zabbix_server_ip_address
...

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

...
### 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=unencrypted
...

Затем раскомментируйте TLSConnect= и замените unencrypted на psk, чтобы настроить поддержку общего ключа:

...
TLSConnect=psk
...

Затем найдите раздел TLSAccept, который выглядит следующим образом:

...
### 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=unencrypted
...

Настройте входящие подключения для поддержки общих ключей, раскомментировав TLSAccept= и добавив psk:

...
TLSAccept=psk
...

Затем найдите раздел TLSPSKIdentity, который выглядит следующим образом:

...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
...

Выберите уникальное имя для идентификации вашего предварительного общего ключа, раскомментировав TLSPSKIdentity= и добавив выделенный код:

...
TLSPSKIdentity=PSK 001
...

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

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

...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
...

Раскомментируйте TLSPSKFile= и добавьте этот текст, чтобы указать агенту Zabbix файл PSK, который вы создали:

...
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...

Сохраните и закройте файл. Теперь вы можете запустить агент Zabbix и настроить его на запуск во время загрузки:

  1. sudo systemctl start zabbix-agent
  2. sudo systemctl enable zabbix-agent

На всякий случай проверьте правильность работы Zabbix агента:

  1. sudo systemctl status zabbix-agent

Вы увидите следующий статус, указывающий на то, что агент запущен:

Output
● zabbix-agent.service - Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2019-05-03 06:25:06 UTC; 28s ago ...

Агент будет прослушивать порт 10050 для соединений с сервером. Чтобы настроить доступ с определенных IP-адресов или подсетей, используйте богатую функциональность правил firewalld:

  1. sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="zabbix_server_ip_address/32" port protocol="tcp" port="10050" accept'

Расширенные правила позволяют создавать более сложные и настраиваемые правила firewalld, чтобы лучше контролировать брандмауэр. В этой команде вы добавляете правило, которое принимает трафик ipv4 от источника, который вы установили в качестве IP-адреса сервера Zabbix, на порт 10050 вашего второго сервера CentOS.

Затем перезагрузите firewalld, чтобы активировать новое правило:

  1. sudo firewall-cmd --reload

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

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

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

Войдите в веб-интерфейс Zabbix сервера, перейдя по адресу http://zabbix_server_name/zabbix/.

Когда вы вошли в систему, нажмите «Конфигурация», а затем «Хосты» на верхней панели навигации. Затем нажмите кнопку «Создать хост» в правом верхнем углу экрана. Откроется страница конфигурации хоста.

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

После добавления группы перейдите на вкладку «Шаблоны».

Введите Template OS Linux в поле поиска, а затем сразу же нажмите «Добавить» под строкой поиска, чтобы добавить этот шаблон на хост.

Далее перейдите на вкладку «Шифрование». Выберите PSK как для подключений к хосту, так и для подключений с хоста и снимите флажок Без шифрования для подключений с хоста. Затем установите идентификатор PSK на PSK 001, который является значением параметра TLSPSKIdentity агента Zabbix, который вы настроили ранее. Затем установите значение PSK для ключа, который вы сгенерировали для агента Zabbix. Он хранится в файле /etc/zabbix/zabbix_agentd.psk на машине агента.

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

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

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

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

Шаг 7 — Настройка уведомлений по электронной почте

Zabbix автоматически поддерживает несколько типов уведомлений: электронная почта, здесь.

Самый простой способ связи — электронная почта, и в этом руководстве будут настроены уведомления для этого типа носителя.

Нажмите «Администрирование», а затем «Типы мультимедиа» на верхней панели навигации. Вы увидите список всех типов носителей. Нажмите Электронная почта.

Настройте параметры SMTP в соответствии с настройками вашей службы электронной почты. В этом руководстве используются возможности SMTP Gmail для настройки уведомлений по электронной почте; если вам нужна дополнительная информация о настройке, см. раздел «Как использовать SMTP-сервер Google».

Примечание. Если вы используете двухэтапную аутентификацию в Gmail, вам необходимо сгенерировать пароль приложения для Zabbix. Вам не нужно запоминать его, вам нужно будет ввести пароль приложения только один раз во время установки. Инструкции по созданию этого пароля вы найдете в Справочном центре Google.

Вы также можете выбрать формат сообщения — HTML или обычный текст. Наконец, нажмите кнопку «Обновить» в нижней части формы, чтобы обновить параметры электронной почты.

Теперь создайте нового пользователя. Нажмите «Администрирование», а затем «Пользователи» на верхней панели навигации. Вы увидите список пользователей. Затем нажмите кнопку «Создать пользователя» в правом верхнем углу экрана. Откроется страница конфигурации пользователя.

Введите новое имя пользователя в поле Псевдоним и установите новый пароль. Далее добавляем пользователя в группу администратора. Введите Администраторы Zabbix в поле Группы и выберите его из предложенного списка.

После добавления группы перейдите на вкладку «Мультимедиа» и нажмите на подчеркнутую ссылку «Добавить». Вы увидите всплывающее окно.

Введите свой адрес электронной почты в поле «Отправить». Остальные параметры можно оставить со значениями по умолчанию. Нажмите кнопку «Добавить» внизу, чтобы отправить.

Теперь перейдите на вкладку «Разрешения». Выберите Zabbix Super Admin в раскрывающемся меню Тип пользователя.

Наконец, нажмите кнопку «Добавить» в нижней части формы, чтобы создать пользователя.

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

Теперь вы готовы получать оповещения. На следующем шаге вы создадите его для проверки настройки уведомлений.

Шаг 8 — Генерация тестового оповещения

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

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

  1. ssh sammy@second_centos_server_ip_address

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

  1. df -h

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

Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 958M 25G 4% /

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

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

  1. fallocate -l 20G /tmp/temp.img

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

Problem started at 10:49:25 on 2019.05.03
Problem name: Free disk space is less than 20% on volume /
Host: Second Centos Server
Severity: Warning

Original problem ID: 34

Вы также можете перейти на вкладку «Мониторинг», а затем «Панель мониторинга», чтобы просмотреть уведомление и его сведения.

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

  1. rm -f /tmp/temp.img

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

Заключение

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

Чтобы узнать больше о настройке инфраструктуры мониторинга, ознакомьтесь со статьей Как собрать метрики инфраструктуры с помощью Metricbeat в CentOS 7.