SLI(Service Level Indicator)とは?
service level indicator(SLI)は、サービスがユーザーにとってどれだけうまく機能しているかの一つの側面を定量化する、慎重に選ばれたメトリクスです。例えば、成功して処理されたリクエストの割合などです。
SLOが目標であるなら、SLIはそれと比較する測定です。良いSLIはユーザー体験を単一の数値で捉えるため、チームは逸話をめぐって議論するのではなく、信頼性について客観的に推論できます。
良いSLIを作るもの
良いSLIは通常、良いイベントと全イベントの比率として表現され、これにより自然と0%から100%の間に収まり、推論しやすくなります。それはユーザーが実際にサービスをどう感じるかと相関すべきです。SLIが下がったとき、現実の人々が現実の苦痛を体験しているべきです。
一般的なSLIのカテゴリ
- 可用性:成功して処理された有効なリクエストの割合。
- レイテンシ:閾値より速く処理されたリクエストの割合。
- スループット:システムが提供された負荷を処理できるか。
- 正確性または品質:正確または完全なレスポンスの割合。
正しい場所で測定する
どこで測定するかがSLIの意味を変えます。load balancerで測定するとユーザー向けの経路を捉えますが、単一のサービスの奥深くで測定すると、それとユーザーの間のレイヤーの問題を見逃します。ユーザーに近いところで測定するほど、指標は正直になります。
慎重に集約する
平均は最悪の体験を隠します。レイテンシのSLIはほぼ常に平均ではなくパーセンタイル(95パーセンタイルや99パーセンタイルなど)を使います。平均が良く見えても、ごく少数の非常に遅いリクエストが信頼を損なうことがあるからです。集約の選択はSLIの設計の一部です。
SLIからSLOへ
信頼できるSLIが手に入れば、SLOの設定はほぼ目標と期間を選ぶだけの問題です。難しく価値のある作業は、ユーザーの満足を真に反映する指標を選ぶことです。下流のすべて(目標、error budget、alert)がその品質を引き継ぐからです。
重要なポイント
- SLIはサービスの健全性の一側面を定量的に測る指標です。
- 最良のSLIはユーザーが実際に体験するものを追跡し、多くは良いイベントと全イベントの比率です。
- ユーザーの近くで測定し、平均ではなくパーセンタイルで集約します。
関連ガイド
What Is an SLO (Service Level Objective)?A service level objective is a target for how reliable a service should be. Learn what an SLO is, how it diff…
What Is an Error Budget Policy?An error budget policy defines what happens when reliability spend runs low. Learn what an error budget is an…
What Is Monitoring?Monitoring collects and alerts on known signals of system health. Learn what monitoring is, how it differs fr…
What Is Observability?Observability is the ability to understand a system from its outputs. Learn what it is, how it differs from m…