Private Space アプリのルーティングヘルスメトリクス
最終更新日 2023年06月14日(水)
Table of Contents
Heroku では、Private Spaces で実行されているアプリのルーティングヘルスメトリクスを提供します。これらのヘルスメトリクスは、Heroku ルーティングレイヤの問題を洗い出したり、問題の原因がアプリケーションコードなどの外部要因である場合に判断の精度を高めたりするのに役立ちます。
ルーティングヘルスチャート
ルーティングヘルスチャートは、Heroku Dashboard でアプリの Metrics
(メトリクス) タブから利用できます。これは、アプルのルーティングヘルスの状態 (healthy
または degraded
) を時系列で示します。以下で説明する 4 つのステータスチェックのすべてに合格すれば、アプリは healthy
と見なされます。これらのチェックのうち 1 つでも不合格の場合、アプリは degraded
状態と見なされます。
ルーティングヘルスチャートでは、低下は赤色の四角形で示され、それに続けて、ヘルス低下の時間帯の終わりまで赤色の直線が延びている場合があります。赤色の四角形または直線のどちらかにカーソルを合わせると、どのチェックが不合格になって degraded
状態と診断されたかを確認できます。
アプリが healthy
と見なされた期間については、ルーティングヘルスチャートは単に空白になります。
時間枠とデータ間隔
Metrics
(メトリクス) タブの右上隅にあるドロップダウンメニューから、チャートの可視時間枠を設定できます。
サポートされている時間枠は、直近 2 時間から直近 7 日間の範囲です。チャートにカーソルを合わせたときに表示される 1 つ 1 つの間隔の長さは、選択した時間枠によって異なります。
時間枠 | 間隔 |
---|---|
直近 2 時間 | 1 分 |
全 24 時間の時間枠 | 10 分 |
直近 72 時間 | 1 時間 |
直近 7 日間 | 2 時間 |
アプリのルーティングヘルスは 10 秒おきにチェックされます。チャートに特定の間隔に赤色の四角形または直線が表示されている場合、その間隔中の少なくとも 1 回のステータスチェックで degraded
状態が返されました。
表示する時間枠を長くすると、1 つ 1 つの間隔の長さも延びることに注意してください。"直近 7 日間" の時間枠では、その 2 時間の間隔の 1 つについて、その間隔中に発生した低下が数秒しか続かなかった場合でも degraded
と表示されます。
ルーティングヘルスの決定
Heroku では、4 つの基礎メトリクスを使用して、Private Space アプリのルーティングヘルスを決定します。
- DNS ルックアップ
- TCP ダイヤリング
- TLS ハンドシェイク
- HTTP ラウンドトリップ時間
Heroku では、複数のリージョンにデプロイされる prober アプリケーションを使用して、これらのメトリクスをテストします。
prober アプリケーションは、これら 4 つのチェックを順番に実行することに注意してください。1 つのチェックに失敗した場合、残りのチェックは実行されず、同じく失敗として登録されるだけです。
DNS ルックアップ
DNS ルックアップの手順では、アプリの <app-name>-<random-identifier>.herokuapp.com
レコードを解決して、アプリケーションの ELB ノードの IP アドレスのセットを取得します。
DNS 設定が原因で DNS の解決に失敗した場合は、この手順での失敗として反映されません。
TCP ダイヤル
TCP ダイヤルの手順では、プラットフォームのロードバランサー (つまり、ELB ノード) への TCP 接続を確立します。
TLS ハンドシェイク
TLS ハンドシェイクの手順は、各 ELB ノードへの TLS 接続を確立します。ハンドシェイクの失敗は、ルーターインスタンスの問題または証明書の問題のどちらかを示します。
HTTP ラウンドトリップ
HTTP ラウンドトリップの手順では、各 ELB ノードにリクエストを送信します。これは、アプリの dyno に渡されることなく、ルーターによって処理されます。HTTP トランザクションの問題はルーターの問題を示します。
制限
- ルーティングヘルスメトリクスは現在、信頼済み IP を有効にしているお客様は利用できません。
- ルーティングヘルスデータは現在、サードパーティのログ記録またはメトリクスアプリケーションによる取り込みはできません。
- ルーティングヘルスに基づいた通知またはアラートはまだ設定できません。
開発者プレビュー
ルーティングヘルスメトリクスは現在、開発者プレビューの段階です。開発者プレビューでは、今後提供予定の開発者向けテクノロジの早期テストを提供し、本番リリースの準備ができていない機能についてフィードバックを募集します。この機能について質問またはフィードバックがありましたら、Heroku までお問い合わせください。
低下への対応
Heroku プラットフォームが原因のルーティングヘルス低下に関しては、Heroku チームが率先して問題を認識してヘルスの回復に努めるため、通常はお客様が対応する必要はありません。これらのルーティングヘルスメトリクスは、特定の問題の原因がアプリケーションコードなのか Heroku インフラストラクチャなのかを見分けるための、また、Private Space アプリの全体的なパフォーマンスを可視化するための手段として提供されるものです。
Private Space アプリでそのプロセスタイプのいずれかに対して 1 つの dyno しか使用していない場合、アプリのリリースまたは dyno の再起動中に短時間の遅延または低下が発生する可能性があることに注意してください。