スタートアップのオプション
目次
導入 Introduction
それはNagiosが始動する(再開する)時間を減少できます。そうすることが可能な方法がいくつかがあります。 これらのスピードアップは、構成ファイルを処理するのにかかる負担のいくつかを緩和することを伴います。
あなたに以下の1つ以上があるとき、これらのテクニックを使用するのは特に役に立ちます:
- 大きい構成
- 複雑形状(テンプレートの特徴の重い使用)
- 最もfrequestな再開が必要であるインストール
バックグラウンド Background
Nagiosが始めるか、または再開するときはいつも、モニターのビジネスに取りかかることができる前に、それは、あなたの構成ファイルを処理しなければなりません。 この構成起動過程は以下の多くのステップにかかわります:
- コンフィグファイルを読みます。
- テンプレート定義を決議します。
- あなたの目的(起こる仕事の各種タイプへの私の用語)は"Recombobulatingする"です。
- オブジェクト定義をコピーします。
- オブジェクトの特性を引き継ぎます。
- あなたのオブジェクト定義を分類します。
- オブジェクト関係保全について確かめます。
- 円形路がないかどうかチェックします。
- ・・・など
あなたに大きいか複雑な構成があるとき、これらのステップのいくつかがかなり手間がかかっている場合があります。 これらのステップのどれかを早くする方法がありますか?
起動に必要な時間の評価 Evaluating Startup Times
事態をより速くしながら乗る前に、私たちは、何が可能であるか、そして、私たちが全体のものを苦にするべきでさえあるかどうかを見る必要があります。これはしやすいです---sコマンドラインスイッチからnagiosを単に始動して、タイミングとスケジューリング情報を得てください。
出力(関連部分を示しているだけであるために、簡略化されている)の例は以下に示されています。 この例のために、私は25のホストを定義するNagiosコンフィグとちょうど1万以上のサービスを利用しています。
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg Nagios 3.0-prealpha Copyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org) Last Modified: 01-27-2007 License: GPL Timing information on object configuration processing is listed below. You can use this information to see if precaching your object configuration would be useful. Object Config Source: Config files (uncached) OBJECT CONFIG PROCESSING TIMES (* = Potential for precache savings with -u option) ---------------------------------- Read: 0.486780 sec Resolve: 0.004106 sec * Recomb Contactgroups: 0.000077 sec * Recomb Hostgroups: 0.000172 sec * Dup Services: 0.028801 sec * Recomb Servicegroups: 0.010358 sec * Duplicate: 5.666932 sec * Inherit: 0.003770 sec * Recomb Contacts: 0.030085 sec * Sort: 2.648863 sec * Register: 2.654628 sec Free: 0.021347 sec ============ TOTAL: 11.555925 sec * = 8.393170 sec (72.63%) estimated savings Timing information on configuration verification is listed below. CONFIG VERIFICATION TIMES (* = Potential for speedup with -x option) ---------------------------------- Object Relationships: 1.400807 sec Circular Paths: 54.676622 sec * Misc: 0.006924 sec ============ TOTAL: 56.084353 sec * = 54.676622 sec (97.5%) estimated savings
承認して、何が起こったかを見させます。合計を見て、コンフィグについて確かめるために構成ファイルともう56秒処理するにはおよそ11.6秒かかりました。それは、私がこの構成で始まるか、またはNagiosを再開するときはいつもときに、およそ68秒の何かモニターできる前の始動仕事の撮影がときはいつもを、意味します! 私が準通常ベースでNagiosを再開しなければならないなら、それは許容できません。
構成のキャッシュ Pre-Caching Object Configuration
Nagiosはあなたのコンフィグファイルを分析するのにかなりの時間を費やすことができます、特にあなたが遺産などのテンプレートの特徴を利用するならわざわざそれがあなたのコンフィグを分析する短縮するために、あなたは、Nagiosに今後の使用のためのコンフィグファイルを前処理して、あらかじめキャッシュさせることができます。
Nagiosは、それらを処理して、-pコマンドラインのオプションでnagiosを実行するときにはあらかじめキャッシュされたオブジェクトコンフィグファイル(前キャッシュされた_オブジェクト_ファイル指示で、指定される)にそれらを保存するようにあなたのコンフィグファイルを読むでしょう。このあらかじめキャッシュされたコンフィグファイルはNagiosが将来処理するのにおいて、より簡単であるか、または、より速い前処理された構成エントリーを含むでしょう。
あなたは-vか-sコマンドラインのオプションのどちらかに伴う-pコマンドラインのオプションを使用しなければなりません、以下に示すように。 これは、前キャッシュされたファイルが作成される前に、あなたの構成が確かめられるのを確実にします。
/usr/local/nagios/bin/nagios -pv /usr/local/nagios/etc/nagios.cfg
あなたの前キャッシュされたコンフィグファイルのサイズはたぶんあなたのオブジェクトコンフィグファイルのサイズよりかなり大きくなるでしょう。 正常であり、この設定で。
前キャッシュされたオブジェクト構成ファイルがいったん作成されると、あなたは、Nagiosを始めて、-uコマンドラインのオプションを使用するのによるあなたのオブジェクトコンフィグファイルの代わりに前キャッシュされたコンフィグファイルを使用するようにそれに言うことができます。
/usr/local/nagios/bin/nagios -ud /usr/local/nagios/etc/nagios.cfg
あなたの構成ファイルを変更すると、あなたは、Nagiosを再開する前にあなたの構成ファイルを再確かめて、再キャッシュする必要があるでしょう。あなたが前キャッシュされたオブジェクトファイルを作り直さないと、Nagiosは、現在あなたのソース構成ファイルよりむしろ前キャッシュされたファイルから読んでいるので、あなたの古い構成を使用し続けるでしょう
経路テストをスキップすること。 Skipping Circular Path Tests
構成スタートアップ段階の第2の(そして、最も時間集約型の)部分は、循環経路チェックです。上記の例では、構成確認のこのステップを実行するために、ほぼ1分かかりました。
円形道であることはチェックします、そして、なぜ、それはそれほど長く取りますか?循環パッチチェックは、あなたがあなたのホスト、ホスト依存またはサービス依存定義で少しの円形道も定めないことを確実とするようになっています。円形道があなたの構成ファイルの中に存在するならば、Nagiosは行き詰まり状況で終わることができます。チェック取得のための最もありそうな理由は、とても長く、私が効率的なアルゴリズムを使用していないということです。円形道を見つけるためのずっと効率的なアルゴリズムは、最も歓迎されます。ヒント:それは、すべてあなたにNagiosの上のあなたの命題が後ろにいくらかのコードを寄稿することができることをして私にまわりに電子メールを送っていたCompSci大学院生を定めます。:-)
Nagiosが始まるときあなたが循環経路チェックをスキップしたいならば、あなたはこのような-xコマンドラインオプション加えることができます:
/usr/local/nagios/bin/nagios -xd /usr/local/nagios/etc/nagios.cfg
円形路をスキップするとき、始め/再開Nagiosがチェックする前に、最重要性では、あなたは、構成について確かめます。 そうしない場合、Nagios論理の行き詰まりにつながるかもしれません。 あなたは注意されました。
設定を行います Putting It All Together
あなたの構成をあらかじめキャッシュするので、潜在的スピードアップを利用したがっていて、円形路をスキップするのがチェックするなら、これらのステップに従ってください。
1. 構成について確かめてください、そして、以下のコマンドで「前-キャッシュ」ファイルを作成してください:
/usr/local/nagios/bin/nagios -vp /usr/local/nagios/etc/nagios.cfg
2. 現在稼働しているなら、Nagiosを止めてください。
3. 前キャッシュされたコンフィグファイルを使用して、円形路をスキップするのがチェックして始まるように:
/usr/local/nagios/bin/nagios -uxd /usr/local/nagios/etc/nagios.cfg
4. あなたが、将来、あなたのオリジナルの構成ファイルを変更して、それらの変化を起こるようにするのにNagiosを再開する必要があるときにはステップ1 を繰り返して、コンフィグについて再確かめて、キャッシュされたコンフィグファイルを作り直してください。それがいったん完了していると、あなたはウェブインタフェースを通して、または、SIGHUP信号を送ることでNagiosを再開できます。あなたが前キャッシュされたオブジェクトファイルを作り直さないと、Nagiosは、現在あなたのソース構成ファイルよりむしろ前キャッシュされたファイルから読んでいるので、あなたの古いconfgurationを使用し続けるでしょう。
5. それはそれです! 増加する始動速度を楽しんでください。