Найти в Дзене
Тюнинг Админа

Zabbix 6.4 на Ubuntu 22.04LTS

Оглавление

В этой статье опишу процесс установки и настройки Zabbix 6.4 сервера на Ubuntu 22.04, а также установку агентов на Linux, Windows сервера и добавление гипервизора Proxmox с целью мониторинга состояния.

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

Содержание

  • Задачи компании
  • Системные требования
  • Обновление и подготовка системы
  • Установка Zabbix
  • Настройка сервера
  • Добавление гипервизора Proxmox в группу устройств для мониторинга
  • Установка клиента на Ubuntu+Elma и добавление в группу устройств для мониторинга
  • Установка клиента на Windows и добавление в группу устройств для мониторинга
  • Вывод

Задачи компании

Организовать в компании современную систему мониторинга для оборудования и серверов.

Системные требования

Фактические параметры конфигурации для сервера под Zabbix, зависят от количества данных и их частоты обновления. Для мониторинга до 500 устройств рекомендуется CPU 2 ядра ОЗУ 2 ГБ.

Своей виртуальной машине я выделю следующие ресурсы:

  • Процессор 1-ядро 1,8ггц
  • Память 1гб
  • Диск 30гб

Обновление и подготовка системы

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

sudo -s

Обновим информацию о пакетах в репозиториях:

apt update

Обновим пакеты:

apt upgrade -y

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

apt install nano mc net-tools wget

Устанавливаем сервис синхронизации времени:

apt install chrony

Добавляем в автозапуск службу:

systemctl enable chrony

Запускаем службу:

systemctl start chrony

Перезагрузим сервер:

reboot

Установка Zabbix

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

Скачиваем готовый пакет Zabbix из репозиториев:

wget https://repo.zabbix.com/zabbix/6.3/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.3-3+ubuntu22.04_all.deb

Устанавливаем пакет:

dpkg -i zabbix-release_6.3-3+ubuntu22.04_all.deb

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

apt update

Устанавливаем Zabbix сервер, веб-сервер NGINX и агента:

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

Создадим базу данных для Zabbix

Установим Postgresql:

apt install postgresql

Запустим Postgresql:

systemctl start postgresql

Создадим пользователя zabbix:

sudo -u postgres createuser --pwprompt zabbix

Cистема попросит вас указать пароль, запомните его.

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

sudo -u postgres createdb -O zabbix zabbix

Импортируем на сервер Zabbix начальную схему и данные. Вам будет предложено ввести недавно созданный пароль.

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

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

nano /etc/zabbix/zabbix_server.conf

# ListenPort - Порт который слушает Zabbix, по умолчанию 10051

ListenPort=10051

# DBHost - указать хост на котором размещается база данных Zabbix, по умолчанию localhost

DBHost=localhost

# DBName - указать имя базы данных, по умолчанию zabbix

DBName=zabbix

# DBUser - имя пользователя базы данных, по умолчанию zabbix

DBUser=zabbix

# DBPassword - пароль от пользователя базы данных, обычно задается при создании пользователя

DBPassword=Пароль

# Порт подключения к базе данных. Для подключения к PostgreSQL по умолчанию используется DBPort=5432

DBPort=5432

Настроим файл конфигурации нашего веб-сервера, для этого рас комментируем и настроим директивы:

nano /etc/zabbix/nginx.conf

# listen 8080;

# server_name ip_address;

Перезапустим службы Zabbix сервера и агента:

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

Добавление в автозапуск служб Zabbix сервера и агента:

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

При установке zabbix файлы web движка копируются в каталог /usr/share/zabbix. Наш веб-сервер nginx по умолчанию работает с каталогом /var/www/html, поменяем путь в конфигурационном файле nginx:

nano /etc/nginx/sites-enabled/default

root /usr/share/zabbix;

Перезапускаем nginx:

systemctl restart nginx

Прежде чем перейдем в браузер для дальнейшей настройки zabbix, рекомендую прописать правила для нашего Брандмауэра UFW:

ufw allow 10050/tcp

ufw allow 10051/tcp

ufw allow 80/tcp

ufw reload

Открываем браузер и идем по адресу:

http://ip_address

-2

Можно переходить к настройке

Настройка сервера

Выбираем русский язык:

-3

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

-4

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

-5

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

-6
-7

Система сообщает, что мы с вами молодцы

-8

Нажимаем Финиш и попадаем на страничку авторизации Zabbix сервера, вводим Логин: Admin и Пароль: zabbix

-9
-10

Первым делом поменяем пароль для пользователя admin, для этого перейдем в раздел:

Пользователи --> Пользователи --> admin --> Изменить пароль

-11

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

Добавление гипервизора Proxmox в группу устройств для мониторинга

Согласно документации Zabbix создадим Api токен для того, чтобы наш сервер мониторинга мог по http забирать статистику с proxmox.

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

  • Создадим на гипервизоре роль с правами аудита
  • Добавим группу пользователей
  • Свяжем группу пользователей с ролью по аудиту
  • Создадим пользователя с правами которого Zabbix будет собирать статистику и добавим его в группу
  • Добавим Api токен

