On Tue, Jun 3, 2014 at 2:43 PM, Duarte Silva <[email protected]>
wrote:

> On Tuesday 03 June 2014 14:20:33 Rainer Gerhards wrote:
> > On Tue, Jun 3, 2014 at 2:11 PM, Duarte Silva <
> [email protected]>
> >
> > wrote:
> > > On Tuesday 03 June 2014 13:18:28 Rainer Gerhards wrote:
> > > > On Tue, Jun 3, 2014 at 1:01 PM, Duarte Silva <
> > >
> > > [email protected]>
> > >
> > > > wrote:
> > > > > Hi David,
> > > > >
> > > > > thanks for the tip. I can now understand what Rsyslog is doing
> when it
> > > > > receives the data :)
> > > > >
> > > > > Since the appliance is sending the JSON in a multi-line format, the
> > >
> > > last
> > >
> > > > > line
> > > > > isn't being interpreted as the message, but rather it's being
> > >
> > > interpreted
> > >
> > > > > as
> > > > > all the other fields.
> > > > >
> > > > > Since I can't modify the way the appliance sends the logs, is
> there a
> > >
> > > way
> > >
> > > > > in
> > > > > Rsyslog to get around this?
> > > >
> > > > Which protocol is used? Can you post a sample of the data **as seen
> on
> > >
> > > the
> > >
> > > > wire**?
> > >
> > > Quoting:
> > > > > > In tcpdump I clearly see the full message arriving:
> > > > > >
> > > > > > # tcpdump -A -n -vvv -s2048 -i eth0 "tcp port 514"
> > > > > > (...)
> > > > > > =.2.....<164>appliance-892.alert: {
> > > > > >
> > > > > >  "alert": {
> > > > > >
> > > > > >    "action": "notified",
> > > > > >    "explanation": "something"
> > > > > >    },
> > > > > >    "id": "892",
> > > > > >    "occurred": "2014-06-02T15:00:24Z",
> > > > > >
> > > > > >  },
> > > > > >  "appliance": "appliance",
> > > > > >  "product": "product",
> > > > > >  "version": "version"
> > > > > >
> > > > > > }
> > > > > > .
> >
> > So this is exactly what you see (not pretty-printed)? So it starts with:
> >
> > <164>appliance-892.alert: {<LF>"alert": {<LF>"action": "notified",<LF>...
> >
> > <LF> being US-ASCII LF
>
> Yes, that is how it arrives.
>
> >
> > If so, that appliance is sending horribly malformed messages with a
> totally
> > invalid framing. Honestly, I have no idea at all how a heuristic could
> > combine those lines. What do they say what the framing is (in other
> words:
> > how to know when the message is finished and the next one starts)?
> >
> > In any case, it's not syslog protocol. See RFC5424 or even 3164 and
> you'll
> > see that this is something totally different. Among others, I'd
> > **strongly** suggest to file a bug report with them.
> >
> > If you can get the information out of them how to know message borders, I
> > may be able to implement their "protocol", but that will be a custom
> > project (aka needs a sponsor).
>
> From the appliance configuration, they are using syslog only as a
> transport for
> the messages.


This is **not** syslog transport. See the RFCs I quoted. It's something
they invented.

Rainer


> The messages can then be XML or JSON. I don't think I will have
> any luck in trying to swing the appliance maker to make the messages a one
> liner. I will try to home brew something out.
>
> Thanks anyway,
> Duarte
>
> > Sorry I have no better response.
> >
> > Rainer
> > _______________________________________________
> > rsyslog mailing list
> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> > http://www.rsyslog.com/professional-services/
> > What's up with rsyslog? Follow https://twitter.com/rgerhards
> > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
> of
> > sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T
> > LIKE THAT.
>
>
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to