Feature Request HostGroup in environment.

2010-01-06 Thread Nathan Gibbs
What.

Export the HostGroup of the about to be run monitor into its environment.
Possibly something like
MON_HOST_GROUP

Why?
Summary
To give a monitor a way to identify itself form another instance of
itself running in a different HostGroup.

Detail
For years I've had a situation where a server reboot or an snmpd service
restart would occasionally put the reboot.monitor into an error state
for a random amount of time longer than necessary.  Anywhere from 5
minutes to hours.
Sometimes the problem would fix itself, other time I would have to rm
the state file.

What was happening was that the reboot.monitor in HG1 where the reboot
happened would write the state file just after the reboot.monitor in HG2
would read it. Obviously the monitor in HG2 would write out incorrect
data for the hosts in HG1.

Yes, in this particular instance I could use the --statefile= option &
be done with it.  However I'm thinking beyond this particular monitor.
If this feature was added

1. any monitor that needed a unique statefile name could trivially get one.
$STATEFILE = $ENV{"MON_HOST_GROUP"} . "$ME.state";
This or something like it could be added to the monitor template.

2. All statefiles would follow a convention of HostGroup.Monitor.state.
3. It would be easy to know what file was built by which monitor instance.
4. No need to implement an option to set a statefile name.
5. Simpler config as the above options are no longer needed.

What do you think?
:-)

-- 
Sincerely,

Nathan Gibbs

Systems Administrator
Christ Media
http://www.cmpublishers.com




signature.asc
Description: OpenPGP digital signature
___
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon


Re: Feature Request HostGroup in environment.

2010-01-06 Thread David Nolan
I think thats a great idea.

Which is probably why it already exists... :)

try MON_GROUP and MON_SERVICE

(I see that the documentation doesn't list those for monitors, only
for alerts, but they do exist and work.)

-David



On Wed, Jan 6, 2010 at 1:30 PM, Nathan Gibbs  wrote:
> What.
>
> Export the HostGroup of the about to be run monitor into its environment.
> Possibly something like
> MON_HOST_GROUP
>
> Why?
> Summary
> To give a monitor a way to identify itself form another instance of
> itself running in a different HostGroup.
>
> Detail
> For years I've had a situation where a server reboot or an snmpd service
> restart would occasionally put the reboot.monitor into an error state
> for a random amount of time longer than necessary.  Anywhere from 5
> minutes to hours.
> Sometimes the problem would fix itself, other time I would have to rm
> the state file.
>
> What was happening was that the reboot.monitor in HG1 where the reboot
> happened would write the state file just after the reboot.monitor in HG2
> would read it. Obviously the monitor in HG2 would write out incorrect
> data for the hosts in HG1.
>
> Yes, in this particular instance I could use the --statefile= option &
> be done with it.  However I'm thinking beyond this particular monitor.
> If this feature was added
>
> 1. any monitor that needed a unique statefile name could trivially get one.
> $STATEFILE = $ENV{"MON_HOST_GROUP"} . "$ME.state";
> This or something like it could be added to the monitor template.
>
> 2. All statefiles would follow a convention of HostGroup.Monitor.state.
> 3. It would be easy to know what file was built by which monitor instance.
> 4. No need to implement an option to set a statefile name.
> 5. Simpler config as the above options are no longer needed.
>
> What do you think?
> :-)
>
> --
> Sincerely,
>
> Nathan Gibbs
>
> Systems Administrator
> Christ Media
> http://www.cmpublishers.com
>
>
>
> ___
> mon mailing list
> mon@linux.kernel.org
> http://linux.kernel.org/mailman/listinfo/mon
>
>

___
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon


Re: Feature Request HostGroup in environment.

2010-01-06 Thread Jim Trocki

On Wed, 6 Jan 2010, David Nolan wrote:


I think thats a great idea.

Which is probably why it already exists... :)

try MON_GROUP and MON_SERVICE

(I see that the documentation doesn't list those for monitors, only
for alerts, but they do exist and work.)


i just updated mon.8 to reflect all of the environment variables set in
run_monitor and in call_alert. there were a couple things missing.

___
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon


Re: Feature Request HostGroup in environment.

2010-01-06 Thread Nathan Gibbs
* Jim Trocki wrote:
> On Wed, 6 Jan 2010, David Nolan wrote:
> 
>> I think thats a great idea.
>>
>> Which is probably why it already exists... :)
>>
>> try MON_GROUP and MON_SERVICE
>>

Cool, software that reads the feature request from my mind months before
I realize I need the feature.
What can't Open Source software do?
;-)

>> (I see that the documentation doesn't list those for monitors, only
>> for alerts, but they do exist and work.)
> 

Mon has "undocumented" features!!!
NO way!

> i just updated mon.8 to reflect all of the environment variables set in
> run_monitor and in call_alert. there were a couple things missing.
> 
> 

While your at it, list_views isn't documented in the Mon::Client man page.


Thanks

-- 
Sincerely,

Nathan Gibbs

Systems Administrator
Christ Media
http://www.cmpublishers.com




signature.asc
Description: OpenPGP digital signature
___
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon


Re: Feature Request HostGroup in environment.

2010-01-06 Thread Nathan Gibbs
* Jim Trocki wrote:
> On Wed, 6 Jan 2010, David Nolan wrote:
> 
>> I think thats a great idea.
>>
>> Which is probably why it already exists... :)
>>
>> try MON_GROUP and MON_SERVICE
>>

Oh' that works so nicely.
A thing of beauty.

# NPG
# Changed the default assignment from $ME to $HG-$ME.state.
# It was a real pain to test this thing stnadalone when it kept
# overwriting itself. The work of a true BCFH. ;-)
# Also now seperate instances will not clobber each other's state.
if ( $ENV{"MON_GROUP"} ) {
$HG = $ENV{"MON_GROUP"};
}else{
$HG = "testing";
}
$STATEFILE = $opt{"statefile"} || "$HG-$ME.state";
# NPG End

Hopefully, later this week or next, I'll release revisions of the
reboot.monitors.

Question?

To kill or not to kill $opt{"statefile"}.

Personally, I favor killing it, as it now has nothing but hack value and
the code would be cleaner without it.


-- 
Sincerely,

Nathan Gibbs

Systems Administrator
Christ Media
http://www.cmpublishers.com




signature.asc
Description: OpenPGP digital signature
___
mon mailing list
mon@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/mon