初めに
この記事では、New Relic の Service Level Management に焦点を当て紹介していきます。
Service Level Management とは、システムの可用性やパフォーマンスを管理するために使用されるツールで、ビジネス目標に合わせてシステムを最適化することができます。
しかし、Service Level Management を正しく理解するためには、SLI、SLO についての理解が必要です。本記事では、これらの指標についてまず紹介し、次に Service Level Management の使い方についても解説しています。
SLI と SLO について
SLI は、サービスレベルインジケーターの略で、システムのパフォーマンスを測定するための指標です。例えば、レスポンス時間、エラーレート、可用性などが含まれます。
一方、SLO は、サービスレベル目標の略で、システムの可用性を保証するための目標を設定するための指標です。SLO は、ビジネスや顧客の要件に基づいて設定されます。
SLI と SLO は、システムのパフォーマンスを測定するための異なる指標ですが、密接な関係があります。SLO は、SLI の目標を設定することによって定義され、システムが目標を達成するかどうかを判断するために使用されます。
例えば、あるサービスが 99.9% の可用性を目標として設定されている場合、それは SLO となります。SLI は、この目標を達成するために必要な指標(例えば、エラーレート)を測定するために使用されます。
SLI と SLO の設定は、システムの優れたパフォーマンスを維持するために非常に重要です。これらの指標を正確に設定し、適切に管理することによって、システムの可用性とパフォーマンスを最適化することができます。
Service Level Management とは?
SLO を設定したら定期的に目標値に対して今どれくらい達成できているのか、あるいはエラーバジェットがどれくらい残っているのかを確認していくことは大切なことです。何故なら、例えアラートが上がっていなかったとしても想定外の問題が発生している可能性があるからです。
しかし、SLO の状況を逐一確認できるダッシュボードを1から作ることは大変なことでもあります。そこで登場するのが NewRelic の
Service Level Management です。
Service Level Management は、アプリケーションのパフォーマンスやエラートラッキング、API 応答時間など、任意のメトリクスを SLI として設定し、そして SLO を定義することができます。さらに、ダッシュボードを 1 クリックで作成することができ、SLO の状況を一目で確認することができます。
Service Level Management の作成方法
Service Levels から Add service level objectives をクリックします。
まず初めに SLI で使用するデータを選択します。今回は APM で取得しているメトリクスから作成することにします。
先ほど選択した APM のデータのうち Latency を SLO として定義することにします。(Customize SLI をクリックすることで任意のメトリクスで SLO を定義することも可能です。)
Good responses を 0.1 s(100 ms)に設定していますがここはシステムに応じて値をチューニングしていく必要があります。
右下にあるものは valid event(青色)と good responses(赤色)の件数をグラフ化したもので、今回の場合だと 100 ms 以内のレスポンスがあればあるほど good responses の件数のグラフは valid event のグラフの形に近づくようになります。
最後に time window と目標パーセンテージを設定することが完成です。
さっそくダッシュボードを確認してみましょう。
定義した SLO やエラーバジェット等がダッシュボードで確認できるようになりました。
まとめ
この記事では、New Relic の Service Level Management について紹介しました。Service Level Management を使用することで簡単に SLI から SLO を設定することができ、ダッシュボードを 1 クリックで作成出来るようになります。
是非皆さんの環境でも導入し定期的に SLO の状況を確認してみるのは如何でしょうか。