Yes, mainly being able to avoid the network is interesting. Basically it
would be like ompipe (assuming it was sock_stream) with a way to ack back.


On Fri, Jan 31, 2014 at 8:47 AM, David Lang <[email protected]> wrote:

> On Fri, 31 Jan 2014, Rainer Gerhards wrote:
>
>  On Fri, Jan 31, 2014 at 8:14 AM, Nathan Brown <[email protected]>
>> wrote:
>>
>>  What if a plugin wants to reliably handle events? For example: I am
>>> currently using a relp protocol implementation to ensure I handle
>>> every event reliably and this plugin architecture sounds like an
>>> intriguing way to get rid of the tcp overhead and relp window sizing.
>>> I would want to be able to replicate the same offerings as relp in
>>> this interface though.
>>>
>>> I can also imagine more exotic scenarios where a plugin is used as
>>> part of a ruleset to decide which branch to take. Like selecting which
>>> aggregator node to send an event to or whether to forward an event in
>>> general.
>>>
>>> All of these scenarios require a more structured protocol, and the
>>> right answer might be that this architecture isn't for that.
>>>
>>>
>>>  Well, you could probably build this on top of the interface. But it's
>> far
>> beyond the current "just make it simple to write a connector" approach.
>> This however requires the feedback verbs, which are not yet defined.
>> Current focus is on enable people to write simple connectors. Quite
>> honestly, I think the target base is people who can write automation
>> scripts, but are no real developers. And what you describe would be far
>> above their head.
>>
>> Digging a bit deeper, I wonder what you want to save over RELP? If you
>> require it's feature, I think it is very hard to come up with some
>> protocol
>> that does not look very similar to RELP...
>>
>
> I think that what he's looking for is very similar to RELP, but not over
> the network (which would make it a bit simpler).
>
> I think for a local connection, we can get away with a synchronous
> connection as long as we support the rsyslog internal batching to the
> external module. but this really is looking for the protocol buffers/thrift
> type interface that I was talking about doing for the second version of
> this.
>
> David Lang
>
>
>  Rainer
>>
>>
>>  On Jan 30, 2014, at 10:47 PM, Rainer Gerhards <[email protected]>
>>>>
>>> wrote:
>>>
>>>>
>>>> On Fri, Jan 31, 2014 at 7:37 AM, Rainer Gerhards
>>>> <[email protected]>wrote:
>>>>
>>>>  On Fri, Jan 31, 2014 at 6:50 AM, Nathan Brown <[email protected]>
>>>>>>
>>>>> wrote:
>>>
>>>>
>>>>>> Fully agree that some plugins will be brain dead simple and will only
>>>>>> require an incredibly small feature set of what the plugin system may
>>>>>> offer. But having multiple communications options, certainly ones that
>>>>>> are entirely unstructured, will be difficult to maintain. Forward
>>>>>>
>>>>> I forgot to answer this: it's not difficult to maintain, as we simply
>>>> use
>>>> the template system that's already in place, and needs to be in place
>>>> for
>>>> all further versions in any case. So there is exactly 0% overhead for
>>>>
>>> this.
>>>
>>>>
>>>> Rainer
>>>>
>>>>
>>>>  compatibility of a plugin that may start simple but eventually will
>>>>>
>>>>>> want to grow into something more complex is a good enough reason to
>>>>>> have a structured plugin protocol. Let alone rsyslog's side that may
>>>>>> increase the feature set that it can offer a plugin. JSON has proven
>>>>>> it's a good candidate for this sort of thing, lightweight with decent
>>>>>> native types.
>>>>>>
>>>>> IMO rsyslog is still about speed, even though we sacrifice it for the
>>>>>
>>>> sake
>>>
>>>> of making it easy to write plugins. I agree that JSON is the most
>>>>>
>>>> versatile
>>>
>>>> format and something to recommend for the general case. HOWEVER, there
>>>>>
>>>> is
>>>
>>>> quite a bit of overhead associated with crafting an all-JSON
>>>>>
>>>> representation
>>>
>>>> of a message object.
>>>>>
>>>>> So I think we should not FORCE plugins to use JSON format. There are
>>>>>
>>>> many
>>>
>>>> cases where this makes sense, but there are also many cases where simply
>>>>> -and much faster!- formats make more sense. Given the simplicity of the
>>>>> interface, I think anyone should understand what he is doing. Even more
>>>>>
>>>> so,
>>>
>>>> for real novices, getting the JSON parser to work might be a stumbling
>>>>> stone, whereas pulling pre-formatted data from stdin makes them happy.
>>>>>
>>>>> This is why I think we should not enforce the use of JSON on the
>>>>>
>>>> interface.
>>>
>>>>
>>>>> Rainer
>>>>>
>>>>>  On Jan 30, 2014, at 9:11 PM, David Lang <[email protected]> wrote:
>>>>>>>
>>>>>>> The thing is that with the rsyslog templates, you can do a lot of
>>>>>>>
>>>>>> formatting and manipulation of the data before you send it to the
>>>>>>
>>>>> module.
>>>
>>>> so you should configure rsyslog to send your module whatever it can
>>>>>>
>>>>> handle
>>>
>>>> the best.
>>>>>>
>>>>>>>
>>>>>>> If you have typical needs (take this entire line and send it there)
>>>>>>>
>>>>>> you
>>>
>>>> can get by with a very simple output module. If you have very complex
>>>>>> needs, you may need to use JSON to structure things so that it's
>>>>>> always
>>>>>> clear what's what.
>>>>>>
>>>>>>>
>>>>>>> the author of the output module needs to document what that module
>>>>>>>
>>>>>> requires as it's input.
>>>>>>
>>>>>>>
>>>>>>> overall this looks pretty good.
>>>>>>>
>>>>>>> David Lang
>>>>>>>
>>>>>>>  On Wed, 29 Jan 2014, Nathan Brown wrote:
>>>>>>>>
>>>>>>>> I would avoid having multiple communication options and use only
>>>>>>>> line
>>>>>>>> delimited JSON to talk between the plugin and rsyslog.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jan 29, 2014 at 3:21 AM, Rainer Gerhards
>>>>>>>> <[email protected]>wrote:
>>>>>>>>
>>>>>>>>  Hi all,
>>>>>>>>>
>>>>>>>>> I've written a short presentation on writing rsyslog output
>>>>>>>>> plugins.
>>>>>>>>>
>>>>>>>> It is
>>>>>>
>>>>>>> targeted towards people who would like to know at least a bit about
>>>>>>>>>
>>>>>>>> how
>>>>>>
>>>>>>> this works. I also plan to do an ultra-fasttrack document for those
>>>>>>>>>
>>>>>>>> that
>>>>>>
>>>>>>> just want to get it going somehow and don't about how it works. They
>>>>>>>>>
>>>>>>>> are
>>>>>>
>>>>>>> *not* the focus of the current presentation:
>>>>>>>>>
>>>>>>>>> http://www.slideshare.net/rainergerhards1/external-plugins
>>>>>>>>>
>>>>>>>>> I will include this information in the Fedora DevConf Talk next
>>>>>>>>>
>>>>>>>> week,
>>>
>>>> and
>>>>>>
>>>>>>> would really like your feedback. Where can we improve it, how to
>>>>>>>>>
>>>>>>>> make
>>>
>>>> even
>>>>>>
>>>>>>> more clear that it's simple. Note that I say "v8" only because it
>>>>>>>>>
>>>>>>>> already
>>>>>>
>>>>>>> covers a bit of what we will have in a month or so (the stdout
>>>>>>>>>
>>>>>>>> feedback).
>>>>>>
>>>>>>> When I give the presentation, I'll tell that omprog in older
>>>>>>>>>
>>>>>>>> versions
>>>
>>>> works
>>>>>>
>>>>>>> mostly the same.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> 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.
>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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.
>>>>>>
>>>>> _______________________________________________
>>>> 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.
>>>
>>>  _______________________________________________
>> 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.
>
_______________________________________________
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