Re: [Ganglia-developers] Trunk r920 snapshot available

2008-01-15 Thread Stu Teasdale
On Mon, Jan 14, 2008 at 05:05:18PM -0800, Bernard Li wrote:
 Happy new year to you all!
 
 To celebrate the new year, I have just posted the latest 3.1.x
 snapshots in our website:
 
 http://www.ganglia.info/snapshots/3.1.x
 
 As usual, the RPMs were built on CentOS 4.x, so if you are on a
 significantly different distribution, please rebuild the .src.rpm or
 install from the source tarball.
 
 If you encounter any issues, please report them to
 [EMAIL PROTECTED]

I'll look at using either this or a fresh checkout in the next couple of 
days to roll some debs as well, for those of you who want something more 
up to date than I have uploaded at the moment.

Stu
-- 
From the prompt of Stu Teasdale

A man always remembers his first love with special tenderness, but after
that begins to bunch them.
-- Mencken

-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


[Ganglia-developers] questions re: user-defined instance data collection, reporting, and listening

2008-01-15 Thread Lou Degenaro
Thanks for your reply.

1. So my understanding is that Ganglia offers no application instance 
management help per se - it's up to the collection module that we write to 
worry about differentiating between common metrics reported by a set of 
application instances on a node.

2. Since the limit is what will fit into UDP packet, is there any way to 
disassemble/re-assemble a variable sized metric that sometimes exceeds a 
UDP packet size?

4. If the metrics to be collected change for any reason (add a new one, 
delete an old one, change the collection interval, etc.) does Ganglia 
automatically detect such changes in flight simply by a configuration 
change, or do all daemons need to be purposefully restarted?

Lou.




Brad Nicholes [EMAIL PROTECTED] 
01/14/2008 02:06 PM

To
ganglia-developers@lists.sourceforge.net, Lou Degenaro/Watson/[EMAIL 
PROTECTED]
cc

Subject
[Ganglia-developers] questions re: user-defined instance datacollection, 
reporting, and listening






 On 1/14/2008 at 7:41 AM, in message
[EMAIL PROTECTED], 
Lou
Degenaro [EMAIL PROTECTED] wrote:
 I'm looking for help in understanding if Ganglia can be used to monitor 
a 
 cluster relative to our needs. 
 
 Questions:
 
 1. In our situation. each node has one or more application instances 
 running, where each application instance has an id and consists of a set 

 of daemons running on the node.  Thus app-1 may be comprised of one set 
of 
 instances of daemons a,b,c and app-2 may be comprised of another set of 
 instances of daemons a,b,c.  The question is, can Gangalia be used to 
 monitor instance specific information.  For example, say daemon a 
 produces metric m.  We'd like to collect metric m from app-1 and 
from 
 app-2, where both apps are on the same node, and be able to tell which 
m 
 is which.
 

Using Ganglia 3.1.0 (which has not been formally released yet) you can 
write either C interface or Python interface modules that can collect and 
report anything you want.  In your case, as long as the names of the 
metrics are different, gathering metrics for app-1 and app-2 can be easily 
done.  There is already a similar module in concept, that gathers metrics 
for each CPU that it discovers in the system.  In other words, if the 
system has 4 CPUs, then 4 metrics are gathered and reported.  The 
difference here is that we are gathering multiple CPU data and you would 
be gathering data for multiple instances of daemon running on the system. 
The bottomline is if your module can differentiate between multiple 
entities on the system and gather data for each, ganglia can report it.

 2. What is the size limitation of Ganglia collected data - limited by 
what 
 can fit into a UDP packet?
 

Depends on what you are talking about.  Yes the limit is the size of a UDP 
packet however 90% of the time the data being collected is just a numeric 
value.  You can gather a string but this is usually only done for collect 
once constant type metrics.

 3. How does one programmatically get collected data?  Can our 
collector 
 application daemon easily listen for the reports or must polling be 
used?
 

Normally this is done through some type of polling mechanism.  You can 
either poll the gmetad port and/or query the data directly from the RRD 
files.  Examples of how to do this are in the web frontend PHP code.


 4. Can the set of nodes reporting / collected be (programmatically) 
 changed on-the-fly?
 

