Перейти к содержимому

VMware vSphere

Сервер vCenter и управляемые им хосты либо отдельный хост ESXi: хосты, которые перестали отвечать, оставлены в режиме обслуживания или сообщают красное состояние, виртуальные машины и их VMware Tools, заполняющиеся или недоступные хранилища данных и тревоги, поднятые самим vSphere.

DumbMonit читает vSphere под выделенным пользователем со встроенной ролью Read-only. Он никогда не включает и не выключает ВМ, никогда не переводит хост в режим обслуживания и никогда не подтверждает тревогу.

Сбой, за которым стоит следить: заполняющееся хранилище данных. Когда хранилище с тонким выделением достигает 100%, все ВМ, которым нужно писать на него, приостанавливаются одновременно. Тревоги vCenter тоже сообщают об этом, но только тому, у кого открыт клиент.

DumbMonit обращается к vSphere Web Services API (SOAP, /sdk), а не к REST API (/api/vcenter/*): у отдельного хоста ESXi нет REST API, а в vCenter REST API не сообщает ни режим обслуживания, ни общее состояние (overallStatus), ни состояние VMware Tools, ни сработавшие тревоги. Единое представление всей инвентаризации считывается за один проход, постранично, и освобождается в конце.

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

Все метрики имеют префикс dumbmonit_vsphere_. Значения состояния соответствуют overallStatus vSphere: 0 зелёный, 1 жёлтый, 2 красный, 3 серый (неизвестно).

МетрикаЧтоМетки
infoзначение 1product (vcenter или esxi), version, build
hostsхосты по состоянию подключения: connected, disconnected, notRespondingstate
host_connection_state0 подключён, 1 отключён администратором, 2 не отвечаетesxi
host_power_state0 включён, 1 ждущий режим, 2 выключен, 3 неизвестноesxi
host_maintenance1 в режиме обслуживанияesxi
host_statusобщее состояниеesxi
host_cpu_percent, host_memory_percent, host_memory_bytes, host_uptime_secondsтолько подключённые хостыesxi
vmsВМ по состоянию питания: poweredOn, poweredOff, suspended (шаблоны исключены)state
templatesшаблоны ВМ
vm_power_state0 включена, 1 выключена, 2 приостановлена; не более 1000 ВМvm
vm_statusобщее состояниеvm
vm_tools_statusтолько включённые ВМ: 0 актуальна, 1 устаревшая версия, 2 установлена, но не запущена, 3 не установленаvm
datastoresхранилища данных
datastore_capacity_bytes, datastore_free_bytes, datastore_used_percentdatastore
datastore_accessible1 доступно, 0 недоступноdatastore
datastore_statusобщее состояниеdatastore
alarmsсработавшие неподтверждённые тревоги по цвету: red, yellowstatus
alarms_acknowledgedсработавшие тревоги, уже подтверждённые
alarmодна серия на каждую неподтверждённую тревогу, значение = её код состояния, не более 64alarm (её имя), entity, entity_type, status
scrape_errorsвызовы, завершившиеся ошибкой при последнем опросе

Применяемые встроенные правила: vSphere host not responding, vSphere host health red, vSphere host left in maintenance, vSphere datastore almost full, vSphere datastore inaccessible, vSphere VM tools not running, vSphere red alarm, а также Monitor unreachable.

Панель над графиками показывает то, что сохранил опрос; открытие страницы никогда не обращается к vSphere. Сначала она сообщает, что не так (хосты не отвечают, красные тревоги, хранилища данных почти заполнены или недоступны), затем хосты с их нагрузкой, хранилища данных с уровнем заполнения и ВМ по состоянию питания.

На симуляторе govmomi vcsim 0.56.0, в режимах vCenter и ESXi: вход и отклонённый пароль, повторное использование и истечение сессии, постраничное чтение инвентаризации, не отвечающий хост, хост в режиме обслуживания, выключенная ВМ и шаблон. Симулятор не поднимает тревог: чтение сработавших тревог проверено по документированной структуре AlarmState Web Services API.

Создайте пользователя только для чтения в vSphere

Заголовок раздела «Создайте пользователя только для чтения в vSphere»
  1. В vCenter: Administration → Single Sign On → Users and Groups → Users, домен vsphere.local → Add. Назовите пользователя так и задайте ему длинный случайный пароль.

    dumbmonit
  2. Там же, в vCenter: Administration → Access Control → Global Permissions → Add. Выберите этого пользователя, роль Read-only и отметьте Propagate to children. Read-only видит все хосты, ВМ, хранилища данных и тревоги и ничего не может изменить.

  3. Вместо этого на отдельном хосте ESXi: в клиенте хоста Manage → Security & users → Users → Add user с тем же именем. Затем Host → Actions → Permissions → Add user: выберите его, роль Read-only и отметьте Propagate to all children.

  4. В DumbMonit введите адрес vCenter или хоста, например “vcenter.lan” или “esxi1.lan”, с именем пользователя как создано: dumbmonit@vsphere.local в vCenter, dumbmonit на хосте. Если хостами управляет vCenter, добавьте только vCenter: он сообщает обо всех хостах, ВМ и хранилищах данных.

  5. DumbMonit только читает, через vSphere Web Services API (/sdk). Он никогда не включает и не выключает ВМ, никогда не переводит хост в режим обслуживания и никогда не подтверждает тревогу.

Учётные данныеПоля
Имя пользователя / парольВыделенный пользователь с ролью Read-only: dumbmonit@vsphere.local в vCenter, dumbmonit на хосте.

Адрес: имя хоста или IP (vcenter.lan), host:port или полный URL; завершающий /sdk или /ui допускается. Параметры: порт (443), проверка сертификата, тайм-аут запроса (20 с) и сработавшие тревоги (читать).