Дешевле всего - собирать данные с тех устройств, к которым через data-порт подключены ИБП, через zabbix-agent. Но в целом, если нужен мониторинг - обычно берут бесперебойники с возможностью сетевого доступа.
Да, возможно. Если API отдаёт в JSON - даже не придётся ничего костылить, Заббикс внутри умеет парсить JSON. В противном случае делается скрипт, который забирает пачку данных и форматирует её для Заббикса (например, через отправку с помощью zabbix_sender).
Вы точно понимаете разницу между активным и пассивным режимом? Чтобы получить алерт даже когда заббикс-агент завис, нужно не режим менять, а настраивать триггеры с nodata().
Делаете шаблон с LLD, составляете список камер и для каждой через discovery вылупляете элемент данных с пингованием и соответствующий алерт. Вся информация есть в документации.
Вебморда - это отдельная сущность (от сервера и БД). Если сильно хочется их сделать две - конфигурация НА будет ровно такая же, как для любого вебсайта.
Раз вы пришли к мнению, что стандартные шаблоны для вас слишком подробны - наверное, и конкретные ненужные метрики сможете определить. В противном случае - не морочьте голову и оставьте как есть.