ウォッチドッグはあなたを監視しています(ホスティング監視)

注意! この記事はWebプログラマ向けです-ソースコードと技術が含まれています。 詳細。



品質に注意する あなたはそのようなことをしました-簡単な質問はあなたをst迷と深い思考に追い込みましたか? これは、クライアントまたは友人が私に尋ねるたびに私に起こります:



-アンドレイ、私たちのサイトにはどのホスティングをお勧めしますか?



答えはありません。すべての(すべて!)測定値がホスティング会社に有利ではないため、特に誰も連れてきません。この記事の推奨事項に従って確認することができます。



犬が埋葬されているように見えるでしょうか? 確かに、私たちにとって、ホスティングは私たちがSEOオプティマイザーであるため、よく踏んでいるお気に入りのカルスの1つです。 私たちはサイトと顧客をトップに導くために一生懸命取り組んでおり、Yandex、Googleなどの貧弱で不安定なホスティングの恐怖を感じています。 ただし、ホスティングは日中、特に午後6時ごろのピーク負荷時に低下することがよくあります。これは、夕方にインターネットに見物人が流入するためです。



最も簡単なことは次のとおりです。日中はサイトが正常に機能し、ホストのサポートが監視しています。 そして夜、彼は定期的にノックダウンで「嘘をつく」。 たとえば、ホストスクリプトはバックアップを作成し、すべてが過負荷になります。 顧客は眠っています、顧客は眠っています、サイトは眠っています。 検索スパイダーを除き、誰もが幸せです。



最初に行ったのは、高価なサーバーを購入してキャラバンに持ち込むことでした(優れたコロケーション品質のおかげで)。 しかし、サーバーはゴムではなく、ホスティングサービスとしては提供していません。 したがって、私たちのすべてを聞かせてすることはできません。



どういうわけか状況を制御するために、数年前にホスト安定性モニターを作成しました。 他の多くの競争上の優位性をすでに持っているので、Habraの宣伝のためにソースコードと作業のアルゴリズムをレイアウトする準備ができています。



ポイントにとても近い



このスクリプトは恥ずかしがりやすく 、habraradrug Grox 'aの助けにもかかわらず、ソースは未加工であり、コーミングされていません。 あまり蹴らないでください。



したがって、 ソート(PHP + MySQL)、11 kb zipアーカイブします 。 難読化することなく、すべてが開いています。



クイックスタート


1.アーカイブを私たちの場所で解凍し、サーバー上のすべて、たとえばmySite.ru / watchdog /

2.犬用のデータベース(できれば別のもの)を作成し、sqlファイルsql.txtを実行(またはPHPMyAdminにアップロード)

3.データベースへのアクセスをdbconnect.phpファイルに登録します

4. grox_config_users.phpにユーザー(ユーザー名、パスワード)として登録します

5. moisayt.ru / watchdog /に移動し、最初の-reference *サイトを追加します

6. nip.phpスクリプトが5分または20分ごとに1回プルするように、たとえば* * 10 * * * * / usr / bin / wget -q " yoursite.ru / watchdog / nip.php "のように、 クラウンを書き留めます

7.これで、監視のために他のサイトを追加できます

8. 1週間後、最初のクリームを収集します

9. ?????

10.利益



当然、この方法では他のサーバーのみを効果的に監視できますが、自分のサーバーは監視できません。



*参照(キャリブレーション)サイトは、明らかに高品質のホスティングを備えた他の誰かのサイトです(たとえば、異なるデータセンターに多くのサーバーがあります)。 私たちが使用するもの-具体的には言及しませんが、そうでない場合は誤って尋ねます:)チェックサーバー自体のブレーキによるエラーを排除するために必要です。 どのように機能しますか? 読んでください。



データベース構造




骨-「骨」、噛む部位の結果。 最も重要なログファイル

bones_back-バックアップなし。 ここでは、3か月より古いすべてを転送します。

サンプル-噛み合わせ同期により、遅延をキャリブレーションサイトと比較できます。

watch_dogsは、犬が噛んでチェックするサイトのリストです。



どのように機能しますか?




ホスティングを確認するためのkronaの各呼び出しには、一意の番号があります。 サイトはランダムにポーリングされます。 これにより、スクリプトが1つの個別のサイトの中断の条件下で機能することが保証されます。 チェックされているサイトと同時に「キャリブレーション」サイトに障害が発生した場合、バグがあるのはチェックされているサイトではなく、サーバー自体であると判断し、このサンプルを拒否します。 サンプルの比較は、ボーンデータベースのsample_idフィールドによって行われます。



ここに「犬」のリストがあります



一口



過去7日間のクラッシュの例を次に示します



crispo.ru



統計は十分であり、朝の遅れはバックアップの始まりにすぎません。



改善/追加できるものは何ですか?


1. register_globalsを誓わないでください。このスクリプトはローカルアクセス用です(外部アクセスではありません)

2.より良いユーザーインターフェイス

3.サイトのサンプルとサイトをまとめるのに十分な情報がありません

4.ページ上のキーフレーズの追跡を追加して、チェック対象のサイトのデータベースの正常な動作を保証できます。

5.失敗の通知

6.サイトのセマンティック部分からタグをクリアするための、より「正しい」スクリプト

7.メインサーバーの負荷を緊急に削減する必要がある場合に、ウォッチドッグスクリプトを一般的に停止するためのボタン



同様のサービスがあり、メールやftpの可用性をチェックしますが、多くの場合、それらは西部のサーバー上にあり、非常に複雑です。 クライアントのオフィスに独自のスクリプトを正常に統合しました。内部レポートは毎月行われ、一般的にそのシンプルさとシンプルさに満足しています。



スクリプトをすべての人に提供します。価値のある継続を作成する場合は、すべての人と共有することもお願いします。 (ソースコードをsupport@webprojects.ruに送信することで)私たちを通して可能です。

それがあなたにとって有用であることが判明した場合-私たちについて覚えておいて、コメントやフッターの署名から著者の言及を削除しないでください。



PS監視モジュールは、一部のAMRコントローラーの顕著な特性を称えて、ウォッチドッグと呼ばれます。 最初は、内部カウンタを備えた割り込みであり、特殊レジスタの値を単調に減少させていました。 値がゼロに達するとすぐに、コントローラーが再起動され、プログラムがゼロから開始されます。 プログラムのメインで信頼できる部分では、制御レジスタが高い値にリセットされます。 何らかのエラーのために洗濯機またはテレビのソフトウェアが突然フリーズした場合、ウォッチドッグは自動的に再起動します。



All Articles