[hobbit] Logfile monitoring - I'd like some comments
Thomas
tlp-hobbit at holme-pedersen.dk
Wed Feb 15 09:23:22 CET 2006
Hi Henrik,
So on the central server there will be 2 configuration files. One for
the log retrival defining interesting items ( I guess this is what today
is yellow and red strings) and then a hobbit-client configuration file
where you define the stings again ? I am not clear on why you would want
to seperate files with some of the same information in. I get the idea
of a log retrival configuration file with the log file names (both OS
dependant and local files) but why not have it all in 1 file. Then you
could have a LOGFILE-CLASS definition to put on a host group or single
host in the hobbit-clients file.
Just a thought.
Will this new logfile retrival also be able to look for logfiles with
variable file names, ie. logfile.txt-20060215 for today and then a new
filename logfile.txt-20060216 tomorrow ? I know its stupid but that's
how the vendor creates it.
Best regards,
Thomas
Henrik Stoerner wrote:
> A few days ago, I mentioned that I would like to do logfile
> monitoring for the next Hobbit release.
>
> I've worked a bit on this and have a prototype solution for
> it, which you can test with the current snapshots. I'd like
> some comments on how it works to make sure I haven't overlooked
> something before committing myself.
>
> There are several objectives:
> - As far as is possible, logfile monitoring must be configured
> centrally, on the Hobbit server. Having to go to each server
> to (re)configure what logfiles to check and what to look for
> simply doesn't work.
> - The amount of data sent from each client to Hobbit should be
> small, but it must catch the "important" stuff.
> - You rarely know in advance what will be in the logs when you
> need them the most. So the monitor should give you as much
> of the log entries as possible, not just those lines that
> match some pre-defined strings or regex'es.
> - Some systems log messages on multiple lines. The system must
> be able to show all parts of a log entry.
> - Logfile entries must appear on the monitor for some time after
> they show up in the logs, but should also disappear after a
> while.
>
> In other words: The ideal solution would let you have the entire
> logfile available on the Hobbit server - but that obviously
> won't work. So the client should - after weeding out the really
> irrelevant stuff - send us as much of each logfile as possible.
>
> My proposed solution is this:
> - On the Hobbit server, there's a log-monitoring configuration
> file for the Hobbit clients. This defines which logfiles are
> monitored for a single client installation, or you can define
> it for a group of clients. (The idea is to define at least
> one group for each operating system, since the standard
> system logs are OS dependant). This configuration lists the
> log filename, the maximum amount of data to send from this
> logfile, a regex "noise" filter (i.e. lines that are stripped
> from the logfile), and *optionally* a regex identifying really
> interesting stuff in the logfile that should always be
> reported.
> - When a client connects to the Hobbit server and sends the
> normal client message, the Hobbit server will respond with
> the logfile configuration for this client. So the client
> has a copy of the central configuration file, but only the
> part that it needs for itself. The reason for sending this
> as a response to the client message is to avoid an extra
> round-trip from client to server; piggy-backing the config
> push on the client message means that it is almost without
> any performance cost on the server side.
> - When the client runs, it uses the local copy of the configuration
> file to determine what logs to look at. For each logfile, it
> maintains a "where-was-I-the-last-time" status, so it only
> looks at the entries made to the logfile during the past 30
> minutes. First, the client strips off any "noise" messages.
> Then, if all of the entries fit into the maximum size that
> can be reported, it sends all of the log to the Hobbit server.
> If there is more than will fit, it first checks to see of the
> regex defining the really interesting stuff is present in the
> log - if it is, then it drops anything before the interesting
> text. If there is still more than will fit, it keeps the
> interesting text + a few lines after that (to allow for
> multi-line log-entries which some OS'es have), and then
> sends that together with as much of last part the log as will
> fit inside the max. message size.
>
> This part has been implemented in the Hobbit daemon (hobbitd),
> and in the clients via a new "logfetch" utility. This utility
> uses standard regular expressions - not the Perl-compatible
> ones, because that would require you to install the PCRE
> library on all of your clients. The standard regex routines
> are included in all (I think) system libraries used today.
>
> The last part is what happens when the log data arrives on the
> Hobbit server. Currently, there's a simple processing of this
> data to just dump it into an always-green "msgs" column. What
> should happen once I get it coded is:
> - Data from each logfile is matched against a set of strings
> (regex'es) defined in the hobbit-clients.cfg file. Each string
> determines the color (red, yellow, green) and sets the color
> of the msgs column accordingly.
>
> When the color has been decided, all of the normal alerting
> happens automatically. I do plan on making a more fine-grained
> alert mechanism (for the msgs, procs and disk statuses) so you
> can direct alerts to different groups depending on exactly
> which log-message triggered the alert, but that will not be
> part of this release.
>
>
> So - how does that sound ? Anything I've missed ?
>
>
> Regards,
> Henrik
>
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
>
>
>
More information about the Xymon
mailing list