September 24, 2022

Zabbix

Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым. Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle Database, веб-интерфейс написан на PHP.

В данной ... действия будут происходить на Ubuntu 22.04. Все действия выполняются от root-пользователя

Что может Zabbix и почему он хорош?

  1. Можно провести абсолютный контроль сетей на тысячи, миллионы устройств. Иерархические деревья могут быть построены так, чтобы их старшие узлы определяли параметры в системе контроля младших узлов.
  2. Сделать мониторинг на огромный кластер не так просто. Поэтому существуют удобные группы, которые имеют способ настроить систему контроля за количеством серверов — выбрал шаблон с пометкой серверов из него или добавил в него пачку серверов, и готово все настроилось само.
  3. Способов опрашивать целевые машины на предмет метрик есть два: агенты рапортуют в Zabbix или Zabbix сам опрашивает агентов.
  4. Осуществляется контроль динамических объектов — в том случае, что есть функция контроля за состоянием файлов/соединений/папок или процессами.
  5. Zabbix способен оповестить о неприятностях быстро, в случае случилось что-то не так. Обычно можно получить уведомления по почте, есть также иные способы (например, по протоколу XMPP — любому администратору стоит сидеть в Jabber!).
  6. С помощью удаленного выполнения команд можно отремонтировать поломку. Не нужно долго вспоминать ключи доступа к сломавшемуся серверу, чтобы подцепить неисправную машину.
  7. В наличии имеется удобный анализ системных логов и журналов, а также возможность диагностики неисправностей. Всю важную для администратора информацию агенты всегда передадут на головную машину Zabbix.
  8. В систему можно добавить любые необходимые функции – есть плагины и скрипты. Удобное автоматизированное выполнение команд в консоли на серверном уровне. Не существует такой вещи, которую нельзя было бы обучить Zabbix.
  9. Есть API — это значит, что можно подключать к компьютеру внешние средства обработки информации и визуализатор.

Подготовка

Для начала, обновите список пакетов в репозиториях и сами пакеты:

apt update; apt upgrade -y

Установка репозитория Zabbix 6.2

Выполните команды ниже, для загрузки пакета репозитория Zabbix для Ubuntu, установки загруженного пакета и обновления списка репозиториев:

wget https://repo.zabbix.com/zabbix/6.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.2-2%2Bubuntu22.04_all.deb
dpkg -i zabbix-release_6.2-2+ubuntu22.04_all.deb
apt update

Установка Zabbix Server, Zabbix веб-интерфейс и Zabbix Агент

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

apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Удалите Apache (он устанавливается автоматически, однако в дальнейшем не требуется):

apt autoremove apache2 -y

Установка PostgreSQL 14

Установите репозиторий PostgreSQL, сделайте это командой:

echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list

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

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

И установите PostgreSQL командой:

apt update; apt -y install postgresql-14

Настройка PostgreSQL для работы с Zabbix

Создайте пользователя zabbix в PostgreSQL, выполнив команду:

sudo -u postgres createuser --pwprompt zabbix

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

Сохраните его, он понадобится в дальнейшем

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

sudo -u postgres createdb -O zabbix zabbix

Выполните автоматическую настройку базы данных командой:

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Настройка Zabbix для работы с БД

Откройте файл конфигурации Zabbix с использованием nano:

nano /etc/zabbix/zabbix_server.conf

В любое место файла вставьте содержимое ниже, где AezaZabbixGuide - пароль от ранее созданной базы данных:

DBPassword=AezaZabbixGuide

Затем, сохраните файл, нажав комбинацию клавиш Ctrl-X, а затем подтвердите сохранение введя y и нажав Enter.

Настройка веб-интерфейса

Откройте файл конфигурации Nginx веб-интерфейса Zabbix используя nano:

nano /etc/zabbix/nginx.conf

Обязательно раскомментируйте строку 1 для работы веб-интерфейса на 8080 порту. Порт 8080 можете изменить на любой удобный вам.

Также опционально вы можете раскомментировать строку 2 для привязки веб-интерфейса к вашему домену. Смените _ на ваш домен. Привязка веб-интерфейса к вашему домену в данной ... не рассматривается.

Сохраните изменения нажав комбинацию клавиш Ctrl-X, а затем подтвердите сохранение введя y и нажав Enter.

Запуск Zabbix служб

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

systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm

А также активируйте автозапуск служб Zabbix при запуске ОС командой:

systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm

Продолжение установки в веб-интерфейсе

После запуска веб-интерфейса Zabbix откройте сам веб-интерфейс. Для этого необходимо в браузере открыть URL-адрес формата ниже:

http://IPАдресСервера:ПОРТ

Например, в данном случае, порт по умолчанию (8080) не изменялся, URL-адрес будет таким:

http://45.142.122.3:8080

Вы попадёте на страницу продолжения установки Zabbix:

Шаг 0

Перейдите к следующему шагу и убедитесь, что все параметры работают и веб-сервер поддерживает работу с PostgreSQL

Шаг 1

Перейдите к следующему шагу, в поле Password введите пароль от ранее созданной базы данных zabbix (В данной ... пароль от БД: AezaZabbixGuide)

Также опционально вы можете включить шифрование для БД:

Шаг 2

Перейдите к следующему шагу, настройте часовой пояс и другие параметры:

Шаг 3

Перейдите к последнему шагу и подтвердите, что все введенные данные верны:

Шаг 4

Готово! Если вы видите текст, подобный тексту ниже, значит вы все сделали правильно:

Авторизация и использование веб-интерфейса

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

Готово! Вы авторизовались в веб-интерфейсе и можете полноценно использовать Zabbix

Однако крайне рекомендуется сменить пароль стандартного пользователя. Для этого в боковом меню откройте раздел User settings, пункт Profile:

Затем, в открывшемся меню нажмите кнопку Change password:

Затем. введите новый пароль и продублируйте его.

После, нажмите кнопку Update