I currently have Nagios installation for monitoring various systems (mainly Linux). I would like to implement some graphing tool for historical data (CPU, memory, disk usage, web server QPS etc). I've tried Nagiosgrpah however it's not reliable and very limited.
I would like to try Cacti but I'm not sure what's the recommenced/secure way to pull the data from the remote servers. Is there some agent that needs to be installed on the monitored machine?
I've came across other tools like Ganglia and Graphite.
Could you recommend any of these tools in my case?
Regards
Cacti is capable of pulling data through a variety of means.
Using the most popular templates (and most templates in general) provide the statistic data via SNMP or SSH.
So to address your inquiry more directly: Cacti doesn't really require any special 'cacti daemon' to be run on a host to be monitored;
I use it to monitor apache, MySQL, generic Snmp oids, Cisco equipment, etc.
Have you heard of Munin?
I find Munin to be easy to install and setup. And generally has better interface and feel to it. Prettier graphs in other words :)
http://munin-monitoring.org/
You have to configure server and node to make it work.
Cacti is based on MRTG, which uses SNMP to query (mainly) networking equipment.
Wile it now includes a dozen different data-gathering methods (and dozens more can be added manually), it performs very well with SNMP data, and is really built around handling and displaying SNMP data.
There are few devices that do not offer some sort of SNMP output - consumer devices included.
Only very cheap switches or routers tend to omit such basic networking tools.
You can gather and plot thousands of data points with absolutely minimal resources (single CPU, 1GB memory, few GB for the graphs and database) and it works fine on a VM, too :)