[Osiris-devel]logging design help
Brian Wotring
brian at shmoo.com
Fri Aug 9 23:27:31 EDT 2002
Here are some thoughts and questions for how to tackle logging. It's
important and I don't want it to be done as an afterthought, I think
it's very necessary to no screw this up for an app like Osiris. There
are two modules involved here --the scanning daemon, and the management
daemon.
[scanning daemon]
No log file will be used, only syslog. The scanning daemon doesn't have
a config file, so I purpose a simple logging level scheme by which you
set via command line arguments. This would be something like -l <level>
where level is something like 0,1,2,3 ( none, low,medium,high ). All
log statements in the code are assigned a level. I think this is a very
simple and effective logging mechanism for this daemon, it can be
implemented with not much pain.
[management daemon]
Two types of logging, host level logging, and management level logging.
The management level pertains to the management daemon itself. Host
level is a set of logs for each host, stored in the host's directory,
under /logs.
For management level logging, there will be two log files, "access.log"
and "error.log", similar to apache. The access log will contain only
log events pertaining to communication with management apps ( CLI,
GUI ). The error log will contain error log events related to things
like loading of certs/keys, unauthorized connection attempts,
unrecognized requests, restart events, events related to dealing with
the local host repository, etc. In the conf file for the management
daemon ( osirismd.conf ) there will be options to set the location where
these two log files will be stored, and what level of logging should be
done ( low, medium, high ). The logging level could also be specified
on the command line when launching the daemon, that would override the
level in the conf file, for that instance.
For host based logging, there will also be an access, and error log for
each host. These files will be stored under a logs directory in the
management daemon's host repository, alongside the databases and configs
for that host. The logs will work in the same way that the they do for
the management daemon, only the events will be related to a particular
host, mostly communication with the scanning daemon.
Questions:
1. Is this even close to being a good direction to go in as far as logs?j
2. The management daemon can easily have their logs put in /var/log, for
example, but what about the host logs? Is it bad that they are under
the repository, most likely somewhere like
/usr/local/osirsis/hosts/<host>/logs ??
3. What about rotating logs? Is that something that should certainly be
done by the daemon? Is it something that can wait for a future release?
4. Is host based logging even a good idea? What is the best way to
balance the performance of managing hundreds of hosts with respect to
having open file descriptors?
I'm not a sys admin, but I pretend to be one at home so I'm a bit
confused as to whether or not I'm thinking correctly here. I don't know
how I one would ideally like to deal with logs like this.
--
Brian Wotring ( brian at shmoo.com )
PGP KeyID: 0x9674763D
More information about the osiris-devel
mailing list