You could also write a single init script which reads which config  
file to use from an environment variable.  That would cut down on the  
number of copy/paste scripts.

# export GMOND_CONF=/etc/ganglia/gmond.conf-ramdisk
# /etc/init.d/gmond start

Then /etc/init.d/gmond would do something like '/usr/sbin/gmond -c  
$GMOND_CONF'.  Not sure if that makes your task easier or not, but I  
use an approach like this at my work for a similar purpose.

alex

On Aug 2, 2010, at 5:58 PM, Stevens, Weston J wrote:

> MUCH obliged. I'll try this stuff out tomorrow and let you guys know  
> how things go.
>
> -----Original Message-----
> From: Jesse Becker [mailto:[email protected]]
> Sent: Monday, August 02, 2010 3:19 PM
> To: Rick Cobb
> Cc: Stevens, Weston J; [email protected]
> Subject: Re: [Ganglia-general] Multiple gmonds or gmetads on same host
>
> Ah, then I mis-understood.
>
> Yes, you will need different configurations for this, and will need  
> to make use of the -c option (and -p, if you want to track the PID  
> files).  The different configuration files will still need to make  
> use of different ports though.  Gmond will run quite happily from  
> the command line.
>
> You can start gmond and gmetad without their respective startup  
> scripts--neither one does anything fancy, and both are largely  
> boilerplate scripts from Red Hat.
>
> If you want to make a startup script for your test versions then you  
> will need to make a new file in /etc/init.d/ for each "new" instance  
> you want to run.  So /etc/init.d/gmond_test-ramdisk and /etc/init.d/ 
> gmond_test-3.1.7, for example.
>
> As mentioned, you will need to use different configuration files for  
> each gmond instance.  It should be simple to add to this to each of  
> the startup scripts.  For example, on my Centos system, the gmond  
> script has a line at the top that reads:
>
>  GMOND=/usr/sbin/gmond
>
> This can be changed to
>
>  GMOND=/usr/sbin/gmond -c /etc/ganglia/gmond.conf-ramdisk
>
> and nothing else should need to change in the rest of the file--so a  
> minor change may be warranted, *if* you want to use init scripts  
> (the use of which is not actually required).
>
>
>
>
>
> On Mon, Aug 2, 2010 at 18:07, Rick Cobb <[email protected]> wrote:
>> That's a different use-case than I understood Mr. Stevens to be  
>> asking
>> about.  As I understand it, he wants to test ganglia configurations
>> themselves, not just segment his grid between test clusters &
>> development clusters.
>>
>> E.g., he might want to model his clusters' memberships differently,  
>> or
>> run on RRDcache instead of ramdisk, or find out if the latest Python
>> module locks up gmond, etc., without affecting his ability to measure
>> the stuff his team knows works.
>>
>> In that case, he will need to use the '-c' option when starting his
>> daemons.  OTOH, there's no reason to touch the stuff in
>> /etc/init.d/functions; *nobody* needs to touch those outside of the
>> fedora/redhat/etc., folks.
>>
>> (That does remind me that you'll probably also need to use the '-p'
>> option to set the pidfile name of each daemon instance.)
>>
>> -- ReC
>>
>> On Mon, Aug 2, 2010 at 2:29 PM, Jesse Becker <[email protected]>  
>> wrote:
>>> No, I don't think so.
>>>
>>> I have a server that collects metrics from three different ganglia
>>> "clusters", and just have multiple udp_recv_channel stanzas, one for
>>> each unicast port, and another for each multicast port.  I only have
>>> gmond process running, bound to multiple ports.  For example:
>>>
>>> udp_recv_channel {
>>>  mcast_join = 239.2.11.71
>>>  port = 8649                   /* cluster */
>>>  bind = 239.2.11.71
>>> }
>>> udp_recv_channel {
>>>  mcast_join = 239.2.11.71
>>>  port = 8648                   /* workstations */
>>>  bind = 239.2.11.71
>>> }
>>> udp_recv_channel {
>>>  port = 8649                   /* cluster */ } udp_recv_channel {
>>>  port = 8648                   /* workstations*/ }
>>>
>>> # lsof -i |grep gmond
>>> gmond      3950      nobody    3u  IPv4    32629       UDP
>>> 239.2.11.71:8649 gmond      3950      nobody    4u  IPv4    32633
>>> UDP 239.2.11.71:8648 gmond      3950      nobody    6u  IPv4     
>>> 32635
>>> UDP *:8648 gmond      3950      nobody    7u  IPv4    32636        
>>> UDP
>>> *:8649 gmond      3950      nobody    8u  IPv4    32637       TCP
>>> *:8649 (LISTEN)
>>>
>>>
>>> Now, the gmond.conf files in the "cluster" and "workstation" groups
>>> are different, since they need to send to differen port numbers.
>>>
>>> On Mon, Aug 2, 2010 at 16:39, Stevens, Weston J
>>> <[email protected]> wrote:
>>>> Wouldn't I need different versions of gmetad.conf and gmond.conf,  
>>>> like gmetad-test.conf and gmond-test.conf for instance, in order  
>>>> to have different ganglia configurations running at the same  
>>>> time? And wouldn't I need separate startup scripts for running  
>>>> these different versions, in which case the test version startups  
>>>> would need to be changed with the -c option?
>>>>
>>>> -----Original Message-----
>>>> From: Jesse Becker [mailto:[email protected]]
>>>> Sent: Monday, August 02, 2010 12:56 PM
>>>> To: Stevens, Weston J
>>>> Cc: Rick Cobb; [email protected]
>>>> Subject: Re: [Ganglia-general] Multiple gmonds or gmetads on same
>>>> host
>>>>
>>>> No changes should be required in the startup scripts.  Just  
>>>> changes to the gmetad.conf/gmond.conf files are needed.
>>>>
>>>> On Mon, Aug 2, 2010 at 15:41, Stevens, Weston J 
>>>> <[email protected] 
>>>> > wrote:
>>>>> Great stuff. Is it true that no changes will need to be made to / 
>>>>> etc/init.d/functions?
>>>>>
>>>>> -----Original Message-----
>>>>> From: Rick Cobb [mailto:[email protected]]
>>>>> Sent: Monday, August 02, 2010 10:35 AM
>>>>> To: Stevens, Weston J
>>>>> Cc: [email protected]
>>>>> Subject: Re: [Ganglia-general] Multiple gmonds or gmetads on same
>>>>> host
>>>>>
>>>>> It's not all that painful, but you do have to modify those init  
>>>>> scripts.
>>>>>
>>>>> First, you'll need a passel of configuration files. E.g., /etc/ 
>>>>> ganglia/gmond-test.conf vs. /etc/ganglia/gmond-release.conf;  
>>>>> same for gmetad,....
>>>>> You'll need a port set for each configuration (i.e., an  
>>>>> equivalent to 8649-8652; say 8749-8752 for 'test' or whatever).
>>>>>
>>>>> Then you'll set up your init scripts so wherever it starts the  
>>>>> daemon you're trying to start, it uses the '-c' option to name  
>>>>> that configuration's .conf file.
>>>>>
>>>>> And you'll need a copy of the init script per configuration of  
>>>>> each daemon.  I.e., /etc/init.d/gmond-test, etc . Remember to  
>>>>> chkconfig -add each of your "new services".
>>>>>
>>>>> It's probably possible to set up the init script so it inspects  
>>>>> $0 to identify the config file; for my use cases it's always  
>>>>> been more straightforward to cut & paste.
>>>>>
>>>>> Then you'll need to symlink or copy or git pull or whatever  
>>>>> floats your fancy a web tree per configuration, and set up the  
>>>>> 'conf.php'
>>>>> file so it points @ the right gmetad for that configuration.
>>>>>
>>>>> Good luck --
>>>>> -- ReC
>>>>>
>>>>> On Mon, Aug 2, 2010 at 9:55 AM, Stevens, Weston J 
>>>>> <[email protected] 
>>>>> > wrote:
>>>>>> There are a couple uses for this:
>>>>>> 1) Testing different configurations of these daemons on the same
>>>>>> host concurrently and seeing which one we like better
>>>>>> 2) A "release" version and a test version so tests on the test  
>>>>>> version will not screw with the release. I'm basically working  
>>>>>> toward two separate ganglias running on the same host that  
>>>>>> don't collide with one another in any way and basically may as  
>>>>>> well not know the other one exists.
>>>>>>
>>>>>> I'm pretty sure I'd like to have this capability. I would just  
>>>>>> like to know how? Would I have to change the C source code? I  
>>>>>> can't seem to do it with /etc/init.d/gmond and /etc/init.d/ 
>>>>>> gmond and /etc/init.d/functions scripts alone, this looks like  
>>>>>> it could be painful.
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------
>>>>>> ---
>>>>>> -
>>>>>> -------- The Palm PDK Hot Apps Program offers developers who use
>>>>>> the Plug-In Development Kit to bring their C/C++ apps to Palm for
>>>>>> a share of $1 Million in cash or HP Products. Visit us here for  
>>>>>> more details:
>>>>>> http://p.sf.net/sfu/dev2dev-palm
>>>>>> _______________________________________________
>>>>>> Ganglia-general mailing list
>>>>>> [email protected]
>>>>>> https://lists.sourceforge.net/lists/listinfo/ganglia-general
>>>>>>
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> ---
>>>>> -------- The Palm PDK Hot Apps Program offers developers who use
>>>>> the Plug-In Development Kit to bring their C/C++ apps to Palm  
>>>>> for a share of $1 Million in cash or HP Products. Visit us here  
>>>>> for more details:
>>>>> http://p.sf.net/sfu/dev2dev-palm
>>>>> _______________________________________________
>>>>> Ganglia-general mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/ganglia-general
>>>>>
>>>>> -------------------------------------------------------------------
>>>>> ---
>>>>> -------- The Palm PDK Hot Apps Program offers developers who use
>>>>> the Plug-In Development Kit to bring their C/C++ apps to Palm  
>>>>> for a
>>>>> share of $1 Million in cash or HP Products. Visit us here for  
>>>>> more details:
>>>>> http://p.sf.net/sfu/dev2dev-palm
>>>>> _______________________________________________
>>>>> Ganglia-general mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/ganglia-general
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jesse Becker
>>>> Every cloud has a silver lining, except for the mushroom-shaped  
>>>> ones, which come lined with strontium-90.
>>>>
>>>
>>>
>>>
>>> --
>>> Jesse Becker
>>> Every cloud has a silver lining, except for the mushroom-shaped  
>>> ones,
>>> which come lined with strontium-90.
>>>
>>
>
>
>
> --
> Jesse Becker
> Every cloud has a silver lining, except for the mushroom-shaped  
> ones, which come lined with strontium-90.
>
> ------------------------------------------------------------------------------
> The Palm PDK Hot Apps Program offers developers who use the
> Plug-In Development Kit to bring their C/C++ apps to Palm for a share
> of $1 Million in cash or HP Products. Visit us here for more details:
> http://p.sf.net/sfu/dev2dev-palm
> _______________________________________________
> Ganglia-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ganglia-general
>


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Ganglia-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ganglia-general

Reply via email to