ALBでエラーレート監視について

AWS の Application ELB でのエラーレート監視について

AWS の Application ELB で、500系(以外)の応答率を監視したくなった。アベイラビリティの定義上重要である。

あるタイムスパンにおいて、リクエストのうちどれくらいを500, 502, 503...応答しているかというもので、LB とその下のアプリケーション間の接続や、アプリケーションそのものに異常がないかを監視したいという点で普通のものである。

コインチェックでSLI/SLOを策定したときの話 には

ALBのエラーレート
(リクエスト数 - (Target 5xxエラー数 + ELB 5xx エラー数)) / リクエスト数
CloudWatch Metricsより(Datadogで集計)

とある(引用注: 「エラーレート」ではなく「正常レート」だろう)。Google の方で恐縮だが、App Engine では App Engine Service Level Agreement (SLA) が定義されていて、

"Downtime" means more than a ten percent Error Rate.

とある。

結論に進もう。

このように、計算のもととなる3つのメトリクスを加え、その上で、数式でのメトリクスを追加で定義する。このようにすると、エラーレートを表示・監視可能となる。

ここでは

m1
SUM(HTTPCode_Target_5XX_Count)
m2
SUM(HTTPCode_ELB_5XX_Count)
m3
SUM(RequestCount)

error_ratio
(m1 + m2)/m3

と定義している。参考にしてほしい。

AWS

Posted by tako