uptimeチェックとは?可用性監視を解説
uptimeチェックとは、サービスを外部から定期的にプローブして、それが稼働し応答していることを確認するもので、可用性監視の最も単純かつ基本的な形態です。
洗練されたオブザーバビリティのどれよりも前に、基本的な問いがあります。そもそもそれは稼働しているのか、ということです。uptimeチェックは、ユーザーのように振る舞い、スケジュールに従ってendpointにアクセスし、正しく応答したかを記録することで、その問いに答えます。それは最も根源的なブラックボックス監視であり、どのチームも最初に設定することの多いアラートです。
uptimeチェックの仕組み
監視サービスは、URLやendpointへ一定の間隔で、多くの場合は複数の場所からリクエストを送り、制限時間内に健全な応答を得られるかを確認します。応答が欠落している、エラーである、または遅すぎる場合、チェックは失敗し、アラートを発火させることができます。
「稼働」の意味
優れたuptimeチェックは、TCP接続以上のものを検証します。成功を示すステータスコードを確認し、応答のボディが期待する内容を含むことを検証できるため、サーバーが技術的には応答していてもエラーページを返しているケースを捉えます。「稼働」を慎重に定義することで、誤った安心を避けられます。
外部からの視点
自社インフラの外部から、理想的には複数のリージョンからチェックを実行すると、内部監視では見えない問題、たとえばDNSの障害、期限切れの証明書、CDNの障害などを捉えられます。重要なのはユーザー体験であり、外部からのプローブだけがそれをユーザーが見るとおりに見ます。
uptimeチェックとdeploy
uptimeチェックは自然なdeploy後のゲートです。releaseの後、トラフィックが完全に切り替えられる前に、チェックがサービスがまだ到達可能で正しく応答していることを確認します。deployの直後にチェックが失敗するなら、それは中止またはrollbackすべき強力で迅速なシグナルです。
uptimeチェックの限界
uptimeチェックは玄関口が応答することを教えてくれますが、あらゆる機能が動作すること、あるいはすべてのユーザーにとってパフォーマンスが許容範囲であることは教えてくれません。それは必要ですが十分ではなく、より深い監視、シンセティックフロー、リアルユーザーのデータがその上に築かれる、粗い第一の防衛線です。
重要なポイント
- uptimeチェックは、スケジュールに従ってサービスを外部からプローブします。
- 優れたチェックは、接続性だけでなくステータスと内容も検証します。
- 外部からの、複数リージョンのチェックはDNS、TLS、CDNの問題を捉えます。
- それらは効果的なdeploy後の可用性ゲートになります。