Hi David,

I had the same thoughts about writing to /dev/log instead of having a new
improg module. Two comments here, though:
- omprog does a nice job of babysitting the program (starting it,
restarting it if it crashes). With /dev/log, you have to manage the daemon
- logger is typically truncating messages at 1K

Whatever we do for "inputs in other languages" I think we need to be able
to simply get the received message as it is (ie: don't require syslog
format) and parse it later, or add timestamp, or...

And (don't throw sticks or onions!) support multiline messages.

2014/1/22 David Lang <da...@lang.hm>

> I think we should have at least a stub module in each language in the main
> repository. All the stubs could do the same 'write to file', but they would
> give people a place to start
>
> Actually, I think we need to do three modules in every language
>
> read from file
> write to file
> message modification that gets the message and passes it back.
>
> while we could just use pipes and stdin/stdout, I've been thinking about
> this a bit more over the last week or so, and think we should really go
> ahead and be more formal about this
>
> parsing messages is hard, formatting messages to be parsed is error prone,
> and both tend to be slow, and when working with text messages, tend to
> accumulate a lot of cruft to work around corner cases.
>
> Also, as Rainer said above, we need to have the ability to get feedback
> from these other languages, and I'm thinking we probably need to be able to
> send command-type messages (we just got a HUP, close and reopen your
> inputs/outputs)
>
> I think we should look at creating new immultilang, ommultilang, and
> mmmultilang modules for rsyslog that use either google protocol buffers or
> apache thrift to do the message passing (ideally both would be available
> since there are people who prefer both)
>
> What I'm currently thinking of is that we should have the ability to
> include configuration for these external modules in the rsyslog config (and
> the modules can do whatever they want for external configs), when the
> module is initialized, rsyslog passes the config data to the module and
> doesn't consider it good until it gets a reply saying that it's ready. This
> could also include handshaking to coordinate capabilities (does this module
> have the ability to process batches of messages, if so, how large?, can it
> do async message processing where messages may be processed out of order?,
> other things) I'm not saying that rsyslog needs to support such advanced
> features immediately, and some may never be supported, but there needs to
> be a way to find out what is and isn't supported by a module.
>
> Yes, this will be more work initially, and in the meantime we can go ahead
> and use omprog (I'm not sure we need improg since programs can just write
> to /dev/log or logger), but I think the long-term results will be much
> better.
>
> thoughts?
>
> David Lang
>
>
>
> On Wed, 22 Jan 2014, Boylan, James wrote:
>
>  Hmm. That's a tougher question. On the one hand I can see the benefit to
>> it. But on the other hand, is it the best choice for location... One could
>> argue that processing scripts like that should be in their own repo since
>> they are not directly linked to the Rsyslog codebase.
>>
>> -- James
>>
>>
>> -----Original Message-----
>> From: rsyslog-boun...@lists.adiscon.com [mailto:rsyslog-bounces@lists.
>> adiscon.com] On Behalf Of Rainer Gerhards
>> Sent: Wednesday, January 22, 2014 9:31 AM
>> To: rsyslog-users
>> Subject: Re: [rsyslog] non-C output plugins
>>
>> sorry for being so imprecise...
>>
>> What I meant to ask is if we should place such non-C plugins into the
>> main rsyslog repo. I see lot's of good in this (assuming the contributor is
>> happy with that, of course), but that means that changes can only go into
>> them via PR, patches...
>>
>> Rainer
>>
>>
>> On Wed, Jan 22, 2014 at 4:07 PM, Boylan, James <james.boy...@orbitz.com>
>> wrote:
>>
>>  It seems to me that if it's either added as a modification to omprog
>>> or a new ompipe then having it added to master as a default disabled
>>> option should work. Less maintenance overhead and is available for use.
>>>
>>> -- James
>>> -- Sent from my mobile --
>>>
>>> ----- Reply message -----
>>> From: "Rainer Gerhards" <rgerha...@hq.adiscon.com>
>>> To: "rsyslog-users" <rsyslog@lists.adiscon.com>
>>> Subject: [rsyslog] non-C output plugins
>>> Date: Wed, Jan 22, 2014 9:04 AM
>>>
>>> On Wed, Jan 22, 2014 at 4:02 PM, Rainer Gerhards
>>> <rgerha...@hq.adiscon.com>wrote:
>>>
>>>  On Wed, Jan 22, 2014 at 3:59 PM, Boylan, James
>>>> <james.boy...@orbitz.com
>>>> wrote:
>>>>
>>>>  I agree with everyone that omprog should be a good solution for this.
>>>>>
>>>> I'm
>>>
>>>> going to be doing some tests in the near future with omprog so I'll
>>>>> be looking at Radu's post as well. :)
>>>>>
>>>>> Mostly I think using a stdout pipe is a good way of handling this.
>>>>> It is similar to how Hadoop handles non-Java mapreduce jobs as well.
>>>>>
>>>>>
>>>>>  A key thing to note is that a pipe is a quite efficient
>>>> inter-process communication facility and also includes some built-in
>>>> flow control (so
>>>>
>>> the
>>>
>>>> reading end of the pipe can push back the writer). Of course, it
>>>> requires additional context switches, but that should not be too bad.
>>>>
>>>> An interesting thought is to write a simple write-to-file script and
>>>> measure it's performance vs. omfile. That should be an indication of
>>>> the actual pipe overhead, especially if /dev/null is written to...
>>>>
>>>>
>>>>  Better even: a native C program, so that we don't measure language
>>> runtime overhead...
>>>
>>> Question in this regard: should all of this go into the main repo?
>>> There are pros and cons...
>>>
>>> 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.

Reply via email to