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.
--
The most dangerous strategy is to jump a chasm in two leaps.
-- Benjamin Disraeli
---------------------------------------------------------------------
Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199
--
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.