I've written a plugin based poller that we use at to collect JMX data, 
performance from URLs, regex values of of URLs, and probably some other things 
I am forgetting. It builds its configurations by building a host:port list of 
targets from our VIPs and a manually list of hosts that are not VIP targets. 
From there the ports are mapped back to a service definition yaml which is used 
to track port allocations. In there the different plugins are configured for 
each service.

I'll see if I can open source that although I imagine the VIP configuration 
parsing will be useless to most people, and potentially the service 
configuration file structure.

In the mean time, I committed a simple collector I wrote which you can run to 
collect system metrics.  Some of it is a little kludgy, you will find it in the 
contrib directory.

http://bazaar.launchpad.net/~graphite-dev/graphite/main/annotate/head:/contrib/demo-collector.py


--
Kraig Amador

From: Pete Emerson 
<[email protected]<mailto:[email protected]>>
Reply-To: 
"[email protected]<mailto:[email protected]>"
 
<[email protected]<mailto:[email protected]>>
Date: Wed, 1 Dec 2010 16:30:10 -0800
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: [Graphite-dev] [Question #136096]: Collecting system metrics

Question #136096 on Graphite changed:
https://answers.launchpad.net/graphite/+question/136096

Pete Emerson posted a new comment:
As far as a collection agent is concerned, I'd love to contribute back
to Graphite in this way. My python is very raw, however (I'm probably
writing very perlish python). I'd also need to get it approved from the
powers-that-be.

It seems that something as simple as:


for file in glob.glob('path/to/plugins/*'):
        exit_code, result = commands.getstatusoutput(file)
        if exit_code != 0:
                print "Failed to get info from " + file
                continue
        # SEND DATA TO GRAPHITE

would be a minimum viable product. Add a configuration file via
ConfigParser for settings (like debug mode, graphite server / port, et
cetera) and it would be in good shape. Add daemon support for those who
don't want it running in cron and it'd be even better.

Pete

--
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.

_______________________________________________
Mailing list: https://launchpad.net/~graphite-dev
Post to     : 
[email protected]<mailto:[email protected]>
Unsubscribe : https://launchpad.net/~graphite-dev
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~graphite-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~graphite-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to