[chef] RE: Re: Re: Re: Monitoring chef runs


Chronological Thread 
  • From: Christopher Brown < >
  • To: " " < >
  • Subject: [chef] RE: Re: Re: Re: Monitoring chef runs
  • Date: Thu, 6 Sep 2012 15:25:13 +0000
  • Accept-language: en-US

There are a number of different considerations here, and it's worth teasing them all apart:

1) Do you want to know about impeding change, possibly without acting?  If so, check out "why run" in the latest builds: http://wiki.opscode.com/display/chef/Whyrun+Testing
2) Do you want to reduce the amount of change in a time period, thinking that's less likely to result in errors stacking up? (NOTE: that's not a provable claim, but an intuitive notion).  If so, either run chef-client from cron or as a daemon.
3) Do you want to *directly control* how and when change occurs?  If so, run chef-client manually.
4) Do you want to *directly control* how and when Ruby consumes memory?  If so, run chef-client manually.  Running any Ruby process as a daemon may result in a fair amount of memory being consumed / committed all the time.

After you've chosen your strategy for running chef-client, report / exception handlers are there to tell you exactly what happened: http://wiki.opscode.com/display/chef/Exception+and+Report+Handlers

-C

From: Tetsu Soh
Sent: Thursday, September 06, 2012 7:52 AM
To:
Subject: [chef] Re: Re: Re: Monitoring chef runs

Hi,

well, it really depends on how you manage operations carried out by chef.

By running chef as daemon, chef will apply your changes in next time it runs.
So longer the interval between 2 converges is, more changes may be made.
And more changes you make once, more risk you have.
For example, if one recipes failed, all recipes after that will not be run.
So you need to figure out which one failed, fix it an run everything again.

OMP, running chef-client on demand will be a better solution. 

Regards,

Tetsu


Tetsu, can you elaborate on the concerns you've got for running chef-client as a daemon?

On Sep 6, 2012 7:26 AM, "Tetsu Soh" < " target="_blank"> > wrote:
Hello,

You can use exception handler to get runtime exception on your recipes.

To monitor chef-client process, you can use god, which is a process monitor written in Ruby.

btw, running chef-client as a daemon is not good in some case. be careful with that.

Regards,

Tetsu


Hi all,
 
We’re fairly new to chef and have been manually executing chef runs on one or many nodes.  We just made the move to run it as a service via the chef-client cookbook.
 
What’s the quickest way to make sure that we’re getting notified when there are problems during a chef run?  What’s the best way?
 
Thanks,
Paul





Archive powered by MHonArc 2.6.16.

§