[Cluster-devel] fenced logsys/cman/ccs setup

Fabio M. Di Nitto fdinitto at redhat.com
Wed Jul 2 19:18:02 UTC 2008


On Wed, 2 Jul 2008, David Teigland wrote:

> On Wed, Jul 02, 2008 at 08:22:54PM +0200, Fabio M. Di Nitto wrote:
>>> I was thinking about the error
>>> messages we're switching from syslog to logsys.  So, how do we tell logsys
>>> to use /var/log/messages for errors and a separate file for debug output?
>>
>> Why do you need this? Remember that you are setting a syslog facility.
>> syslog doesn't necessarely send info locally and a certain facility can be
>> directed to a specific file (even remote).
>>
>> The normal /var/log/cluster/fenced.log will collect everything locally (if
>> enabled).
>
> OK, I wasn't properly thinking about the modes.
>
> Because our default mode is LOG_MODE_OUTPUT_SYSLOG_THREADED, the file
> won't be used by default, and error messages will still go to
> /var/log/messages (by logsys using syslog).

The defaults in the other daemons are LOG_MODE_OUTPUT_SYSLOG_THREADED | 
LOG_MODE_OUTPUT_FILE | LOG_MODE_OUTPUT_STDERR. Better catch them all than 
none. I might have missed the email where you said that 
LOG_MODE_OUTPUT_SYSLOG_THREADED should be the only default, but i think 
it's better to spit out a few more messages if we can't configure 
according to user whishes than hiding.

> If someone edits cluster.conf and just adds cluster/logging/to_file="yes",
> without setting cluster/logging/filename, then all log_printf's will go to
> the default filename (in addition to other places if other modes are set).
> This is the only occasion when the default filename will be used.

Not if we use the built-in defaults like i did for the other bits.

> Next, to verify how setting/unsetting the modes works.
>
> By default we have LOG_MODE_OUTPUT_SYSLOG_THREADED.
> - errors go to /var/log/messages
> - debug goes nowhere
> - (if debug was set, debug would go to /var/log/messages)

it might not be /var/log/messages. This is very distro specific.

> If someone sets to_file="yes", it adds LOG_MODE_OUTPUT_FILE, resulting
> in LOG_MODE_OUTPUT_SYSLOG_THREADED | LOG_MODE_OUTPUT_FILE.
> - errors go to both /var/log/messages and /var/log/fenced.log
> - debug goes nowhere
> - (if debug was set, debug would go to both /var/log/messages and
>  /var/log/fenced.log)

Right.

> If someone sets to_file="yes" to_syslog="no", it adds LOG_MODE_OUTPUT_FILE,
> removes LOG_MODE_OUTPUT_SYSLOG_THREADED, leaving just LOG_MODE_OUTPUT_FILE.
> - errors go to /var/log/fenced.log
> - debug goes nowhere
> - (if debug was set, debug would go to /var/log/fenced.log)

Right.

> Say there's a normal setup where no logging is configured, and errors are
> going to /var/log/messages.

Well this only make sense if by default we log only to syslog.

>  Then a person wants to turn on debugging and
> collect the debug messages in /var/log/fenced.log.  What combination of
> to_file, to_syslog, filename, and debug will allow that?  I can't find
> any, and I think that would be one of the most common things people would
> want.

When you enable debugging in other daemons, the messages go everywhere. 
Not just in one specific file.

> I don't want to call all this confusing, because I can't offer any better
> suggestions, but...

I think what you are trying to tell me is that you would like to see debug 
messages going to a specific file rather than to the default 
LOG_MODE_OUTPUT. If i understand you right, this is not an option right 
now and personally i don't see the need of it.

> (And we haven't added command line options or
> environment variables to the picture yet.)

I think you misunderstood this cmdlin + envvar thing. I am not saying we 
need to be able to configure _everything_.. not at all. Only the 
equivalent of debug=on/off.

something like this basically (very pseudo code):

parse_args()..
   -D debug = 1;

if (getenv(SYSTEM_DEBUG))
   debug = 1;

then later in get_logsys_config_data(int *debug)

if (!*debug) {
    check ccs etc...
}

very simple.. i didn't plan nor think to add all config options.. not at 
all... sorry if that was not clear from my side.

Fabio

--
I'm going to make him an offer he can't refuse.




More information about the Cluster-devel mailing list