Как развернуть заббикс

Как развернуть заббикс Хостинг

Описание сценария

Кратко опишем, что выполнит наш сценарий. Подробнее про работу с docker-compose можно прочитать в инструкции Шпаргалка по работе с docker-compose.

В нашем примере будет развернут сервер мониторинга Zabbix с поддержкой СУБД mariadb.

Подготовка системы
Пример файла docker-compose.yml
Описание compose-файла
Запуск контейнеров
Сценарий для Zabbix Proxy

Тематические термины: Zabbix, MariaDB, MySQL, PHP, NGINX.

Сервер Zabbix используется для сбора и анализа информации о состоянии узлов сети. В данной статье будет рассмотрен процесс его установки и развертывания веб-интерфейса для его управления. В качестве сервера баз данных мы будем использовать MariaDB/MySQL. Версия операционной системы, которая использовалась для написания инструкции — 20.04 LTS (также протестировано на 22.04), версия устанавливаемого Zabbix — 6.

Готовим сервер
    Время
    Брандмауэр
Устанавливаем веб-сервер
    MariaDB
    NGINX
    PHP + PHP-FPM
    NGINX + PHP
Устанавливаем сервер Zabbix
    Установка
    Настройка базы данных
    Настройка zabbix
    Запуск zabbix-server
    Настройка nginx
    Установка портала управления
Настройка Zabbix агента на сервере
Другие инструкции по Zabbix

Автор выбрал Computer History Museum для получения пожертвования в рамках программы Write for DOnations.

Введение

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

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

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

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

Подготовка

Выполним предварительные действия. Предполагается, что мы будем хранить наш файл docker-compose в каталоге /opt/zabbix.

Перейдем в него:

Мы готовы к написанию сценария.

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

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

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

https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
dpkg zabbix-release_5.0-1+focal_all.deb

Результат будет выглядеть следующим образом:

Обновите индекс пакета, чтобы новый репозиторий включал:

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

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

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

Подготовка сервера

Перед установкой Zabbix выполняем подготовительные процедуры.

Правильное время

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

Для этого сначала задаем правильную временную зону:

timedatectl set-timezone Europe/Moscow

* в данном примере задается московское время.

Затем устанавливаем и запускаем сервис синхронизации времени:

systemctl enable chrony

systemctl start chrony

Настройка брандмауэра

Для работы сервера, открываем следующие порты:

iptables -I INPUT -p tcp —match multiport —dports 80,443 -j ACCEPT

iptables -I INPUT -p tcp —match multiport —dports 10050,10051 -j ACCEPT

iptables -I INPUT -p udp —match multiport —dports 10050,10051 -j ACCEPT

* где 80 — порт для http запросов (веб-интерфейс); 443 — для https запросов (веб-интерфейс); 10050 — порты для получения информации от zabbix агентов.

Для сохранения правил используем

apt install iptables-persistent

3. Обновляем список пакетов в репозитории:

Если наша система чистая и на ней не работают критически важные сервисы, стоит обновить установленные пакеты:

Подготовка системы закончена.

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

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

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


Как развернуть заббикс

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


Как развернуть заббикс

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


Как развернуть заббикс

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

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

Читайте также:  Повышение производительности Битрикса: раскрыты основные настройки PHP


Как развернуть заббикс

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

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


Как развернуть заббикс

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

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

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

Zabbix автоматически поддерживает несколько типов уведомлений: по электронной почте, в OTRS, Slack, Telegram​​​, СМС и т. д. Весь список совместимости можно увидеть на веб-сайте Zabbix.

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

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

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


Как развернуть заббикс

На вкладке Message templates (Шаблоны сообщений) вы увидите список стандартных сообщений для различных типов уведомлений. Наконец, нажмите кнопку Update​​​ (Обновить) внизу формы для обновления параметров электронной почты.

Теперь вы можете протестировать отправку уведомлений. Для этого нажмите на подчеркнутую ссылку Test​​ (Тестирование) в соответствующей строке.

Вы увидите всплывающее окно. Введите свой адрес электронной в поле Send to (Отправить) и нажмите кнопку Test Тестирование. Вы увидите сообщение об успешной отправке и получите тестовое сообщение.


Как развернуть заббикс

Закройте всплывающее окно, нажав кнопку Cancel (Отмена).

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


Как развернуть заббикс

Выберите опцию Email (Электронная почта) из выпадающего списка поля Type (тип). Введите свой адрес электронной почты в поле Send to (Отправить). В остальных опциях можно оставить значения по умолчанию. Нажмите кнопку Add (Добавить) внизу для отправки.

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

Теперь необходимо включить уведомления. Нажмите на вкладку Configuration (Настройка), а затем Actions (Действия) на левой панели навигации. Вы увидите предварительно настроенное действие, отвечающее за отправку уведомлений всем администраторам Zabbix. Вы можете проверять и менять настройки, нажимая на названия. Для целей данного обучающего модуля используйте параметры по умолчанию. Чтобы активировать действие, нажмите на красную ссылку Disabled​​​ (Отключено) в столбце Status (Статус).

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

