given that you already have a nagios installation, consider nagiosgraph or pnp4nagios.
nagiosgraph and pnp4nagios do a pretty nice job of plotting nagios performance data. nagiosgraph has a parameter-based approach to configuration, pnp4nagios has a template-based approach.
- both automatically detect new hosts/services whenever the nagios configuration changes
- both do graph zooming
- both provide graphs when you mouseover specific hosts/services
- both provide many ways to slice and dice your data
- both detect and graph the critical and warning levels you have already defined in nagios
- both can be embedded directly into the nagios frame for seamless, uncluttered navigation from current status to history and back
slicing and dicing the data are pretty important, imho. for example, you can view all services on a single host, or view all hosts with a specific service, or view arbitrary collections of graphs for arbitrary hosts and services.
installation is not trivial, but not difficult. a lot depends on how much you want to customize things. for example, nagiosgraph is 'install.pl' or 'rpm -i nagiosgraph.rpm' or 'dpkg -i nagiosgraph.deb'. pnp4nagios is './configure; make; make install'.
n2rrd can do some of these things as well, but it is not as polished and requires more work to configure.
rrdtool has quirks wrt data storage, and any system will have sampling issues. rrdtool does some data smoothing by default, but you can capture (and graph) maximums and/or minimums in addition to averages if necessary.
every rrdtool-based approach suffers from data/graph staleness since the schema in each rrd file is static and most systems use the rrd filename to identify the data. data are typically never lost when a hostname or service name changes; the rrd files still exist on disk. but some user interfaces provide ways to see 'stale' rrd files, others require manual housekeeping via command line. on many installations this is only an issue when initially configuring the system, but in dynamic environments (e.g. monitoring virtual machines whose lifetime is only a few months) it can become tedious.
one final note. there are actually two parts to trending: data collection and data display. if you go with a standalone graphing system rather than extending your existing nagios installation, then you might have to install additional components on your windows machines in order to collect the data.
I would expect the munin plugin require's nginx's status module. This is not compiled in by default, nor is it automatically made available even when it is compiled in.
Compile nginx with the --with-http_stub_status_module flag.
Make sure you've enabled stub status inside a server {}
block like this:
location /nginx_status {
stub_status on;
access_log off;
}
Restart nginx so that your changes take effect.
curl
http://yourdomain.example.com/nginx_status to verify nginx is in fact returning data.
Make sure munin knows the full path to your nginx_status URL.
Best Answer
You could have all your collectd-nodes push (with the network plugin) to a central node, which in turn write all the data to rrd-files. You can now "fake" munin into using those values for graphing. So, both tools do not know about each other and are just using the same files.
However, I recommend to use the Collectd Graph Panel as RRD-Presenter. It's simple but configurable. It is a simple PHP script so deployment is super easy.