システム アーキテクチャは、相互に影響し、依存するホスト、アプリ、サービスで構成されています。アーキテクチャの一部のパフォーマンスが低下すると、後で重大なシステム停止につながる可能性があります。ただし、サービス レベルを使用すると、システムの追跡を容易にするしきい値を適用できます。サービスのパフォーマンスが特定のしきい値を超えるか下回る場合、アラートを受け取ります。サービス レベルの階層は次のとおりです。
- サービス レベルは、サービス レベル目標 (SLO) で構成されます。SLO は、サービスがどのように動作すると期待されるかを表す目標です。
- SLO はサービス レベル インジケーター (SLI) によって定義されます。SLI は、サービスの可用性を決定する重要な測定値と指標です。
- これらの目標に加えて、インジケーターがアラートです。これらは、サービスが SLO を満たしていない場合に通知します。
目的
このチュートリアルでは、サービス レベルを使用したパフォーマンス ベンチマークの作成について説明します。チュートリアルが終わるまでに、次のタスクが完了します。
- サービス レベル インジケーター (SLI) とサービス レベル目標 (SLO) の関係を理解します。
- フロントエンド エクスペリエンス用の SLI と SLO を作成して定義します。
- アラートを設定すると、サービスのパフォーマンスが低下したときにそれを知ることができます。
サービスレベルを定義する
以下の手順に従ってサービス レベルを定義および管理すると、次のことが可能になります。
- 将来のセットアップを容易にする: ワンクリックのセットアップで、あらゆるサービスのパフォーマンスと信頼性のベースラインを自動的に確立します。
- チーム全体の信頼性を定義する: サービスの境界を決定するのに役立つ SLO および SLI の推奨事項を使用して、骨の折れる調整プロセスを回避します。任意のエンティティの最近のパフォーマンス メトリックに基づいて、信頼性ベンチマークを自動的に設定します。
- 反復と改善: Terraform などのオープンソースのコードとしてのインフラストラクチャ ツールによるフルスタック コンテキストと自動化により、チームは特定のノードまたはサービスがシステムの信頼性にどのように影響するかを把握し、パフォーマンスをすばやく制御できます。サービス オーナーとビジネス リーダーの両方にカスタム ビューを提供することで、運用効率が向上し、レポート、アラート、およびインシデント管理プロセスが改善されます。
- 信頼性の標準化: 組織間のチームは、サービスの信頼性に関する統一された透過的なビューを持ち、顧客向けの SLA により適切に準拠できます。SLO コンプライアンス メトリクスとエラー バジェットにより、組織は信頼性についてレポートし、アプリケーション、インフラストラクチャ、およびチーム全体に一貫した方法で変更を実装することができます。
パフォーマンスのベンチマークを作成する
サービス レベル インジケーターを選択します。
フロントエンド エクスペリエンスのベンチマークを定義するために使用できる SLI は多数ありますが、特にお勧めする SLI は次のとおりです。各コラプスには、その SLI と対応する NRQL クエリ (ステップ 2 で使用します) をいつ選択する必要があるかについての説明があります。
今のところ、次のいずれかを選択してください。
New Relic エージェントで計測された APM サービスの SLI: Transaction
イベントに基づくと、これらの SLI はリクエスト駆動型サービスで最も一般的です:
ブラウザ アプリケーションの SLI: 次の SLI は、Google のコア ウェブ バイタルに基づいています。
ヒント
組織は、特定のニーズ、ユーザーの期待、利用可能なリソースに基づいて SLO と SLI を定義する必要があります。このチュートリアルを完了したら、 詳細なカスタム サービス レベルを定義する方法について学習することをお勧めします。
- one.newrelic.com > All capabilities > Service levels managementに移動します。 この UI にはすべてのサービス レベルが表示され、それらを定義、監視、および編集できます。
- UI の右上にある + Add a service level を選択します。
サービス レベルを作成する対応するエンティティを選択します。これは、ワークロード全体、特定のサービス、合成モニター、または特定のトランザクションである可能性があります。エンティティを選択したら、UI ペインの左側にある Continue をクリックします。
ステップ 1 で選択した SLI をこのペインで定義します。たとえば、ブラウザー アプリの成功の SLI を定義することを選択した場合は、次のクエリを使用します。
有効なイベントのクエリ:
FROM: PageViewWHERE: entityGuid = '{entityGuid}'
悪いイベントのクエリ:
FROM: JavaScriptErrorWHERE: entityGuid = '{entityGuid}' AND firstErrorInSession IS true
クエリが正しいことを確認したら、左側のペインで Continue を選択します。
次のステップ
おめでとう! New Relic を使用してサイトのパフォーマンスを向上させる方法に関する旅は完了しました。New Relic をプロのように使用する方法を詳しく知りたいですか?他のチュートリアルもご覧ください。