Nagios - это прежде всего инструмент мониторинга. То есть он контролирует любое количество условий для сервисов и серверов, которые вы определяете. Затем, если есть проблема (например, сбой, медленная загрузка или что-то еще, что вы определили), тогда отправляются уведомления.
Cacti - это не столько инструмент мониторинга, сколько инструмент для сбора отчетов и построения графиков из таких данных, как SNMP.
Zabbix представляет собой комбинацию из двух.
Мы переехали из Nagios в Zabbix около года назад, в основном для этого гибридного подхода. Нам понравилась простая интеграция с данными JMX, SNMP и многим другим для рисования графиков, а также довольно сложный инструмент мониторинга и оповещения (очень похожий на Nagios в этом смысле).