ОСНОВНОЕ

WORDPRESS

Операционные системы

Базы данных

Фреймворк Bootstrap

То, что мы видим, зависит от того, куда мы смотрим (Л. Леонов).

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

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 9 июня 2017

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

Введение

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

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

Сервер Zabbix хранит свои данные в реляционной базе данных от MySQL, PostgreSQL или Oracle. Он также предоставляет веб-интерфейс, так что вы можете просматривать данные и настройки параметров системы.

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

Предпосылки

Для выполнения этой статьи вам потребуется:

  • Два CentOS 7 серверов с SUDO некорневым пользователем, который вы можете настроить, следуйте этой статьи начальную настройку сервера CentOS.
  • На одном из серверов CentOS 7 необходим установленный Apache, MySQL и PHP. Следуйте этому руководству, чтобы установить их на CentOS 7.
Примечание:
CentOS использует MariaDB вместо MySQL, но это не вызовет никаких проблем, следуя этим учебному пособию.

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

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

 

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

 

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

Вывод
 

Теперь вы можете запустить следующую команду, чтобы установить сервер Zabbix и веб-интерфейс с поддержкой базы данных MySQL:

 

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

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

 

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

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

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

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

 

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

 

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

 

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

 

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

 

Далее мы должны импортировать исходную схему и данные. Установка Zabbix предоставляет нам файл, который устанавливает для нас. Мы просто должны импортировать его. Перейдите в каталог:

 

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

 

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

Эта команда не будет выводить какие – либо ошибки, если она была успешной. Если вы видите ошибку, ERROR 1045 (28000): Access denied for user ‘zabbix’@’localhost’ (using password: YES) то убедитесь, что вы использовали пароль для пользователя zabbix, а не пользователя root.

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

 

Посмотрите на следующий раздел файла:

/etc/zabbix/zabbix_server.conf
Вывод
 

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

/etc/zabbix/zabbix_server.conf
Вывод
 

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

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

Веб – интерфейс Zabbix написан на PHP и требует некоторых специальных настроек PHP сервера. В процессе установки Zabbix создан конфигурационный файл Apache, который содержит эти настройки. Он находится в каталоге /etc/httpd/conf.d/ и загружает автоматически Apache. Нам нужно сделать небольшие изменения в этот файл, поэтому откройте его.

 

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

/etc/httpd/conf.d/zabbix.conf
Вывод
 

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

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

 

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

 

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

 

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

Вывод
 

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

 

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

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

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

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

Предпосылки

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

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

Подключение к БД

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

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

Подробнее о сервере Zabbix

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

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

Резюме

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

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

Перед тем, как войти, давайте установим агент Zabbix на нашем другом сервере.

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

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

Войдите на второй сервер, который мы называем «мониторинг сервера».

 

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

 

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

Вывод
 

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

 

Подтвердите, что вы хотите импортировать ключ GPG, когда его запросили.

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

Таким образом, во-первых, сформируйте PSK:

 

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

 

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

Вывод
 

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

 

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

Во-первых, необходимо изменить IP-адрес сервера Zabbix. Найдите следующий раздел:

/etc/zabbix/zabbix_agentd.conf
Вывод
 

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

/etc/zabbix/zabbix_agentd.conf
 

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

/etc/zabbix/zabbix_agentd.conf
Вывод
 

Затем добавьте эту строку, чтобы настроить предварительно согласованный ключ поддержки:

/etc/zabbix/zabbix_agentd.conf
Вывод
 

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

/etc/zabbix/zabbix_agentd.conf
Вывод
 

Настройка входящих соединений для поддержки предварительно выданного общего ключа, добавив следующую строку:

/etc/zabbix/zabbix_agentd.conf
Вывод
 

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

/etc/zabbix/zabbix_agentd.conf
Вывод
 

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

/etc/zabbix/zabbix_agentd.confВывод
 

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

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

/etc/zabbix/zabbix_agentd.conf
Вывод
 

Добавьте эту строку, чтобы указать агент Zabbix для вашего созданного файла PSK:

/etc/zabbix/zabbix_agentd.conf
Вывод
 

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

 

 

Для хорошей меры, убедитесь, что агент Zabbix работает должным образом:

 

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

Вывод
 

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

Шаг 6 – Добавление нового узла к серверу Zabbix

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

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

Экран Логина Zabbix

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

Создание узла

Настройте имя хоста и IP – АДРЕС, чтобы отразить имя хоста и IP – адрес клиентской машины. Затем добавить хост в группу, выбрав одну из групп из списка, или путем создания собственной группы. Хост может находиться в нескольких группах. Группа Linux Servers является хорошим выбором по умолчанию. После того, как вы добавили в группу, щелкните на вкладку шаблон.

Добавление шаблона к хосту

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

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

Настройка шифрования.

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

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

Zabbix показывает свой новый хост.

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

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

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

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

Вывод

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


Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close