キーワード監視
HTTP 200はページが正常であることを保証しません。キーワード監視により、サーバーがOKと返しても内容が壊れているケースを検出します。
「200 OK だが壊れている」問題
すべてのアップタイム監視ツールはサーバーがHTTP 2xxコードを返したかどうかを教えてくれます。このシグナルは安心できるように見えますが、実はあなたが思うよりも頻繁に嘘をつきます。トップページが真っ白なページを描画しても、200を返すことがあります。カートページで「今すぐ購入」ボタンがデプロイ後ひっそりと消えても、エラーは出ないままです。WordPressでは、内容が「データベース接続エラー」といったメッセージに置き換えられても―当然、本物のHTMLとともに200 OKが返ってきます。
キーワード監視は、この死角を補います。ページが含むべきもの、または含むべきでないものを監視に指定すると、毎回レスポンスの内容にその語句があるかどうかを検索します。もしキーワードが存在しない(本来あるべきなのに)または存在する(あってはならないのに)場合、HTTPレベルでは問題なく見えても、ダウンとして報告されます。
監視すべき文字列例
良いキーワードは、ページの重要な部分が正しく表示されていることを証明するものです。いくつか例を挙げます:
- ECサイトのトップページ:「カートに追加」や最も人気のある商品の名前を監視しましょう。商品カタログのフィードが壊れると、その語句が消え、問題を検知できます。
- ログインページ:「ログイン」や「パスワードを再発行」などを監視します。JSエラーでフォームが消えると、その語句もなくなります。
- ブログやポータル:最新記事のタイトルを監視します。CMSが昨日の記事を表示し始めたら、語句が一致しません。
- 価格ページ:価格の文字列を監視します。価格ブロックがデプロイで消えた場合、すぐにわかります。
- ステータス/ヘルスエンドポイント:「ok」または「healthy」を監視します。上流サービスが落ちた場合、エンドポイントが「degraded」を返すので、語句が一致しません。
不在モードも使えます―本来あってはいけない文字列が現れたときアラートを送ります。典型的な例:「Database connection error」「Whoops! Something went wrong」「メンテナンスモード」「Fatal error」「近日公開」など。これらのいずれかが本番で表示されたら、アラートが届きます。
監視の仕組み
モニターは通常のHTTP(S) GET(または他のメソッド―POST、PUTなど)リクエストを行い、最大5回までリダイレクトに追従し、レスポンスボディをダウンロードして大文字小文字を区別せず語句の有無をスキャンします。マッチ結果はHTTPコード、応答時間、SSLと共に保存されます。条件が2回連続(デフォルトの確認しきい値)で満たされなかった場合、インシデントが発生し、有効なチャネル―Email、Telegram、Slack、Discord、SMS―を通じて通知が送信されます。
語句がJavaScript実行後にやっと現れるようなダイナミックなページ(SPA)は、ScrapingBeeを利用した本物のヘッドレスブラウザを使うプレミアム多地点機能をご利用ください。
HTTP および SSL と連携
DiagnoSEO Uptime Monitoringのキーワード監視は、HTTPコード、応答時間、SSL、ドメイン有効期限、DNSレコード、ホスティング検出といった総合的なサイトチェックも同時に行います。つまり、一つのモニターでサーバー障害、SSL証明書切れ、DNS改ざん及び静かなコンテンツ故障、すべてからあなたを守ります。
設定方法
ツールを開き、「モニター追加」をクリックし、タイプとして「キーワード」、URLを貼付け、語句を入力、「必ず存在する」か「必ず存在しない」と選択し、間隔(プランによって1-30分)を指定して保存します。次のサイクルから、その語句の有無を監視し、語句が消えればアラートします―他のシグナル上はサイトが正常に見えている場合でも。
よくある質問
-
モニターはレスポンスボディを取得し、特定の文字列が存在する(presentモード)/存在しない(absentモード)かをチェックします。ページ内容が変わったり、エラーメッセージが現れたり、特定要素が消えた場合の検知に利用できます。
-
両方です。検索は生のレスポンスボディ上の部分一致です。プレーンテキスト(「カートに追加」)、HTML断片(
<button class="buy">)、特定属性など一致できます。HTMLソースにそのまま現れるものなら何でもマッチが可能です。 -
差分ツールはベースラインと比較し全ての変化を報告します。キーワード監視は目的に応じたアサーション―何が必ずある/ないかを定義します。ダイナミックなページではdiffはノイズが多くなりがちですが、キーワードは重要な部分だけ正確に見ます。
-
はい―「absent」モードにして、「Internal Server Error」や「エラーが発生しました」などをキーワードに指定してください。エラーテキストが現れたら失敗となります。エラーページがHTTP 200で返される(よくあるフレームワークの誤設定)場合の検知に有効です。
-
デフォルトでは対応しません―監視はJS実行前の生HTMLを取得します。SPAやJS多用サイトでは、キーワードが初期HTML(例:サーバーサイドレンダリング済または
<noscript>内)に必要です。ブラウザレンダリング検知は別機能です。
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic