Estas son dos cosas diferentes, por lo que no es una situación o ninguna.
Splunk es para centralizar y analizar sus registros. Es capaz de generar alertas, por lo que puedo ver cómo esta funcionalidad se puede confundir con Nagios. Pero Nagios es una solución de monitoreo y alerta de infraestructura y servicios. Puede monitorear cosas que no necesariamente tienen registros como el uso de la CPU, la cantidad de procesos, incluso verificar si los certificados SSL están a punto de caducar. Es posible que los registros no le indiquen que Apache ha dejado de responder a las solicitudes http donde Nagios sí puede.
Entonces, en la mayoría de las situaciones, querrás tener algo que haga cada uno de estos trabajos. Para la correlación y el análisis de registros no hay muchas opciones de código abierto, pero Octopussy se ve bastante bien. Para el monitoreo de infraestructura, alertas y escalamientos, hay una serie de soluciones disponibles. Tanto comercial como libre / de código abierto.