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

_ Автор выбрал Open Source Initiative, чтобы получить пожертвование в рамках программы Write for DOnations.

Вступление

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

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

Сервер Zabbix хранит свои данные в реляционной базе данных, которая работает на MySQL, PostgreSQL или https://www.oracle.com. /index.html[Oracle]. Вы также можете хранить исторические данные в базах данных nosql, таких как Elasticsearch и TimescaleDB. Zabbix предоставляет веб-интерфейс, чтобы вы могли просматривать данные и настраивать параметры системы.

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

Предпосылки

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

  • Два сервера CentOS 7, настроенные в соответствии с Initial Server Setup с CentOS 7, включая пользователя без полномочий root с привилегии sudo и firewall. На одном сервере вы будете устанавливать Zabbix; это руководство будет называть его * сервером Zabbix *. Он будет контролировать ваш второй сервер; этот второй сервер будет называться * вторым сервером CentOS *.

  • Сервер Zabbix требует установки Apache, MySQL и PHP. Следуйте How для установки Linux, Apache, MySQL, PHP ( ЛАМПА) Стек на CentOS 7, чтобы настроить их на вашем Zabbix сервере.

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

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

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

ssh @

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

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

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

OutputRetrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.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:

mysql -uroot -p

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

create database zabbix character set utf8 collate utf8_bin;

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

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

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

flush privileges;

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

quit;

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

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

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

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

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

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

sudo vi /etc/zabbix/zabbix_server.conf

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

/etc/zabbix/zabbix_server.conf

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

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

/etc/zabbix/zabbix_server.conf

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

Когда вы закончите, нажмите + 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 использует правильное время, вам нужно установить соответствующий часовой пояс.

/etc/httpd/conf.d/zabbix.conf

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

</IfModule>

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

Теперь перезапустите Apache, чтобы применить эти новые настройки:

sudo systemctl restart httpd

Теперь вы можете запустить 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:  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)
 ...

Наконец, включите сервер и агент для запуска во время загрузки:

sudo systemctl enable zabbix-server
sudo systemctl enable zabbix-agent

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

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

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

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

Изображение: https: //assets.digitalocean.com/cart_66486/Prerequisites_Cent.png [Предпосылки]

Все значения в этой таблице должны быть * OK *, поэтому убедитесь, что они есть. Обязательно прокрутите вниз и посмотрите на все предпосылки. Как только вы убедились, что все готово к работе, нажмите * Next step * для продолжения.

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

изображение: https: //assets.digitalocean.com/articles/cart_66209/DB_Connection.png [Соединение с БД]

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

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

изображение: https: //assets.digitalocean.com/articles/cart_66209/Server_Details.png [Zabbix Server Details]

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

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

Изображение: https: //assets.digitalocean.com/articles/cart_66209/Summary.png [Резюме]

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

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

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

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

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

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

ssh @

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

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

Далее очистите кеш yum:

sudo yum clean all

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

sudo yum install zabbix-agent

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

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

Сначала создайте PSK:

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

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

cat /etc/zabbix/zabbix_agentd.psk

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

Output

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

sudo vi /etc/zabbix/zabbix_agentd.conf

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

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

/etc/zabbix/zabbix_agentd.conf

...
### 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 сервера:

/etc/zabbix/zabbix_agentd.conf

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

Server=
...

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

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

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

/etc/zabbix/zabbix_agentd.conf

...
TLSConnect=
...

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

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

Сконфигурируйте входящие соединения для поддержки предварительных общих ключей, раскомментировав + TLSAccept = + и добавив + psk +:

/etc/zabbix/zabbix_agentd.conf

...
TLSAccept=
...

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

/etc/zabbix/zabbix_agentd.conf

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

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

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKIdentity=
...

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

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

/etc/zabbix/zabbix_agentd.conf

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

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

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKFile=
...

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

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Для правильной оценки убедитесь, что агент Zabbix работает правильно:

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:  since Fri 2019-05-03 06:25:06 UTC; 28s ago
 ...

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

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

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

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

sudo firewall-cmd --reload

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

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

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

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

изображение: https: //assets.digitalocean.com/articles/cart_66209/Login_Screen.png [Экран входа в Zabbix]

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

image: https: //assets.digitalocean.com/cart_66486/Create_Host_Cent.png [Создание хоста]

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

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

image: https: //assets.digitalocean.com/articles/cart_66209/Add_Template.png [Добавление шаблона на хост]

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

Затем перейдите на вкладку * Encryption *. Выберите * PSK * для обоих * Соединения с хостом * и * Соединения с хоста * и снимите флажок * Без шифрования * для * Соединения с хоста *. Затем установите * PSK identity * в + PSK 001 +, что является значением параметра * TLSPSKIdentity * агента Zabbix, который вы настроили ранее. Затем установите значение * PSK * для ключа, который вы сгенерировали для агента Zabbix. Это файл, который хранится в файле + / etc / zabbix / zabbix_agentd.psk + на машине агента.

изображение: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Encryption.png [Настройка шифрования]

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

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

изображение: https: //assets.digitalocean.com/cart_66486/New_Host_Cent.png [Zabbix показывает ваш новый хост]

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

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

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

Zabbix автоматически поддерживает несколько типов уведомлений: электронная почта, Jabber, SMS и т. Д. Вы также можете использовать альтернативные методы уведомления, такие как Telegram или Slack. Вы можете увидеть полный список интеграций here.

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

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

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

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

изображение: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Email.png [Настройка электронной почты]

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

изображение: https: //assets.digitalocean.com/articles/cart_66209/Create_User.png [Создание пользователя]

Введите новое имя пользователя в поле * Alias ​​* и установите новый пароль. Затем добавьте пользователя в группу администраторов. Введите + Zabbix administrator + в поле * Groups * и выберите его из предложенного списка.

После добавления группы перейдите на вкладку * Media * и нажмите подчеркнутую ссылку * Add *. Вы увидите всплывающее окно.

изображение: https: //assets.digitalocean.com/articles/cart_66209/Add_Email.png [Добавление электронной почты]

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

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

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

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

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

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

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

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

ssh @

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

df -h

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

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

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

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

fallocate -l  /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

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

изображение: https: //assets.digitalocean.com/cart_66486/Main_Dashboard_Cent.png [Основная панель инструментов]

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

rm -f /tmp/temp.img

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

Заключение

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

Чтобы узнать больше о настройке инфраструктуры мониторинга, ознакомьтесь с How Установить Elasticsearch, Logstash и Kibana (Elastic Stack) в CentOS 7 и https://www.digitalocean.com/community/tutorials/how-to-gather-infrastructure-metrics-with-metricbeat-on-centos-7 Как собрать метрики инфраструктуры с помощью Metricbeat на CentOS 7.

Related