Я бы логично предположил что придется много скриптов писать, но я бы пошел таким путем.
На vCenter сделать скрипт с обработкой алертов от ИБП, далее в зависимости от того,
с какого ИБП пришел сигнал - выбираем ЦОД, кластер, и гасим в нем все ВМ.
Для apcupsd возможны варианты когда отдельные демоны каждый со своим конфигом
мониторят конкретные ИБП, и скрипты по проблемам с питанием тоже получаются
индивидуальные для каждого ИБП. Правда, это решение на случай сохранения связи по сети
между vCenter и хостами. Если возможна потеря связи - тут думать крепко надо.
PS если что - лично не делал, не настолько крут.