The set of nodes that are collecting data is determined by whether gmond 
is running on the machine or not.  If a new machine enters the grid and 
gmond is started on that box, the report for that machine magically shows 
up.  If a machine shutdown or gmond is stopped, the machine is reported as 
down.  Stopped machines can also be configured to be cleaned after a 
period of time.

 5. Do all nodes have to have all information?  Can a hierarchy be 
 established so that only a small set of authority nodes be the keepers 

 of all information in order to minimize network traffic?
 

No and Yes.  The default configuration is that all nodes hold information 
about every other node (multicast mode).  However the nodes can be 
configured to only report to a single node (unicast mode). 
 
Brad


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


[Ganglia-developers] questions re: user-defined instance datacollection, reporting, and listening

2008-01-15 Thread Brad Nicholes
 On 1/15/2008 at 9:24 AM, in message
[EMAIL PROTECTED], Lou
Degenaro [EMAIL PROTECTED] wrote:
 Thanks for your reply.
 
 1. So my understanding is that Ganglia offers no application instance 
 management help per se - it's up to the collection module that we write to 
 worry about differentiating between common metrics reported by a set of 
 application instances on a node.
 

Yes, your metric module would have to make sure that the metric names are 
unique.


 2. Since the limit is what will fit into UDP packet, is there any way to 
 disassemble/re-assemble a variable sized metric that sometimes exceeds a 
 UDP packet size?
 

No, not in the current version. 

 4. If the metrics to be collected change for any reason (add a new one, 
 delete an old one, change the collection interval, etc.) does Ganglia 
 automatically detect such changes in flight simply by a configuration 
 change, or do all daemons need to be purposefully restarted?
 

If the configuration of gmond on a given node changes, gmond on that node must 
be restarted.  However nothing else in the system needs to be restarted.  
Gmetad will just pick up and record any new metrics and the web frondend will 
just start displaying the new or changed metrics.

Brad

 
 
 
 Brad Nicholes [EMAIL PROTECTED] 
 01/14/2008 02:06 PM
 
 To
 ganglia-developers@lists.sourceforge.net, Lou Degenaro/Watson/[EMAIL 
 PROTECTED]
 cc
 
 Subject
 [Ganglia-developers] questions re: user-defined instance datacollection, 
 reporting, and listening
 
 
 
 
 
 
 On 1/14/2008 at 7:41 AM, in message
 [EMAIL PROTECTED], 
 Lou
 Degenaro [EMAIL PROTECTED] wrote:
 I'm looking for help in understanding if Ganglia can be used to monitor 
 a 
 cluster relative to our needs. 
 
 Questions:
 
 1. In our situation. each node has one or more application instances 
 running, where each application instance has an id and consists of a set 
 
 of daemons running on the node.  Thus app-1 may be comprised of one set 
 of 
 instances of daemons a,b,c and app-2 may be comprised of another set of 
 instances of daemons a,b,c.  The question is, can Gangalia be used to 
 monitor instance specific information.  For example, say daemon a 
 produces metric m.  We'd like to collect metric m from app-1 and 
 from 
 app-2, where both apps are on the same node, and be able to tell which 
 m 
 is which.
 
 
 Using Ganglia 3.1.0 (which has not been formally released yet) you can 
 write either C interface or Python interface modules that can collect and 
 report anything you want.  In your case, as long as the names of the 
 metrics are different, gathering metrics for app-1 and app-2 can be easily 
 done.  There is already a similar module in concept, that gathers metrics 
 for each CPU that it discovers in the system.  In other words, if the 
 system has 4 CPUs, then 4 metrics are gathered and reported.  The 
 difference here is that we are gathering multiple CPU data and you would 
 be gathering data for multiple instances of daemon running on the system. 
 The bottomline is if your module can differentiate between multiple 
 entities on the system and gather data for each, ganglia can report it.
 
 2. What is the size limitation of Ganglia collected data - limited by 
 what 
 can fit into a UDP packet?
 
 
 Depends on what you are talking about.  Yes the limit is the size of a UDP 
 packet however 90% of the time the data being collected is just a numeric 
 value.  You can gather a string but this is usually only done for collect 
 once constant type metrics.
 
 3. How does one programmatically get collected data?  Can our 
 collector 
 application daemon easily listen for the reports or must polling be 
 used?
 
 
 Normally this is done through some type of polling mechanism.  You can 
 either poll the gmetad port and/or query the data directly from the RRD 
 files.  Examples of how to do this are in the web frontend PHP code.
 
 
 4. Can the set of nodes reporting / collected be (programmatically) 
 changed on-the-fly?
 
 
 The set of nodes that are collecting data is determined by whether gmond 
 is running on the machine or not.  If a new machine enters the grid and 
 gmond is started on that box, the report for that machine magically shows 
 up.  If a machine shutdown or gmond is stopped, the machine is reported as 
 down.  Stopped machines can also be configured to be cleaned after a 
 period of time.
 
 5. Do all nodes have to have all information?  Can a hierarchy be 
 established so that only a small set of authority nodes be the keepers 
 
 of all information in order to minimize network traffic?
 
 
 No and Yes.  The default configuration is that all nodes hold information 
 about every other node (multicast mode).  However the nodes can be 
 configured to only report to a single node (unicast mode). 
  
 Brad



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.

