On Friday 08 December 2006 14:05, Henrik Stoerner wrote:
Be careful with the status messages, at least if you want to store the current status in a DB. Historical status messages - those that are currently stored in the histlogs/ directory - are OK, but for the current status log I think that the overhead associated with updating each status log in a DB every 5 minutes will be very high. And the number of times you'll actually be retrieving these data will probably be very small. Today I could have used such information. One of our servers went down, out of memory status. No way to know the process that did this.
Copying the historical statuslogs (or the current ones) is very easy to do with an extra Hobbit worker module hanging off the "status" or "stachg" channels. You do not need to make any modifications to Hobbit itself - you basically run "hobbitd_channel --channel=stachg MYDBPROGRAM" and your program is fed all of the status messages on it's STDIN. Is there any information about the channels? I know there is also a notes channel, but I couldn't find any (usefull) information how to use this. Same for the data channel. I want to "misuse" the hobbit communication to send extra information.
As for the trends data, I believe there are some patches to the rrdtool library that will let you store the RRD files in a DB. Check the rrd-users mailing list. Thx, I will take a look at it. Otherwise, patching create_and_update_rrd in do_rrd.c is not that hard so an external command can be called.
My personal favourite for a DB backend would be SQLite, since this eliminates all requirements for an external DB ressource. You don't want your monitoring to stop working when the DB becomes inaccessible. The same mysql database will be used for other stuff.
Stef