>  > I would, however, like to extend the core syslog format to
> support  > [...]  needs to send a larger message
>
> Syslog does "support" this already. All the programmers has
> to to is call
> syslog(...) several times (or any other function that is part
> of the API.

Well, not talking about API, but if you mean I can send several lines in
several messages this is not what I am looking for. I would like to have
a single large message - in the rare occasions there is need for it...

>
> Even for a limit of 1024, this means that line becomes 10 or
> more line on your editor! If You need that frequently,
> probably a support function, or macro is used. That that
> macro can be used to send that "long" line in several
> messages, each on contain a kind of fragment counter.

This is exactly what I am asking for. I don't intend to do something
very complex. Just build a *standard* way of sending oversize messages
if there is need for this. In the -international-00, there is a way to
do so, in case you would like to comment. The way it is in
-international right now needs to be revised, but I hope it will convey
the spirit.

>
> But that is about programming/API's, back to the protocol.
>
> When "long lines" are needed, probably the output of the log
> isn't meant for human reading, but for "a script" or tool.
> Then, this is site or application specific. And so, NO
> general standard is needed.

Actually, if I look at almost all larger installations, all of them use
some kind of automatted log watchers. It is hard to envision that admins
will dig through a view millions of log lines each day. So I think the
protocol must enable automatic processing...

>
> At least, I can't think of any reason. But maybe a counter
> example can be given... (which used "long lines" AND needs a
> "generic solution.)

Well, I know Microsoft does not necessarily do it smartly. Many
customers ask for forwarding Windows event log data to their central
syslogd. Now lets look at some message from the log:

------- BEING LOG ENTRY ;) -----
DNS Server has updated its own host (A) records.  In order to insure
that its DS-integrated peer DNS servers are able to replicate with this
server, an attempt was made to update them with the new records through
dynamic update.  An error was encountered during this update, the record
data is the error code.

If this DNS server does not have any DS-integrated peers, then this
error
should be ignored.

If this DNS server's ActiveDirectory replication partners do not have
the correct IP address(es) for this server, they will be unable to
replicate with it.

To insure proper replication:
1) Find this server's ActiveDirectory replication partners that run the
DNS server.
2) Open DnsManager and connect in turn to each of the replication
partners.
3) On each server, check the host (A record) registration for THIS
server.
4) Delete any A records that do NOT correspond to IP addresses of this
server.
5) If there are no A records for this server, add at least one A record
corresponding to an address on this server, that the replication partner
can contact.  (In other words, if there multiple IP addresses for this
DNS server, add at least one that is on the same network as the
ActiveDirectory DNS server you are updating.)
6) Note, that is not necessary to update EVERY replication partner.  It
is only necessary that the records are fixed up on enough replication
partners so that every server that replicates with this server will
receive (through replication) the new data.
-------- END LOG ENTRY ------

Of course, you can argue that this should be truncated or detected or
whatever. The plain truth is that it is less error-prone to forward them
as they are to the central syslogd (especially as the text can and has
change with service packs or hot fixes). We can do that with our
products, but wouldn't it be nice if there were a standard way to do
this so that a customer must not necessarily use Adiscon products both
on client and collector?

Another example is international character sets. As some pointed out,
messages may get longer. As other have (correctly) pointed out,
multibyte character sets do not necessarily mean that will, but anyhow,
it would be nice if we need not to be afraid if it will happen.

Again, I do not intend to do something complex here - just a standard
way to say "this is message 1 of 2", so that the collector (if he
decides to do so) can defragment these two messages into a single one.
If you don't like it, you can safely ignore this feature. In fact, I
think it should only be used if you know the transport is reliable,
in-order - otherwise you should expect to loose some fragment.

Still objections?

Rainer


Reply via email to