web-dev-qa-db-ja.com

Puppet Agentが散発的に失敗し、タイムアウトまたは「クラスが見つかりませんでした」エラーが発生します

私が持っています puppet master Xen dom0で実行され、3つのdomUが1時間ごとのcrontabを介して同期していますpuppet agent --test

約80%の確率で、puppet agent --test正常に完了しました:

info: Retrieving plugin
info: Caching catalog for test3
info: Applying configuration version '1333319732'
notice: Finished catalog run in 5.08 seconds

残りの20%は途中で失敗し、次のようなエラーが発生します。

err: Could not retrieve catalog from remote server: Error 400 on SERVER:
     Could not find class iptables for test1 at /etc/puppet/manifests/site.pp:1 on node test1
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

または

info: Retrieving plugin
info: Caching catalog for test2
info: Applying configuration version '1333319732'
notice: Finished catalog run in 24.73 seconds
err: Could not send report: Error 500 on SERVER: 

Internal Server Error

private method `gsub' called for WEBrick::HTTPStatus::RequestTimeout:Class

 WEBrick/1.3.1 (Ruby/1.8.5/2006-08-25) OpenSSL/0.9.8e-rhel5 at
 puppet:8140

または

info: Retrieving plugin
err: Could not retrieve catalog from remote server: execution expired
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

または

info: Retrieving plugin
info: Caching catalog for test3
info: Applying configuration version '1333319732'
notice: Finished catalog run in 9.47 seconds
err: Could not send report: Error 408 on SERVER: Request Timeout 

この間、Puppetの構成に変更を加えていません。散発的に失敗するだけです。

CentOSでpuppet-2.7.12を実行しており、 http://docs.puppetlabs.com/learning/agent_master_basic.html で説明されているセットアップ手順に従いました。

これをトラブルシューティングする方法についてのアイデアはありますか?

3
smokris

数週間前、puppet masterを実行している仮想マシンのメモリ割り当てを数百メガバイト増やしましたが、それ以降、障害は発生していません。

(これはメモリが不足していることを示す奇妙な方法です...)

3
smokris

Webrickはモノスレッドであり、パフォーマンスがお粗末です。 20台を超えるサーバーは構成アイテムの数が比較的少ない(約200)ため、別のものに変更する必要があります。 PuppetRackを使用してください-それははるかに優れています。

1