サービス レベルを実装することで期待される成果の 1 つは、アラート ポリシーを調整して、実際にクライアント エクスペリエンスに損害を与え、ビジネスにリスクをもたらす問題に通知を削減できることです。
サービス レベル目標を設定するときに、次のことを構成できます。 これにより、コンプライアンス期間が終了する前にエラー バジェットを使い果たした場合に通知されます。 これらのアラートは、ビジネスに大きな影響を与えるインシデントが発生したときに表示されます。 トリガーされた場合は、それらに優先順位が与えられ、関連チームと連携して問題の原因の診断を開始する必要があります。
エラー バジェット バーンレートに関するアラート
バーン レート アラートの背後にある考え方は、エラー バジェットは、SLO 期間中に許容できる不良イベントの数を表すというものです。定義上、すべてのエラー バジェットを一定の割合で使用すると、バーン レート = 1 になります。その場合、SLO 期間が終了する前にエラー バジェットを完全に使い切ってしまうため、許容バーン レートを超えるバーン レートは維持できません。したがって、それが長時間続く場合は、アラートを受け取ることをお勧めします。
エラー バジェットの燃焼率に関するアラートを作成する
サービス レベルの概要とアラート条件のページに、アラートを作成するオプションがあります。
one.newrelic.com > All capabilities > Service Levels > Choose a service level に移動し、 Settings [設定] オプションの下にある Alert conditions [アラート条件] をクリックします。
これをクリックすると、サイド パネルが開き、リストの上部に高速書き込み速度に関する警告を表示し、その下に低速書き込み速度を警告するオプションが表示されます。
one.newrelic.com > All capabilities > サービス レベル > サービス レベルの選択 に移動し、 設定 オプションの下にある アラート条件 をクリックします。「アラート」 ボタンをクリックしてサイドパネルを開きます。
ファスト バーン アラートは、SLO 予算消費率に関する Google の推奨事項、特にファスト バーン アラートに従います。これらのアラートは、消費量の急激な大幅な変化を警告します。修正しないと、すぐにエラー バジェットを使い果たしてしまいます。1 時間以内に 2% の SLO バジェット消費を設定します。これは、達成されないままにしておくと、サービスが 50 時間でエラー バジェットを完全に消費することを意味します。
one.newrelic.com > All capabilities > サービス レベル > サービス レベルの選択 に移動し、 設定 オプションの下にある アラート条件 をクリックします。「アラート」 ボタンをクリックしてサイドパネルを開きます。
低速燃焼アラートは、SLO 予算消費率、特に低速燃焼アラートに関する Google の推奨に従っています。これらのアラートは、変更しないとコンプライアンス期間が終了する前にエラー バジェットを使い果たしてしまう消費量の変化を警告します。6 時間以内に 5% の SLO 予算消費を設定します。これは、サービスが未達成の場合、エラー バジェットを 5 日で完全に消費することを意味します。
続行するには、既存のアラート ポリシーを選択するか、新しいアラート ポリシーを作成する必要があります。
または、[カスタマイズ] をクリックして、独自のしきい値を設定することもできます。
エラー バジェットの消費に関するアラート
このアラートは、その期間のエラー バジェットの 80% を消費すると警告します。
設定するには、サービス レベルの概要ページまたはアラート条件ページで [アラート] をクリックし、 [エラー バジェットの消費] オプションを選択します。
one.newrelic.com > All capabilities > サービス レベル > サービス レベルの選択 に移動し、 設定 オプションの下にある アラート条件 をクリックします。「アラート」 ボタンをクリックしてサイドパネルを開きます。
続行するには、既存のアラート ポリシーを選択するか、新しいアラート ポリシーを作成する必要があります。
別のしきい値を設定する場合は、 [カスタマイズ] をクリックし、アラート構成カードの手順に従います。
SLO 準拠に関するアラート
SLO が長期間にわたって目標を下回った場合にアラートを設定する場合は、 SLO コンプライアンス オプションを選択できます。
SLI が不安定な場合、このタイプのアラートの精度は低くなる可能性があります。したがって、それを軽減するには、代わりにバーン レート アラートを使用する必要があります。
独自のエラー バジェット バーン レートしきい値の設定
高速書き込みアラートに関する Google の推奨に従わない場合は、独自のしきい値を設定できます。
条件のしきい値を設定する
エラー バジェット バーン レートは、SLO 期間全体を考慮して、サービスがエラー バジェットを消費する速さを示します。これを計算する式は次のとおりです。
critical burn rate = (tolerated budget consumption * SLO period [h]) / (evaluation period [h])
- 許容予算消費: 評価期間中に消費できる予算の量。
- SLO 期間: SLO の時間枠 (通常は時間単位)。
- 評価期間: 考慮している集計ウィンドウ (簡単にするために、アラート条件の集計ウィンドウで 1 時間を使用できます)。
ただし、発生する可能性のある最大エラー率が 100% であることを考慮すると、最大書き込み率も存在することを意味し、したがって、重大な書き込み率は次の範囲内である必要があります。
0 < critical burn rate < maximum burn rate
最大燃焼速度値は次のように計算されます。
maximum burn rate = 1 / (1 - SLO target)
最後に、アラートのしきい値を定義するために、1 時間あたりのクリティカル バーン レートにエラー バジェットを掛けます。
threshold = error budget * critical burn rate
例
99.9%の目標を持つ28 日間のSLO の例で、これがどのように機能するかを見てみましょう。
28 日間の SLO の場合、Googleは、過去 1 時間の2%の SLO 予算消費についてアラートを出すことを推奨しています。つまり、同じ割合で予算を消化し続けると、50 時間で SLO に違反することになります ( 100% / 2%
の結果)。
次に、次の変数があります。
- SLO 目標:
99.9%
- SLO 期間:
28 days (28 * 24 hours)
- 許容される予算消費:
2% (0.02)
- 評価期間:
1 hour
したがって:
critical burn rate per hour = (0.02 * 28 * 24) / 1 = 13.44
SLO の可能な最大燃焼速度値は次のとおりです。
maximum burn rate = 1 / (1 - 0.999) = 1000
そして最後に:
threshold = 0.1 * 13.44 = 1.344
これは、アラート条件のしきい値として使用する値です。評価期間 (この例では 60 分) 内に少なくとも 1 回、クエリがしきい値 (この例では 1.344) を超える値を返したときにインシデントをオープンします。 。
重要
サービス レベル側で SLO 目標を編集する場合は、アラート条件の目標も忘れずに編集してください。
設定
このアラート条件の追加パラメーターを調整することが重要です。
ウィンドウ期間を評価期間に設定します。前の例に従って、 60 分を設定します。これは、アラート システムが 60 分のデータを集計することを意味します。
重要
評価期間は、最大 2 時間のデータの集計をサポートします。
New Relic が毎分前の 60 分間のデータを評価するように、間隔ごとに60 秒のスライドを使用できます。
次に、通知の管理方法を決定するポリシーに条件を関連付けます。
最後に、オープンなインシデントをいつ自動的にクローズするかを選択できます。
制限
New Relic アラートは、最大 2 時間のデータを集約できます。したがって、New Relic には、書き込み速度の低下を警告する機能がまだ提供されていません。
サービスレベルのデフォルトのアラートポリシーを理解する
サービス レベルのデフォルト アラート ポリシーがアカウント レベルで導入され、サービス レベルの正常性ステータスが残りのエラー バジェットに基づいて決定されます。これにより、New Relic Navigator やワークロードなどの他の New Relic 製品を使用するときのエクスペリエンスが向上します。
このアラート ポリシーは通知をトリガーしません。エラー バジェットの消費に基づいてエンティティの健全性を確認したくない場合は、このポリシーを簡単に削除できます。ただし、ポリシーの削除は永続的であり、そのアカウントの既存および新しいサービス レベルに影響します。