[mrtg] Logging to database
mpetach at yahoo.com
Sun Oct 21 00:52:37 CEST 2007
It's unlikely the graph creation is the problem for you. I went through the effort of re-writing rateup to remove
all the GD calls and turned it into an update-only version, with no graphing, so that I could offload all the graphing
to a separate server that was running the webserver; going through all that work only netted me a 14% performance
improvement. Most of the time is spent in updating the data, not in drawing the graphs.
>From our experiences at work writing SNMP data to mySQL as part of RTG. it's unlikely you'll get better
performance in trying to do highly structured SQL calls for writing data than you will in doing block oriented
updates to a local RRD file. So if item 1 is really a concern for you, consider moving to RRD files rather than
moving to Oracle, as there's a lot more overhead involved in sending SQL updates than there is in writing bits
to a local disk. However, if item 3 is more of an issue than item 1, moving to SQL would make sense; in
that case, I'd investigate RTG: http://rtg.sourceforge.net/ as it is already written to do its data storage via
----- Original Message ----
From: Craig Metzer <ucantspamthis at hotmail.com>
To: mrtg at lists.oetiker.ch
Sent: Friday, October 19, 2007 9:44:27 AM
Subject: [mrtg] Logging to database
Has anyone written a mod to log targets to an Oracle (or any other) database using SQL rather than local log/rrd files?
I'm using MRTG to monitor performance on a large network. I have the need to change the log format to use Oracle for several reasons.
1. I'm running into performance problems with the dotlog files.
2. I'm using the Sean Adams 95th%ile to archive my 5 minute samples and
calculate 95th%ile over several days with the 5 minute granularity.
3. I need reporting capabilities. We use Crystal Reports, so storing my
data in the enterprise Oracle db opens the door to many reporting options.
4. We're replacing MRTG with Proviso next year, so I just need to keep it
going until we get the new system on-line. I don't want to invest too
much effort in developing the db support.
I've got RRD support installed and I'm, using it where I can, but the bulk of my targets use log files. My processors are at 100% most due to IOwait. I believe I'm chewing up my resources writing graphs.
It looks easy enough to write a function to write to the db using SQL. I need to create the graphs on-demand like is done with RRD, so I could mod the CGI script to pull the data from the db rather than RRD. I think that's more involved because it looks like the graph functions are in the RRD mod. If anyone has done this in whole or in part, I'd like to start with that. If not, does anyone have any ideas on the best approach to this?
Climb to the top of the charts! Play Star Shuffle: the word scramble challenge with star power. Play Now!
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mrtg