Создаём роль с правами аудита:

pveum role add Zabbix.Audit --privs "Sys.Audit VM.Audit"

Zabbix.Audit — название роли

Sys.Audit VM.Audit — права на аудит

Создаем группу пользователей:

pveum group add Audit.Systems

Audit.Systems — название группы

Добавляем роль нашей группе пользователей:

pveum acl modify / -group Audit.Systems -role Zabbix.Audit

Создаём пользователя для Zabbix:

pveum user add zabbix@pam

Добавляем пользователя в группу Audit.Systems:

pveum user modify zabbix@pam -group Audit.Systems

Делаем запрос на получение токена:

pveum user token add zabbix@pam monitoring -privsep 0

Полученные реквизиты токена обязательно нужно сохранить

-12

На этом с настройками на гипервизоре мы закончили.

Идем на GitHub и качаем шаблон для zabbix версии 6.4: https://github.com/zabbix/zabbix/blob/master/templates/app/proxmox/template_app_proxmox.yaml

На Zabbix идем в Data collection -->Группы узлов сети --> Hypervisors кликаем по ней и переименовываем, после чего нажимаем Обновить.

-13

После этого идем в Data collection --> Узлы сети --> Создать узел сети

-14

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

-15

На этом все ждем первых ласточек.

Установка клиента на Ubuntu+Elma и добавление в группу устройств для мониторинга

Загрузим файл последнего релиза из репозитория Центра загрузки Zabbix:

wget https://repo.zabbix.com/zabbix/6.3/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.3-3%2Bubuntu22.04_all.deb

Запустим его с помощью команды dpkg следующим образом:

dpkg -i zabbix-release_6.3-3+ubuntu22.04_all.deb

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

apt update

Проверяем версию пакета в репозитории:

apt show zabbix-agent

Package: zabbix-agent
Version: 1:6.4.0~beta4-1+ubuntu22.04

Установим Zabbix-agent:

apt install zabbix-agent

Проверим статус службы:

systemctl status zabbix-agent

-16

Видим, что служба Zabbix agent запущена и работает.

Настроим конфигурационный файл /etc/zabbix/zabbix_agentd.conf, чтобы агент мог взаимодействовать с сервером Zabbix.

nano /etc/zabbix/zabbix_agentd.conf

Включаем пассивные проверки агента. Ищем переменные “server” и “Hostname” в файле zabbix_agentd.conf:

Server=ip_address
Hostname=zabbix

Перезапустим службу Zabbix agent:

systemctl restart zabbix-agent

Если у вас включен брандмауэр UFW, то необходимо добавить правило для tcp порта 10050:

ufw allow 10050/tcp

Перезагрузим брандмауэр:

ufw reload

Проверка статуса разрешенных портов брандмауэра:

ufw status

10050/tcp ALLOW Anywhere

На этом все с настройкой zabbix агента.

Добавим сервер в группу устройств для мониторинга

Переходим в раздел Data collection --> Узлы сети --> Создать узел сети

-17

Указываем имя узла сети, шаблон, интерфейс по которому доступен сервер, да и пожалуй все.

Посмотреть статистику можно в разделе Мониторинг --> Проблемы или Узлы сети

Установка клиента на Windows и добавление в группу устройств для мониторинга

В нашем примере мы установим zabbix агент на Windows Server 2019 + MSSQL 2019 + 1C в качестве службы, а также сделаем необходимые настройки для отправки данных.

Переходим на страницу загрузки агента Zabbix https://www.zabbix.com/ru/download_agents и выбираем платформу операционной системы (x32 или x64) и версию агента, например:

https://cdn.zabbix.com/zabbix/binaries/stable/6.2/6.2.5/zabbix_agent2-6.2.5-windows-amd64-openssl.msi

Ждем окончания загрузки и переходим к установке.

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

  • В окне приветствия нажимаем Next
  • Принимаем лицензионное соглашение, установив галочку I accept the terms in the License Agreement и нажимаем Next
  • В следующем окне оставляем имя компьютера, на который устанавливается агент и вводим имя или IP-адрес сервера zabbix, после кликаем по Next
  • Выбираем компоненты, которые хотим установить, можно просто оставить все по умолчанию и нажимаем Next
  • Подтверждаем установку, кликая по Install
  • Ждем завершения процесса, все агент установлен.

Необходимо настроить брандмауэр Windows, разрешая исходящие tcp пакеты с порта 10050 или приложение zabbix agent:

  • Переходим в Панель управления - Система и безопасность - Брандмауэр Windows.
  • Кликаем по Дополнительные параметры --> Правило для исходящего подключения
  • Создаем правило Далее
  • Протокол tcp, порт 10050 Далее
  • Разрешить подключение Далее
  • Для всех профилей стоит галочка Далее
  • Задаем название zabbix готово

Добавим сервер в группу устройств для мониторинга

Переходим в раздел Data collection --> Узлы сети --> Создать узел сети

-18

Указываем имя узла сети, шаблон, интерфейс по которому доступен сервер, да и пожалуй все.

Посмотреть статистику можно в разделе Мониторинг --> Проблемы или Узлы сети

Вывод

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