First about me:

I am using Bazsi's syslog-ng in an environment where there are
log sources in an order of 100 and the volume is about
600MB daily, and a log message typically travels 2 hops.

A levelez�m azt hiszi, hogy Roger Marquis a k�vetkez�eket �rta:

 > Also the lack of timeZONE info in the timestamp is a common gripe.  It
 > might be worthwhile to add a short field with this info i.e:
 > 991019_12:54:02_GMT+8.

I think that the format for timestamp should be the return value of time(2)
as a human readable integer, but in subsecond accuracy.
Think about embedded systems and bandwith preservation, especially
if we really want to put more timestamps into one message.
Of course not the format of the timestamp is the most importantissue of the
protocol.

What I think we should define somehow:

-transport
        How the log messages got from one host to another,
        what kind of cryptographic tools do we use to protect the logs
        from tampering and/or sniffing. It also should cover the issue
        of authentication of network peers.
        My thoughts on it (trying to use "must","should" and "may" in the
        RFC sense):
        It must be a single port one way tcp connection. One way means
        "one tcp socket", not "packets going only to one direction".
        The connection set-up should be possible both from the sender
        and the receiver of the logs, based on the configuration of
        the syslog daemons.
        The authentication and tamperproofing should be achieved by
        cryptographic means. The key management should use public
        key cryptography, but using pre-shared secret may be an option
        if we think about low-resource systems.
        The actually used crypto should be configureable, and implementation
        dependent, but some crypto must be known by all implementation.
        It may be wise to define the old syslog protocol as a backward 
        compatible transport, but the standard should recommend against it.

-presentation
        What kind of informations are in the log, how do we represent it.
        Which informations are mandatory, what kind of informations can be
        included.
        How do we represent priorities and facilities.
        What kind of timestamps we must/should/may have, the representation 
        of them.
        My thougth on this:
        The log format must be capable to hold any information the
        logger processes may want to insert to it.
        The log messages must be human readable and easily parseable by
        machines. The messages should also be compact and one message should
        use one line.
        The unalog format should be a good starting point for presentation 
        format.
        The set of allowed characters must be defined, with a method for
        escaping the others. 
        The priorities and facilities should be strings and be user defineable.
        There must be some standard priorities and facilities.
        The timestamps must include the time of the generation and arrival
        of the log, and may include the time of arrival and sending on each
        hop.
        The timestamp should be the same as the timestamp of the output
        of tcpdump -tt.

-implementation
        C API definition.
        The functionality of the replacement syslog daemon.
        Hints or rules for implementing the local syslog communication.
        My toughts on it:
        The C API should provide both a simple and an elaborate way
        of sending log messages, or the simple one should be good enough to
        send complex log messages.
        It should be possible for one process to log into several 
        facilities/priorities.
        The daemon should be able to filter by facility/priority/
        regexp on any tag.
        The daemon should be able to rewrite priority/facility based
        on filtering rules.
        The daemon should be able to write to files,pipes,ttys, and execute
        programs based on filtering rules.
        It is a shame that the implementation of local syslog communication
        is so wildly different on different platforms (stream and datagram 
        unix socket, doors, ...)
        The local communication method should be such that the identity 
        of sender process.

 > 
 > > Time synchronization is _definitely_ outside the scope of a logging
 > > protocol.
 > 
 > Agreed.

Surely.

-- 
GNU GPL: csak tiszta forr�sb�l

Reply via email to