Re: [Ganglia-developers] Trunk r920 snapshot available

2008-01-15 Thread Bernard Li
Hi Stu:

On 1/15/08, Stu Teasdale [EMAIL PROTECTED] wrote:

 I'll look at using either this or a fresh checkout in the next couple of
 days to roll some debs as well, for those of you who want something more
 up to date than I have uploaded at the moment.

When they're ready I'll upload them to the snapshots directory so
users will have easy access to them.

TIA,

Bernard

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] mod_python

2008-01-15 Thread Matthias Blankenhaus
Bernard,

works for me.  

Thanx,
Matthias

On Tue, 15 Jan 2008, Bernard Li wrote:

 Hi Brad:
 
 The following patch should make tcpconn.py compatible with Python
 2.3.x which does not have the subprocess module:
 
 --- tcpconn.py.orig 2008-01-15 15:30:09.0 -0800
 +++ tcpconn.py  2008-01-15 15:30:48.0 -0800
 @@ -30,7 +30,7 @@
  #* Author: Brad Nicholes (bnicholes novell.com)
  
 #**/
 
 -import os, sys, subprocess
 +import os, sys, popen2
  import threading
  import time
 
 @@ -210,7 +210,7 @@
  tempconns[conn] = 0
 
  #Call the netstat utility and split the output into separate 
 lines
 -netstat_output=subprocess.Popen([netstat, '-t', '-a'],
 stdout=subprocess.PIPE).communicate()[0]
 +netstat_output=popen2.popen2([netstat, '-t', '-a'],
 mode='r')[0].read()
  lines = netstat_output.splitlines()
 
  #Iterate through the netstat output looking for the 'tcp'
 keyword in the tcp_at
 
 Cheers,
 
 Bernard
 
 On 11/8/07, Brad Nicholes [EMAIL PROTECTED] wrote:
   On 11/7/2007 at 4:16 PM, in message
  [EMAIL PROTECTED], Bernard Li
  [EMAIL PROTECTED] wrote:
   Hi Brad:
  
   On 11/7/07, Brad Nicholes [EMAIL PROTECTED] wrote:
  
   Yes, the fact that the .py file exists in the
   /usr/lib/ganglia/python_modules directory means that mod_python will
   automatically load the module.  Gmond will not try to collect metrics 
   from it
   or call any of its handlers, but it will load the module.  The only way to
   avoid this is to move the .py file out of the directory or give it a
   different extention.  So to disable a python module, you not only have to
   rename the .conf file, but you also have to move or remove the 
   corresponding
   .py file itself.
 So the more interesting question is why won't the tcpconn module load?
   One of the nice things about building a gmond python module is that you 
   can
   actually do all of the development and debugging completely independent 
   from
   gmond.  In other words, you can just run the .py script directly through
   python and it will function just as if gmond had called it.  Have you 
   tried
   to run tcpconn.py directly in python?  I would be interested to know what 
   it
   is failing on.
  
   # python tcpconn.py
   Traceback (most recent call last):
 File tcpconn.py, line 33, in ?
   import os, sys, subprocess
   ImportError: No module named subprocess
  
   # rpm -q python
   python-2.3.4-14.4
  
   'subprocess' was introduced in Python 2.5 I believe -- perhaps you can
   re-write it using popen?
  
 
  Perfect, that's what I needed to know.
 
  Brad
 
 
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
 ___
 Ganglia-developers mailing list
 Ganglia-developers@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/ganglia-developers
 

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] mod_python

