Zabbix — это система мониторинга с открытым исходным кодом. С помощью Zabbix вы можете настроить мониторинг виртуальных машин и других сущностей платформы.
Основные компоненты Zabbix:
- сервер — компонент для управления сетевыми сервисами, хранения данных мониторинга, оповещения администратора о проблемах с оборудованием. Вы можете использовать собственный сервер Zabbix или создать ВМ для выполнения этих функций;
- прокси — промежуточный сервис, который собирает данные с ВМ и передаёт на сервер. Необязательный компонент. Прокси следует использовать, чтобы сократить нагрузку на сервер или если ВМ не имеют прямого доступа к серверу. Вы можете создать одну или несколько ВМ, выполняющую роль прокси;
- агент — программное обеспечение, устанавливаемое на ВМ или узел кластера. Агент собирает данные мониторинга и передаёт на сервер или прокси.
Подробнее о Zabbix см. в официальной документации.
Установка компонентов Zabbix
Установка Zabbix на ВМ производится с помощью скриптов из репозитория ISPsystem. Доступны для установки версии 5.0 LTS, 6.0 LTS и 6.4. Скрипты могут быть запущены как при создании ВМ, так и после создания. Подробнее см. в статье Запуск скриптов на ВМ.
Для установки Zabbix на узел кластера потребуется создать Ansible-скрипт установки. Подробнее см. в статье Создание скрипта для узла.
Сервер
Системные требования к серверу Zabbix зависят от количества устройств, для которых нужно проводить мониторинг. Подробную информацию о системных требованиях см. в официальной документации Zabbix.
Чтобы установить на ВМ сервер Zabbix:
- версии 5.0:
- Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
- Запустите на ВМ скрипт Zabbix server. Выберите версию 5.0.
- версии 6.0 или 6.4:
- Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
- Запустите на ВМ скрипт Zabbix server. Выберите нужную версию.
Веб-интерфейс сервера будет доступен по URL http://<IP созданной ВМ>:8080. Например, http://192.168.100.100:8080. Для авторизации используйте:
- имя пользователя — Admin;
- пароль — zabbix.
Прокси
Чтобы установить на ВМ прокси Zabbix:
- версии 5.0:
- Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
- Запустите на ВМ скрипт Zabbix server. В параметрах укажите IP-адрес сервера Zabbix и выберите версию 5.0.
- версии 6.0 или 6.4:
- Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
- Запустите на ВМ скрипт Zabbix proxy. В параметрах укажите IP-адрес сервера Zabbix и выберите нужную версию.
Агент
Чтобы установить на ВМ агенты Zabbix:
- Запустите на ВМ:
- с ОС семейства Linux — скрипт Zabbix agent2 linux;
- с ОС Windows — скрипт Zabbix agent2 windows.
- Укажите в параметре ZABBIX_SERVER:
- если вы используете прокси — IP-адрес прокси Zabbix;
- если вы не используете прокси — IP-адрес сервера Zabbix.
- Выберите Версию Zabbix server.
Чтобы установить агенты Zabbix на узлах кластера:
- Перейдите в Скрипты → Для узлов → Создать скрипт.
-
Создайте Ansible-скрипт и укажите в нём IP-адрес сервера Zabbix вместо фрагмента <zabbix_server> в секциях Change Server IP и Change Active Server IP:
Содержимое скрипта - Запустите скрипт на узлах кластера.
Настройка сервера Zabbix
Добавление конфигурации прокси
- Перейдите в Administration → Proxies → Create proxy.
- Укажите настройки прокси:
- Proxy name — произвольное имя прокси.
- Proxy mode — режим работы прокси. Выберите Passive.
- IP address — IP-адрес прокси.
- DNS name — имя DNS-сервера. Оставьте значение по умолчанию — localhost.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10051.
- Description — произвольный комментарий к прокси.
- Нажмите Add.
Добавление мониторинга платформы
- Если на сервере не установлена утилита curl, установите её:
dnf install curl || apt install curl
-
Создайте токен для авторизации в платформе:
curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://example.com/api/auth/v4/public/token' -d '{"email": "admin_email", "password": "admin_pass"}'
Пояснения к командеВ ответ придёт сообщение вида:
Пример ответа в JSON{ "confirmed": true, "expires_at": null, "id": "6", "token": "4-e9726dd9-61d9-2940-add3-914851d2cb8a" }
Сохраните полученное значение параметра token — токен авторизации.
-
Создайте токен с увеличенным сроком действия:
curl -k -X POST -d '{"description": "Integration with Zabbix", "expires_at": "<expire_time>"}' -H "accept: application/json" -H "Content-Type: application/json" -H "x-xsrf-token: <token>" "https://domain.com/auth/v4/token"
Пояснения к командеВ ответ придёт сообщение вида:
Пример ответа в JSON{ "confirmed": true, "expires_at":"2025-01-01 00:00:00", "id": "7346", "token": "14626-897fd91a-5787-4874-8b26" }
Сохраните полученное значение параметра token — токен авторизации с увеличенным сроком действия.
-
Скачайте шаблоны из репозитория Zabbix:
-
для Zabbix 5.4:
- template_vmmanager_6_master.yaml — для мониторинга платформы;
- template_vmmanager_6_kvm_hypervisor.yaml — для мониторинга узлов кластера.
- для Zabbix 6.0:
- template_vmmanager_6_master.yaml — для мониторинга платформы.
- template_vmmanager_6_kvm_hypervisor.yaml — для мониторинга узлов кластера.
-
- Импортируйте загруженные шаблоны в Zabbix: Configuration → Templates → Import → выберите файл шаблона → Import → Import.
- Включите мониторинг сервера с VMmanager в Zabbix:
- Перейдите в Configuration → Hosts → Create host.
- Укажите параметры сервера:
- Host name — произвольное имя для обозначения сервера в базе данных Zabbix.
- Visible name — произвольное имя для отображения сервера в интерфейсе Zabbix.
- Groups — группа объектов. Выберите VMmanager 6.
- Interfaces — сетевые интерфейсы. Нажмите Add → Agent.
- IP address — IP-адрес сервера c платформой.
- DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10050.
- Description — произвольный комментарий.
- Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
- Enabled — включите опцию, чтобы активировать мониторинг платформы.
- Перейдите на вкладку Templates и введите в поле Link new templates: Template VMmanager 6 Master.
- Перейдите на вкладку Macros и добавьте макросы:
- Нажмите Add.
- Перейдите в Configuration → Hosts → Create host.
- Включите мониторинг узлов кластера в Zabbix:
- Перейдите в Configuration → Hosts → выберите сервер с платформой → Discovery.
-
В разделе Discovery Rules в строке Template VMmanager 6 Master: Host discovery нажмите Host prototypes.
- В разделе Host Prototypes включите для сервера опции Create enabled и Discover.
- Перейдите в Monitoring → Hosts → выберите сервер с платформой → Inventory.
- В разделе Host Inventory нажмите Discovery.
- Выделите строку VMmanager 6 Master: Host discovery → Execute now.
- Перейдите в Configuration → Hosts → выберите сервер с платформой → Discovery.
Zabbix подключится к VMmanager и получит список узлов кластера для мониторинга. Чтобы новые узлы кластера автоматически добавлялись в настройки Zabbix, установите на узлы агент Zabbix.
Добавление отдельных ВМ для мониторинга
- Перейдите в Configuration → Hosts → Create host.
- Добавьте настройки ВМ:
- Host name — произвольное имя для обозначения ВМ в базе данных Zabbix.
- Visible name — произвольное имя для отображения ВМ в интерфейсе Zabbix.
- Groups — группа объектов. Выберите Virtual machines.
- Interfaces — сетевые интерфейсы. Нажмите Add → Agent.
- IP address — IP-адрес ВМ.
- DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
- Connect to — тип подключения. Выберите IP.
- Port — порт подключения. Оставьте значение по умолчанию — 10050.
- Description — произвольный комментарий к ВМ.
- Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
- Enabled — включите опцию, чтобы активировать мониторинг этой ВМ.
- Перейдите на вкладку Templates и выберите в поле Link new templates шаблон для мониторинга ВМ:
- Нажмите Add.