Munin vs Nagios
We're currently using Nagios to monitor about 20 Linux machines (services and functional links). I just find out about Munin and I wonder if this is a Nagios replacement, or it can be used together with Nagios? I don't want to spend hours setting it up, just to discover that I already have all that functionality with Nagios.
I'd especially appreciate if someone who used both programs can give some insight about your experience. Which is better for which task and what do you recommend to use?
Note: we also used Cacti for some time. The main problem we have with Nagios is that setup takes too long and isn't very straightforward.
Munin and Nagios are really different tools.
From the official Munin website:
Munin is a networked resource monitoring tool that can help analyze resource trends and "what just happened to kill our performance?" problems. It is designed to be very plug and play. A default installation provides a lot of graphs with almost no work.
Nagios is a monitoring (alerting) tool. Munin could be considered a replacement for Cacti.
We use both of them: Nagios and Munin.
- Nagios tell us in real time if something is wrong: like web server down, database load average, etc.
- Using Munin you can see the trends and the history about why that happenend.
Munin definitely works best in parallel with Nagios. It can also tie into it, sending notifications of thresholds being exceeding into the Nagios notification system. The reason we use it is because it is virtually trivial to set up new monitors. Nagios requires a little bit more effort.
Note also though that PNP4Nagios gives graphing capabilities to Nagios - most plugins will report performance data, and then PNP4Nagios will store that info in RRD databases and display it as graphs in the Nagios interface. We use it in addition to Munin, as it gives graphs of network services (munin's main strength is monitoring the local box).
One final note - we also use Cacti, as it is the most useful tool for graphing switch and router ports via SNMP. We have <10 devices monitored by it. It's too much of a pain to set it up to manage actual servers - munin and Nagios/NRPE are much easier to manage than SNMP agents.
Any time I search for anything to do with monitoring Nagios is prominent in the answers, yet I'd never heard of Munin till I saw your question. That's a bit of a clue to me. A qquick look at the web site you linked to doesn't really make things clear.
Why not set up Munin in parallel with Nagios and see what it will do for you? That's what I intend to do. Who knows, in the future it might be THE monitoring tool to use.
There's a number of related reasons why you want these monitoring tools. It's worth keeping these in mind as separate needs that likely require separate tools, though there's certainly overlap in what the tools can provide.
- Focus attention on problems as they occur.
- Provide information for analyzing what's going wrong and when.
- Automate responses.
Eg these are the primary focusses of:
- Nagios
- Munin or Cacti
- Monit
You certainly can have monit send alerts, but it's a clumsy tool for situational awareness.
You can also integrate performance graphing into Nagios, but I'm not sure there's a convincing case for doing so. Munin is so much easier to configure.