Чем мониторить состояние приложения?
Заббикс умеет выполнять любые команды в агенте. Вы можете добавить какой-нибудь простой CLI интерфейс к вашей системы, чтобы bin/status отдавал просто текстовые данные или искал по какому-то параметру.
У меня реализованно так, что приложения хранят свои статусы и основные показатели в Redis, а Zabbix читает оттуда. Получается, что со стороны заббикса, нужно знать только ключ, со стороны приложений редис и так везде используется
Конечно выбор Заббикс (или коммерческие системы мониторинга).
Не 2 по тому, что для мониторинга не редко нужно повышать уровень доступа (некоторые моменты можно узнать только руту, или кому-то из группы ХХХ). Через вэб такое делать… опасно.
Не 3. По тому что зачем писать то, что написано давно, и используется активно.
Не 4. По тому, что не все Вы сможете отдавать в наружу. Да и не доверяю я этим проксиагентам.

SNMP — сразу отпугивает аутентификация, вернее её отсутствие — всё хорошо с аутентификацией zabbix snmpv3 authpriv. Даже шифрование есть. Но кроме SNMP, к забиксу можно прикрутить любой транспорт или плагин. У меня к примеру он спрашивает о состояни баз и фронтов через WEB. В энтерпрайзах почти всегда мониторинг идет через SNMP. Есть даже железки, которые сериальный порт обворачивают в SNMP ;) 
Короче почитайте в группах. Забиксовое комюнити умеет мониторить почти всё.