VMmanager

Zabbix

Zabbix — это система мониторинга с открытым исходным кодом. С помощью Zabbix вы можете настроить мониторинг виртуальных машин и других сущностей платформы.

Основные компоненты Zabbix:

  • сервер — компонент для управления сетевыми сервисами, хранения данных мониторинга, оповещения администратора о проблемах с оборудованием. Вы можете использовать собственный сервер Zabbix или создать ВМ для выполнения этих функций;
  • прокси — промежуточный сервис, который собирает данные с ВМ и передаёт на сервер. Необязательный компонент. Прокси следует использовать, чтобы сократить нагрузку на сервер или если ВМ не имеют прямого доступа к серверу. Вы можете создать одну или несколько ВМ, выполняющую роль прокси;
  • агент — программное обеспечение, устанавливаемое на ВМ или узел кластера. Агент собирает данные мониторинга и передаёт на сервер или прокси.

Подробнее о Zabbix см. в официальной документации.

Установка компонентов Zabbix

Установка Zabbix на ВМ производится с помощью скриптов из репозитория ISPsystem. Доступны для установки версии 5.0 LTS, 6.0 LTS и 6.4. Скрипты могут быть запущены как при создании ВМ, так и после создания. Подробнее см. в статье Запуск скриптов на ВМ.

Для установки Zabbix на узел кластера потребуется создать Ansible-скрипт установки. Подробнее см. в статье Создание скрипта для узла.

Сервер

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

Чтобы установить на ВМ сервер Zabbix:

  • версии 5.0:
    1. Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
    2. Запустите на ВМ скрипт Zabbix server. Выберите версию 5.0.
  • версии 6.0 или 6.4:
    1. Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
    2. Запустите на ВМ скрипт Zabbix server. Выберите нужную версию.

Веб-интерфейс сервера будет доступен по URL http://<IP созданной ВМ>:8080. Например, http://192.168.100.100:8080. Для авторизации используйте:

  • имя пользователя — Admin;
  • пароль — zabbix.

Прокси

Чтобы установить на ВМ прокси Zabbix:

  • версии 5.0:
    1. Cоздайте ВМ с ОС CentOS 7, Ubuntu 20.04 или Debian 10.
    2. Запустите на ВМ скрипт Zabbix server. В параметрах укажите IP-адрес сервера Zabbix и выберите версию 5.0.
  • версии 6.0 или 6.4:
    1. Cоздайте ВМ с ОС AlmaLinux 8, Ubuntu 22.04 или Debian 12.
    2. Запустите на ВМ скрипт Zabbix proxy. В параметрах укажите IP-адрес сервера Zabbix и выберите нужную версию.

Агент

Чтобы установить на ВМ агенты Zabbix:

  1. Запустите на ВМ:
    • с ОС семейства Linux — скрипт Zabbix agent2 linux;
    • с ОС Windows — скрипт Zabbix agent2 windows.
  2. Укажите в параметре ZABBIX_SERVER:
    • если вы используете прокси — IP-адрес прокси Zabbix;
    • если вы не используете прокси — IP-адрес сервера Zabbix.
  3. Выберите Версию Zabbix server.

Чтобы установить агенты Zabbix на узлах кластера:

  1. Перейдите в Скрипты Для узлов Создать скрипт.
  2. Создайте Ansible-скрипт и укажите в нём IP-адрес сервера Zabbix вместо фрагмента <zabbix_server> в секциях Change Server IP и Change Active Server IP:

    Содержимое скрипта
  3. Запустите скрипт на узлах кластера.

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

Добавление конфигурации прокси

  1. Перейдите в AdministrationProxiesCreate proxy.
  2. Укажите настройки прокси:
    1. Proxy name — произвольное имя прокси.
    2. Proxy mode — режим работы прокси. Выберите Passive.
    3. IP address — IP-адрес прокси.
    4. DNS name — имя DNS-сервера. Оставьте значение по умолчанию — localhost.
    5. Connect to — тип подключения. Выберите IP.
    6. Port — порт подключения. Оставьте значение по умолчанию — 10051.
    7. Description — произвольный комментарий к прокси.
  3. Нажмите Add.