2008-01-15 Thread Brad Nicholes
  works for me too.  Check it in :)

Brad

 On 1/15/2008 at 5:18 PM, in message
[EMAIL PROTECTED], Matthias
Blankenhaus [EMAIL PROTECTED] wrote:
 Bernard,
 
 works for me.  
 
 Thanx,
 Matthias
 
 On Tue, 15 Jan 2008, Bernard Li wrote:
 
 Hi Brad:
 
 The following patch should make tcpconn.py compatible with Python
 2.3.x which does not have the subprocess module:
 
 --- tcpconn.py.orig 2008-01-15 15:30:09.0 -0800
 +++ tcpconn.py  2008-01-15 15:30:48.0 -0800
 @@ -30,7 +30,7 @@
  #* Author: Brad Nicholes (bnicholes novell.com)
  
 #
 **/
 
 -import os, sys, subprocess
 +import os, sys, popen2
  import threading
  import time
 
 @@ -210,7 +210,7 @@
  tempconns[conn] = 0
 
  #Call the netstat utility and split the output into separate 
 lines
 -netstat_output=subprocess.Popen([netstat, '-t', '-a'],
 stdout=subprocess.PIPE).communicate()[0]
 +netstat_output=popen2.popen2([netstat, '-t', '-a'],
 mode='r')[0].read()
  lines = netstat_output.splitlines()
 
  #Iterate through the netstat output looking for the 'tcp'
 keyword in the tcp_at
 
 Cheers,
 
 Bernard
 
 On 11/8/07, Brad Nicholes [EMAIL PROTECTED] wrote:
   On 11/7/2007 at 4:16 PM, in message
  [EMAIL PROTECTED], Bernard Li
  [EMAIL PROTECTED] wrote:
   Hi Brad:
  
   On 11/7/07, Brad Nicholes [EMAIL PROTECTED] wrote:
  
   Yes, the fact that the .py file exists in the
   /usr/lib/ganglia/python_modules directory means that mod_python will
   automatically load the module.  Gmond will not try to collect metrics 
   from 
 it
   or call any of its handlers, but it will load the module.  The only way 
   to
   avoid this is to move the .py file out of the directory or give it a
   different extention.  So to disable a python module, you not only have to
   rename the .conf file, but you also have to move or remove the 
 corresponding
   .py file itself.
 So the more interesting question is why won't the tcpconn module load?
   One of the nice things about building a gmond python module is that you 
 can
   actually do all of the development and debugging completely independent 
 from
   gmond.  In other words, you can just run the .py script directly through
   python and it will function just as if gmond had called it.  Have you 
 tried
   to run tcpconn.py directly in python?  I would be interested to know 
   what 
 it
   is failing on.
  
   # python tcpconn.py
   Traceback (most recent call last):
 File tcpconn.py, line 33, in ?
   import os, sys, subprocess
   ImportError: No module named subprocess
  
   # rpm -q python
   python-2.3.4-14.4
  
   'subprocess' was introduced in Python 2.5 I believe -- perhaps you can
   re-write it using popen?
  
 
  Perfect, that's what I needed to know.
 
  Brad
 
 
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ 
 ___
 Ganglia-developers mailing list
 Ganglia-developers@lists.sourceforge.net 
 https://lists.sourceforge.net/lists/listinfo/ganglia-developers 
 
 
 -
 This SF.net email is sponsored by: Microsoft
 Defy all challenges. Microsoft(R) Visual Studio 2008.
 http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ 
 ___
 Ganglia-developers mailing list
 Ganglia-developers@lists.sourceforge.net 
 https://lists.sourceforge.net/lists/listinfo/ganglia-developers 



-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers


Re: [Ganglia-developers] Click-to-enlarge patch

2008-01-15 Thread Carlo Marcelo Arenas Belon
On Tue, Jan 15, 2008 at 09:08:03PM -0500, Jesse Becker wrote:
 This is a re-post of a patch I sent back in December (originally based
 on someone else's code).

Committed revision 921, thanks

Carlo

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Ganglia-developers mailing list
Ganglia-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ganglia-developers