Zabbix Agent

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

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

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

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

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

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

systemctl restart zabbix-agent

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


Как развернуть заббикс

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

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

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

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

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

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

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

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

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

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


Как развернуть заббикс

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

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

Шаг — Конфигурация настроек для веб-интерфейса Zabbix

Веб-интерфейс позволяет видеть отчеты и добавлять хосты, которые вы хотите отслеживать, но для этого требуется определенная начальная настройка. Запустите браузер и перейдите по адресу http://zabbix_server_name или https://zabbix_server_name, если вы установили Let’s Encrypt. На первом экране вы увидите приветственное сообщение. Нажмите Next step (Далее), чтобы продолжить.

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


Как развернуть заббикс

Рядом со всеми значениями в этой таблице должно стоять ОК, проверьте это. Обязательно прокрутите вниз и просмотрите все предварительные требования. Убедившись, что все готово, нажмите Next step (Далее), чтобы продолжить.

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


Как развернуть заббикс

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

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


Как развернуть заббикс

Name (Имя) необязательно; оно используется в веб-интерфейсе, чтобы различать серверы, если у вас несколько отслеживающих серверов. Нажмите Next step (Далее), чтобы продолжить.

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


Как развернуть заббикс

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

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

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

Войдите в MySQL в качестве пользователя root:

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

create database zabbix character utf8 collate utf8_bin

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

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

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

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

Введите пароль пользователя MySQL zabbix, который вы настроил при получении соответствующей инструкции.

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

Читайте также:  тарифы для RDP VPS - удаленный рабочий стол на Linux или Windows

Найдите следующую часть файла:

Сохраните и закройте zabbix_server.conf​​​, нажав CTRL+X, а затем Y и ENTER, если вы используете nano.

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

Docker-compose

Пример нашего файла compose:

Запуск

Находясь в каталоге с файлом docker-compose, выполним команду:

docker-compose up -d

При первом запуске система загрузит необходимые образы и запустит контейнеры.

Посмотреть состояние контейнеров можно командой:

В нашем примере веб-интерфейс будет доступен по порту 8080. Для проверки можно ввести команду:

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

1. Установка и настройка Zabbix-агента на CentOS.

2. Установка Zabbix agent на Windows.

3. Настройка сервера Zabbix 5 на CentOS 8.

4. Установка и начальная настройка сервера мониторинга Zabbix на CentOS 7.

5. Активация/деактивация узлов Zabbix с помощью API на PHP.

Установка веб-сервера

Управление сервером Zabbix будет осуществляться посредством веб-интерфейса. Для этого необходимо установить и настроить веб-сервер, СУБД и PHP.

СУБД

В данному инструкции мы будем использовать сервер баз данных mariadb. Zabbix версии 6 требует MariaDB версии 10.05.00 и выше. Но слишком свежая версия также может не поддерживаться сервером заббикс. Необходимо уточнить системные требования на официальной странице.

В репозитории Ubuntu может не оказаться нужной версии СУБД, поэтому мы подключим репозиторий разработчика. Для этого переходим по ссылке downloads.mariadb.org/mariadb/repositories и выбираем нашу версию операционной системы, последний стабильный и поддерживаемый релиз mariadb и геолокацию репозитория, например:


Как развернуть заббикс

Ниже появится инструкция по добавлению репозитория и установке СУБД:


Как развернуть заббикс

Согласно инструкции, создаем файл:

Импортируем ключ репозитория:

apt-key adv —fetch-keys ‘https://mariadb.org/mariadb_release_signing_key.asc’

Обновляем кэш пакетов:

Разрешаем автозапуск сервера баз данных и запускаем mariadb:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя СУБД:

* после ввода команды система потребует ввести пароль два раза.

Для наших целей будем использовать веб-сервер NGINX.

Для его установки вводим команду:

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

systemctl enable nginx

systemctl start nginx


Как развернуть заббикс

PHP и PHP-FPM

Интерфейс zabbix разработан на PHP — наш веб-сервер должен обрабатывать скрипты, написанные на нем. Zabbix версии 6 требует PHP версии 7.2 и выше.

Устанавливаем php и необходимые компоненты:

apt install php php-fpm php-mysql php-pear php-cgi php-common php-ldap php-mbstring php-snmp php-gd php-xml php-bcmath

Для настройки php, открываем файл:

* где 7.4 — версия PHP. В вашем случае это может быть другая версия. Проверить можно командой php -v.

Редактируем следующие параметры:

Разрешим запуск php-fpm и перезапустим его:

systemctl enable php7.4-fpm

systemctl restart php7.4-fpm

NGINX + PHP

Для того, чтобы NGINX обрабатывал PHP, открываем конфигурационный файл:

Внутри секции server добавим следующее:

* где /var/www/html — корневой путь хранения скриптов; /run/php/php7.4-fpm.sock — путь до сокетного файла php-fpm (точное расположение файла можно посмотреть в конфигурационном файле /etc/php/7.4/fpm/pool.d/www.conf).