Добавление мониторинга платформы

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

    curl -k -X POST -H "accept: application/json" -H "Content-Type: application/json" 'https://domain.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 — токен авторизации.

  2. Создайте токен с увеличенным сроком действия:

    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 — токен авторизации с увеличенным сроком действия.

  3. Скачайте шаблоны из репозитория Zabbix:

  4. Импортируйте загруженные шаблоны в Zabbix: ConfigurationTemplates Import → выберите файл шаблона → ImportImport.
  5. Включите мониторинг сервера с VMmanager в Zabbix:
    1. Перейдите в ConfigurationHostsCreate host.
    2. Укажите параметры сервера:
      1. Host name — произвольное имя для обозначения сервера в базе данных Zabbix.
      2. Visible name — произвольное имя для отображения сервера в интерфейсе Zabbix.
      3. Groups — группа объектов. Выберите VMmanager 6.
      4. Interfaces — сетевые интерфейсы. Нажмите AddAgent.
      5. IP address — IP-адрес сервера c платформой.
      6. DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
      7. Connect to — тип подключения. Выберите IP.
      8. Port — порт подключения. Оставьте значение по умолчанию — 10050.
      9. Description — произвольный комментарий.
      10. Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
      11. Enabled — включите опцию, чтобы активировать мониторинг платформы.
    3. Перейдите на вкладку Templates и введите в поле Link new templates: Template VMmanager 6 Master.
    4. Перейдите на вкладку Macros и добавьте макросы:
      1. {$VM6_TOKEN} — токен авторизации с увеличенным сроком действия.
      2. {$VM6_URL} — URL сервера с платформой в формате https://vm6.example.com/vm/v3, где vm6.example.com — доменное имя или IP-адрес сервера с платформой.

    5. Нажмите Add.
  6. Включите мониторинг узлов кластера в Zabbix:
    1. Перейдите в ConfigurationHosts → выберите сервер с платформой → Discovery.
    2. В разделе Discovery Rules в строке Template VMmanager 6 Master: Host discovery нажмите Host prototypes.

    3. В разделе Host Prototypes включите для сервера опции Create enabled и Discover.
    4. Перейдите в Monitoring Hosts → выберите сервер с платформой → Inventory.

    5. В разделе Host Inventory нажмите Discovery.

    6. Выделите строку VMmanager 6 Master: Host discoveryExecute now.

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

Добавление отдельных ВМ для мониторинга

  1. Перейдите в ConfigurationHostsCreate host.
  2. Добавьте настройки ВМ:
    1. Host name — произвольное имя для обозначения ВМ в базе данных Zabbix.
    2. Visible name — произвольное имя для отображения ВМ в интерфейсе Zabbix.
    3. Groups — группа объектов. Выберите Virtual machines.
    4. Interfaces — сетевые интерфейсы. Нажмите AddAgent.
    5. IP address — IP-адрес ВМ.
    6. DNS name — имя DNS-сервера. Оставьте пустое значение по умолчанию.
    7. Connect to — тип подключения. Выберите IP.
    8. Port — порт подключения. Оставьте значение по умолчанию — 10050.
    9. Description — произвольный комментарий к ВМ.
    10. Monitored by proxy — используемый прокси. Выберите имя прокси, если вы его используете.
    11. Enabled — включите опцию, чтобы активировать мониторинг этой ВМ.
  3. Перейдите на вкладку Templates и выберите в поле Link new templates шаблон для мониторинга ВМ:
    • с ОС семейства Linux — Template OS Linux by Zabbix agent;
    • с ОС Windows — Template OS Windows by Zabbix agent.
  4. Нажмите Add.