Если в вашей инфраструктуре много объектов различной степени важности, то без хотя бы системы мониторинга в минимальной конфигурации будет очень сложно следить за состоянием здоровья ваших сервисов и оборудования. В этой публикации я покажу, как можно настроить мониторинг Proxmox через Zabbix.
Для настройки мониторинга я буду использовать вот это решение с официального сайта Zabbix. Тем более, что в Zabbix, по крайней мере версии 6.2, этот шаблон уже доступен “из коробки”.
О том, как выполнить установку Proxmox или установку Zabbix я уже писал.
Предварительные требования
Шаблон очень просто в настройке. Однако, нам потребуется создать токен доступа для системной учетной записи, который мы выдадим только необходимые разрешения.
Приступим:
1. Сначала создадим пользователя в Proxmox:
pveum user add zabbix@pam
2. Затем создадим роль с теми разрешениями, что указаны в документации:
pveum role add ZabbixMonitoring --privs "Sys.Audit VM.Audit Datastore.Audit"
3. Назначаем роль на пользователя:
pveum acl modify / -user zabbix@pam -role ZabbixMonitoring
4. И самым последним шагом нужно сгенерировать токен доступа:
Скопируйте значения из окна “Toker Secret”, т.к. после закрытия этого окна узнать секрет уже не получится. Только генерировать новый.
Настройка шаблона
Приступим:
1. Теперь переключимся на сервер Zabbix и добавим сервер Proxmox в хосты (если он еще не добавлен).
Имя хоста и группа хоста вы можете указать любые – на ваше усмотрение. В секции с типом интерфейса выбираем тип “Agent” и подключает хост с Proxmox либо по IP, либо по DNS имени. Но вот что важно – так это в поле Template указать шаблон “Proxmox VE by HTTP”.
2. Второй важный момент – необходимо указать токен доступа и секрет на вкладке “Macros”:
Указываем Token ID и Secret в макросах {$PVE.TOKEN.ID} и {$PVE.TOKEN.SECRET}.
3. Сохраняем внесенные изменения.
4. Перейдем к просмотру последних данных:
В том случае, если мы не допустили никаких ошибок при конфигурации, то мы с вами должны увидеть некий набор данных – все зависит от конфигурации и рабочей нагрузки на ваш сервер Proxmox.
Примеры собранных данных
Если какие-то из контейнеров или виртуальных машин не запущены, то Zabbix предупредит об этом (можно отключить для каких-то ВМ или контейнеров).
Примеры графиков:
Настройка мониторинга Proxmox через Zabbix завершена.
Мониторинг Proxmox через Zabbix: 31 комментарий
Все круто, спасибо за описание, но Вы не написали куда ставить Zabbix в итоге, на саму систему, где Proxmox, на виртуальную систему в Proxmox или на отдельную вовсе.
Добрый день! Сервер Zabbix предварительно устанавливается либо на ВМ на самом Proxmox, либо на любой другой платформе виртуализации или физическом хосте.
а где и какой дистрибутив на ВМ взять для Proxmox?
Добрый день! Можете взять любой Linux дистрибутив. Например, Ubuntu Server – https://ubuntu.com/download/server. Сверху уже развернуть Zabbix сервер – https://itproblog.ru/%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-zabbix/
Учтите – есть опечатки – если не исправить работать не будет.
Добрый день! Благодарю за обратную связь и внимательное чтение! Я всегда стараюсь предварительно вычитывать материал, но, к сожалению, иногда “глаз замыливается”. Я перепроверил текст. Да, действительно, роль я изначально хотел обозвать как “ZabbixMonitoring”, но опечатался и назвал “ZabbiMonitoring”. Но если выполнять все команды, как они приведены в публикации, то мониторинг работает – проверил на стенде. Название роли скорректировал.
Добрый день, а нет случаем отдельно шаблона Proxmox VE by HTTP для zabbix версии 5.0
Добрый день! Вот этот шаблон посмотрите – https://github.com/zabbix/community-templates/tree/main/Virtualization/Proxmox/template_proxmox_5.x_services_monitoring/5.0
Вроде бы оно.
Все сделал, но zbx не активно. В “последние данные” нет информации о узлах гипервизора, что может быть не так? Агента же на Proxmox ставить не надо?
Добрый день! Агента ставить не нужно. Скорее всего либо какой-то шаг пропущен, либо где-то опечатка. Попробуйте перепровить конфигурацию со стороны Zabbix и Proxmox. Еще вариант – трафик может фильтроваться каким-то промежуточным сетевым оборудованием.
Буквально пару дней назад по этой же инструкции настраивал мониторинг – все получилось.
с обычнми виртуалками проходит, именно с proxmox нет
Для проксмокса “zbx” не будет подсвечиваться. Но данные должны быть в разделе последних данных.
Роль PVEAuditor для zabbix не нужна?
Если честно, то я не помню какие разрешения назначены этой роли. Я создавал отдельную роль, как указано в статье.
почему в поле token.secret после самого секрета еще следом прописан id token
Вот здесь соглашусь, в поле token.secret нужен только секрет без id токена. Кривой скрин – прошу прощения 🙁
А из какой группы шаблонов брали Proxmox VE by HTTP?
Templates/Applications
А вообще у проксмокс у вас зеленым горит zbx?
нет
Поправил скрин
Как мониторить проксмокс шаблоном Smart by Zabbix agent, как получить доступ, если токен нельзя указать в данном шаблоне
Добрый день! В документации (https://www.zabbix.com/ru/integrations/smart) указано, что нужно установить дополнительный пакет и скорректировать разрешения в sudoers:
sudo dnf install smartmontools
sudo visudo
“zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl”
Предварительно нужно будет установить Zabbix агент на сервер Proxmox
smartctl установлен. Не пойму эти строки :
sudo visudo
“zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl”
что это, поподробнее. в какой файл это записывается
1. Запускаете в консоле коману:
sudo visudo
2. Добавляете в файл строчку (только проверьте имя пользователя от которого запускается агент Zabbix и расположение бинарника для smartctl):
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl
3. Сохраняете текстовый файл и выходите из него.
visudo – это утилита для редактирования файла /etc/sudoers. В этом файле указывается кому из пользователей или групп разрешено запускать определенные команды через sudo.
Есть еще один обязательный макрос который вы не указали: {$PVE.URL.HOST} – ip proxmox.
Без него у меня не завелось.
Добрый день! Возможно, но зависит от ситауации. У меня подключенго несколько Proxmox серверов в Zabbix. Макрос {$PVE.URL.HOST} я не указывал при их подключении.
Добрый. А если у меня несколько Proxmox серверов? Как быть Token ID и Secret
Добрый день! Тогда вам нужно создавать в Zabbix два объекта с серверами Proxmox + на каждом сервере Proxmox генерировать Token ID и Secret. Потом вы просто для каждого объекта в Zabbix прописываете свой Token ID и Secret.
Что делать при ошибке API service not available?
Пробовал менять токен несколько раз
Добрый день! Я бы начал с того, что убедился, что API Proxmox доступен с сервера Zabbix – по имени или по IP-адресу, в зависимости от того, как вы подключаетесь.