И перезагружаем его:

systemctl restart nginx

Создаем index.php со следующим содержимым:


Как развернуть заббикс

* в нашем примере мы работаем с php7.4, а на скриншоте 7.2. Это не принципиально. Для нас важно, что страница отдает phpinfo — значит веб-сервер настроен корректно.

Веб-сервер готов для работы с Zabbix Web.

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

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

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

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

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

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

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

nginx
nginx reload

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

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

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

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

Zabbix Proxy

Если нам нужно развернуть Zabbix Proxy, используем такой сценарий:

* в данном примере мы поднимим Zabbix Proxy версии 4. Список официальных docker-образов можно посмотреть на сайте Zabbix.

Был ли вам полезен этот скрипт?

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

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

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

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

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

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

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

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

Отобразите ключ с помощью cat​​​, чтобы скопировать его:

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

Сохраните его для дальнейшего использования. Он потребуется для конфигурации хоста.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как создать свой сайт в сети Tor с доменом .onion

systemctl restart zabbix-agent
systemctl zabbix-agent

В дополнение к этому проверьте правильность работы агента Zabbix:

systemctl status zabbix-agent

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

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

ufw allow /tcp

Дополнительную информацию о UFW можно получить в статье Настройка брандмауэра с UFW в Ubuntu 20.04.

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

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

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

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

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

Теперь перезапустите PHP-FPM для применения этих новых настроек:

systemctl restart php7.4-fpm.service

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

systemctl start zabbix-server

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

systemctl status zabbix-server

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

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

systemctl zabbix-server

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

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

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

Сначала установим репозиторий последней версии Zabbix. Для этого переходим на страницу https://repo.zabbix.com/zabbix/ и переходим в раздел с самой последней версией пакета — затем переходим в ubuntu/pool/main/z/zabbix-release/ — копируем ссылку на последнюю версию релиза:


Как развернуть заббикс

Обратите внимание, что необходимо скопировать ссылку на файл для своей версии Ubuntu — в нашем примере это 20.04. Посмотреть свою версию операционной системы можно командой:

Скачиваем файл репозитория командой:

dpkg -i zabbix-release_*.deb

Обновляем списки пакетов:

Входим в оболочку ввода sql-команд:

mysql -uroot -p

Создаем базу данных:

* мы создали базу zabbix.

Создаем пользователя для подключения и работы с созданной базой:

* в данном примете мы создали пользователя zabbix с доступом к базе zabbix и паролем zabbixpassword.

Выходим из sql-оболочки:

В составе zabbix идет готовая схема для СУБД MySQL/MariaDB или postgreSQL. В нашем случае, нам нужен MySQL.

Для применения схемы переходим в каталог:

find / -type f -iname server.sql.gz

Распаковываем архив с дампом базы:

Восстанавливаем базу их дампа:

mysql -u root -p zabbix < server.sql

* после ввода команды система запросит пароль. Необходимо ввести пароль, который мы задали после установки mariadb.

Настройка zabbix

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

* мы настраиваем портал на подключение к базе с паролем zabbixpassword, который задали при создании базы для zabbix.

И проверяем следующие строки:

* имя базы и пользователя должны быть zabbix (как мы и создали в mariadb).

Создаем каталог для инклудов конфигурационных файлов (по какой-то причине, он может быть не создан при установке):

Запуск zabbix-server

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

systemctl enable zabbix-server

После запускаем сам сервер zabbix:

Меняем это — открываем конфигурационный файл nginx:

Редактируем параметры root и set $root_path:

Установка портала для управления Zabbix

Выбираем нужный язык установки и кликаем по Next Step:

Если в списке языков не окажется нужного нам, устанавливаем локаль:

* например, для русского языка выбираем в открывшемся окне ru_RU. UTF-8 UTF-8.

И перезапускаем обработчик PHP, в нашем случае:

Перезагружаем страницу установки и выбираем нужный язык.

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

Когда все результаты будут OK, кликаем по Next Step:

В следующем окне мы оставляем настройки подключения к базе как есть — дополнительно прописываем пароль, который задали при создании пользователя zabbix. После нажимаем Next Step:


Как развернуть заббикс

* в нашем случае, пароль был zabbixpassword;

В следующем окне оставляем все как есть:


Как развернуть заббикс

В последнем окне мы проверяем настройки и кликаем Next Step.

Установка завершена — нажимаем Finish:


Как развернуть заббикс

Как развернуть заббикс

Шаг 9 — Создание тестового оповещения

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

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

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

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

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 78G 1.4G 77G 2% /

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

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

fallocate 70G /tmp/temp.img

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

Также вы можете перейти на вкладку Monitoring (Мониторинг), а затем на Dashboard​​​ (Панель управления), чтобы увидеть уведомление и детали.


Как развернуть заббикс

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

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

Заключение

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

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

Оцените статью
Хостинги