nate wrote:
I wrote a few scripts that get CPU usage and feed it into SNMP for retrieval for my cacti systems.
My company used to rely on the built in linux SNMP stuff for cpu usage(before I was hired) and they complained how it always seemed to max out at 50%(on a dual cpu system).
I've been using my own methods of CPU usage extraction using sar for about 6 years now and it works great, only downside is sar keeps being re-written and with every revision they make it harder and harder to parse it(RHEL 3 was the easiest by far).
Sample graph - http://portal.aphroland.org/~aphro/cacti-cpu.png
That particular cacti server is collecting roughly 20 million data points daily(14,500/minute). *Heavily* customized for higher scalability.
Have you looked at OpenNMS for this? It's java with a postgresql backend for some data and jrobin (equivalent to rrd) for some. It needs a lot of RAM and has the same i/o bottleneck as anything else updating large numbers of rrd files but otherwise is pretty scalable and includes a lot more features than cacti.