>>> On 7/30/2009 at 9:08 AM, in message <669f1ab30907300808y67c403eev9a1653240c27c...@mail.gmail.com>, Mahendra Kutare <mahendra.kut...@gmail.com> wrote: > On Thu, Jul 30, 2009 at 10:31 AM, Brad Nicholes <bnicho...@novell.com>wrote: > >> >>> On 7/29/2009 at 11:23 PM, in message >> <669f1ab30907292223t2734f551lc8d9b98201d7f...@mail.gmail.com>, Mahendra >> Kutare >> <mahendra.kut...@gmail.com> wrote: >> > Hi All, >> > >> > If I have configured gmond.conf with a udp_recv_channel with just a port >> > number will that configure ganglia gmond to listen on that particular >> port >> > any incoming data and thus making it essentially unicast communication >> > channel ? >> > >> >> Yes, specifying just a port will configure gmond's recv channel in unicast >> mode >> >> > What happens if the sending side sends data every 1 sec will that be >> > transferred immediately to gmond or it waits to collects some packets of >> > data and then delivers to gmond listening side ? >> > >> > I started sending some data from outside of gmond interface to gmond >> which >> > is configured as mentioned above to a udp_recv_channel on port 8108. >> > >> > Now even though the sending side is pushing data in every 1sec. I do not >> see >> > gmond showing in debug mode on the console that its processing Ganglia >> > message from sender side every 1 sec. >> > >> > Is it just the display part of the problem or ganglia does some >> > sophisticated processing of incoming data i.e waiting for a message size >> > before delivering it ? >> > >> >> How did you configure gmond to send data every 1 sec.? Gmond sends its >> data in collection groups and each collection group is configured with a >> send time threshold. At the very worst, the collection group will send all >> of the metric values within that group once the group's collection threshold >> has been exceeded. In addition, each metric is assigned a value threshold >> which is a percent of change differential. If any of the metrics within the >> collection group, differential change exceeds the value threshold, the >> entire group of metrics is immediately sent. So even though a collection >> group is set to collect every 1 second, that doesn't mean that the metrics >> are sent every 1 second. Also, by default the rrd files are configured by >> gmetad to store metrics at an interval of every 15 seconds. So even if the >> metrics were sent every 1 second, you will still only be seeing 15 second >> averages in the front end. >> > > Thanks Brad. I am trying to do it to understand the ganglia protocol and > this helps. > Right now its fine with me even if Gmetad sees only 15 seconds average in > frontend as you described. > > So as I see there are other configuration in collection groups such as - > > 1. collect_once and collect_every > > I understand that collect_once with make some collection to be collected > only once and just send it other gmond every time_threshold. > Also, If I am not wrong If I configured collect_every = 20 and > time_threshold=90, gmond will collect every 20 sec and send every 90 sec to > other gmond. >
Under normal circumstances it will send every 90 seconds but if one of the metric value_thresholds has been exceeded, the entire collection group will be sent immediately. The purpose for this is to make sure that abnormalities or spikes are caught and reported. > Now the part I am not clear is if I am collecting more frequently than I am > sending does that mean we are keeping more in memory ? I mean say after > first occurance of collect in 20 sec if I am not sending it across to gmonds > am I just keeping it in memory hash ? If not, whats the behaviour ? > No, if you are collecting every 20 seconds but the collection group is only sending every 90 seconds, the only metric that is sent or reported is the last metric collected with the 90 second interval. This is the purpose of the metric value_threshold. If for example, you collected a metric 4 times within a 90 second period and the delta between each collected metric value only varied by 5 percent, storing and reporting each of the metrics would just end up being noise on the wire because the percent of change between the values is insignificant. So just sending the last metric collected in this case is good enough. However if the metric saw a spike within the 90 second period but then immediately dropped back to normal, you want to make sure that the metric spike is sent and recorded so gmond sends it immediately. > 2. What does this configuation *cleanup_threshold* = 300 /*secs * ? > > Is it cleaning stuff in memory hash ? If yes, is it happening concurrently > while gmond is trying to send data to other gmonds ? What happens if the > cleanup threshold is reached and gmond collection metric also reached > time_threshold or say if its synchronized first cleanup_threshold and next > time_threshold ? > > Will it just send all NULL ? > No, the cleanup_threshold is an interval where gmond will analyze all of the hosts that have been reported and determines if they are still reporting. If for example, host1 was reporting metrics and then was removed from the grid, gmond will no longer receive data from host1 and that host should no longer be included in the XML data that is collected by gmetad. > 3. Does the configuration - *max_udp_msg_len = 1472* applies to both sending > and recieving of udp packets size ? > You will probably have to look at the source code for that one. Brad ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers