VMware vSphere
Сервер vCenter и управляемые им хосты либо отдельный хост ESXi: хосты, которые перестали отвечать, оставлены в режиме обслуживания или сообщают красное состояние, виртуальные машины и их VMware Tools, заполняющиеся или недоступные хранилища данных и тревоги, поднятые самим vSphere.
DumbMonit читает vSphere под выделенным пользователем со встроенной ролью Read-only. Он никогда не включает и не выключает ВМ, никогда не переводит хост в режим обслуживания и никогда не подтверждает тревогу.
Сбой, за которым стоит следить: заполняющееся хранилище данных. Когда хранилище с тонким выделением достигает 100%, все ВМ, которым нужно писать на него, приостанавливаются одновременно. Тревоги vCenter тоже сообщают об этом, но только тому, у кого открыт клиент.
Почему Web Services API
Заголовок раздела «Почему Web Services API»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 | значение 1 | product (vcenter или esxi), version, build |
hosts | хосты по состоянию подключения: connected, disconnected, notResponding | state |
host_connection_state | 0 подключён, 1 отключён администратором, 2 не отвечает | esxi |
host_power_state | 0 включён, 1 ждущий режим, 2 выключен, 3 неизвестно | esxi |
host_maintenance | 1 в режиме обслуживания | 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_state | 0 включена, 1 выключена, 2 приостановлена; не более 1000 ВМ | vm |
vm_status | общее состояние | vm |
vm_tools_status | только включённые ВМ: 0 актуальна, 1 устаревшая версия, 2 установлена, но не запущена, 3 не установлена | vm |
datastores | хранилища данных | |
datastore_capacity_bytes, datastore_free_bytes, datastore_used_percent | datastore | |
datastore_accessible | 1 доступно, 0 недоступно | datastore |
datastore_status | общее состояние | datastore |
alarms | сработавшие неподтверждённые тревоги по цвету: red, yellow | status |
alarms_acknowledged | сработавшие тревоги, уже подтверждённые | |
alarm | одна серия на каждую неподтверждённую тревогу, значение = её код состояния, не более 64 | alarm (её имя), 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»-
В vCenter: Administration → Single Sign On → Users and Groups → Users, домен vsphere.local → Add. Назовите пользователя так и задайте ему длинный случайный пароль.
dumbmonit -
Там же, в vCenter: Administration → Access Control → Global Permissions → Add. Выберите этого пользователя, роль Read-only и отметьте Propagate to children. Read-only видит все хосты, ВМ, хранилища данных и тревоги и ничего не может изменить.
-
Вместо этого на отдельном хосте ESXi: в клиенте хоста Manage → Security & users → Users → Add user с тем же именем. Затем Host → Actions → Permissions → Add user: выберите его, роль Read-only и отметьте Propagate to all children.
-
В DumbMonit введите адрес vCenter или хоста, например “vcenter.lan” или “esxi1.lan”, с именем пользователя как создано: [email protected] в vCenter, dumbmonit на хосте. Если хостами управляет vCenter, добавьте только vCenter: он сообщает обо всех хостах, ВМ и хранилищах данных.
-
DumbMonit только читает, через vSphere Web Services API (/sdk). Он никогда не включает и не выключает ВМ, никогда не переводит хост в режим обслуживания и никогда не подтверждает тревогу.
Учётные данные
Заголовок раздела «Учётные данные»| Учётные данные | Поля |
|---|---|
| Имя пользователя / пароль | Выделенный пользователь с ролью Read-only: [email protected] в vCenter, dumbmonit на хосте. |
Адрес: имя хоста или IP (vcenter.lan), host:port или полный URL; завершающий
/sdk или /ui допускается. Параметры: порт (443), проверка сертификата,
тайм-аут запроса (20 с) и сработавшие тревоги (читать).