On Wed, Apr 21, 2010 at 10:56 AM, Luke Kanies <[email protected]> wrote:
> On Apr 21, 2010, at 10:15 AM, Paul Lathrop wrote:
>
>> On Wed, Apr 21, 2010 at 9:55 AM, Luke Kanies <[email protected]> wrote:
>>>
>>> On Apr 20, 2010, at 7:02 PM, Paul Lathrop wrote:
>>>
>>>> I'm trying to add support for logging to Scribe. I *think* what I need
>>>> to do is the following:
>>>>
>>>> * Add a "feature" that checks if the scribe gem is installed. (add a
>>>> file lib/puppet/feature/scribe.rb)
>>>> * Add configuration options for the scribe server, port, and category.
>>>> * Create a new Puppet::Util::Log.newdesttype block in
>>>> lib/puppet/util/log/destinations.rb
>>>>
>>>> I am having trouble understanding a couple of things here, hoping for
>>>> some
>>>> help.
>>>>
>>>> 1) How do I add configuration options and access them in the
>>>> destination type declaration?
>>>> 2) How do I connect the "feature" to the code declaring the
>>>> destination? I think I do something like: if Puppet.features.scribe? -
>>>> is there more to it than that?
>>>> 3) Is there somewhere else I need to hook into to make this work?
>>>
>>> Is this something you want to log to directly from the clients, or would
>>> it
>>> be suitable to have the server do the logging when it receives a report?
>>>
>>> If the latter, then it's straightforward to write a report processor, or
>>> even report terminus, that does the work.
>>>
>>> If the former, then yeah, you have the right plan.
>>>
>>> As to your quesitons:
>>>
>>> 1) There isn't currently any way for plugins to add new defaults without
>>> some hackery.  You'll essentially have to modify core Puppet code
>>> somewhere,
>>> either lib/puppet/defaults.rb, or another file that gets loaded by that
>>> file.
>>
>> Yeah, I figure this will be generally useful enough that I was going
>> to contribute it as a feature in core, anyway.
>>
>>> 2) Yep, it's that easy.
>>>
>>> 3) You need to modify your executable to use your logdest.  I think the
>>> logdest option stopped working a while ago, but if it works then it might
>>> be
>>> sufficient.  Another option is to have your logdest value be complex, so
>>> you'd say something like 'puppetd --logdest scribe:servername:port'.
>>>  Ugly,
>>> but meh.  Note that logdest isn't a normal Puppet default, just an
>>> argument
>>> to puppetd.
>>
>> Do you think that it would be reasonable to a) resurrect logdest and
>> b) make it configurable via puppet.conf?
>
> Yep.  And 'logserver' and 'logport' might be good things to have as general
> parameters.

Thanks, this should give me enough to get started. Be prepared to be
bothered in IRC :-P

--Paul

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to