この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

試合当日に向けて意味のあるサービスレベルを作成する

会社の大きなイベントの準備は大変です。これにより、あなたとあなたのチームはビジネスの観点からシステム アーキテクチャを再考するよう促され、複数の重大なインシデントが発生したときに一連の判断を下すことが求められます。すべてを一度に優先できない場合、どうすれば Gameday を成功させることができますか?重要なことはどうやって見つけますか?

イベントに参加するチームに対する最大の推奨事項は、サービス レベルを設定することです。サービス レベルを使用すると、個別のシステム コンポーネントを取得して、試合当日に関する貴重なビジネス データを抽出できます。チームがホスト、サービス、アプリの観点から考える一方で、サービス レベルでは、これらのエンティティを必要な部分に分割することが求められます。

目的

このチュートリアルでは、次のことを行います。

  • New Relic にクエリを実行してベースラインを決定する
  • ベースラインに基づいたサービス レベルを作成する

優先事項を特定する

通常、ホスト、アプリ、サービスという観点から考える場合、優先順位を見つけるのは難しい場合があります。キャパシティ プランニングの要点は、適切なものに優先順位を付けることです。顧客がアプリをどのように操作するかを評価し、それらの顧客タッチポイントを強化する機能を特定することをお勧めします。

New Relic Acme Telco Home デモ サイトのユーザー ジャーニーの例を次に示します。

An example user journey demonstrating what a customer touchpoint looks like

このユーザーはいくつの機能に触れますか?製品リスト ページに移動し、製品を選択します。商品ページに移動したら、下にスクロールして数量を入力し、商品をカートに追加します。これらのアクションはそれぞれ、潜在的なサービス レベルに対応しており、需要のピーク日に監視できます。

独自のアプリの機能を特定するのに役立つように、アーキテクチャに関して事前に自問できるいくつかの質問があります。

  • 顧客はどのような行程を最も頻繁に経験しますか?
  • これらの旅のうち、購入取引を伴うものはどれですか?

ビジネスに不可欠な機能を特定したら、それに必要な可観測性の範囲を把握する必要があります。こうした旅のどこに警戒ギャップがあるのでしょうか?まだ監視する必要があるのでしょうか?

これらの質問に答えることで、ビジネス ニーズに基づいたシステム アーキテクチャに関する説明を作成できます。API 呼び出し、クリック アクション、またはトランザクションに関して収集されたデータは、ビジネスの健全性を示す指標に変換できます。

ベースラインを問い合わせる

何を優先すべきかを見つけたら、次のステップは、アプリが日常的にどのように動作するかを理解することです。アプリの通常の動作はベースラインであり、一種の期待値です。これを朝のコーヒーのようなものと考えることができます。そのコーヒーの味を期待しているので、味の違いはマシンに問題があることを示している可能性があります。

人気のあるトランザクションをすべてプルする

one.newrelic.com > Query Your Dataに移動し、次のクエリを入力します。

FROM Transaction SELECT count(*) FACET request.uri SINCE 1 week AGO
Find all request.uri transactions

このクエリは、アプリのトランザクションに関するすべてのデータを取得し、アプリに対してリクエストが行われたトランザクションのみを含むようにフィルター処理します。 request.uriの表から、 /js/controllers/ が人気のある request.uriであることがわかります。これを使って作業していきます。

レイテンシのベースラインと成功のベースラインを見つける

/js/controllers/に注目して、上記のクエリを次のように更新します。

  • FACET を削除し、その特定の URI にクエリを集中させます。

  • 合計 count(*) を次のように置き換えます percentile(duration, 95)

    FROM Transaction SELECT percentile(duration, 95) AS 'Latency Baselines', percentage(count(*), WHERE error is false) AS 'Success Baseline' SINCE 1 WEEK AGO WHERE request.URI LIKE '/js/services/%'
    Docs site

    このクエリは、トランザクションが通常 42 ミリ秒で応答し、成功率が 99.27% であることを示しています。これがレイテンシーのベースラインです。

ベースラインに基づいたサービス レベルを作成する

いくつかのベースラインができたので、意味のあるサービス レベルを作成できます。 Query Your Data ページから、 one.newrelic.com > APM & Servicesに戻り、 Reports の下にある Service levelをクリックします。

新しいサービス レベルを追加すると、New Relic はアプリ内のすべてのデータ ソースからベースライン平均を自動入力します。ただし、特定の機能の特定のベースラインを優先したいと考えています。

前のセクションから取得したベースラインを使用して、 WHERE ボックスを編集できます。入力されたクエリの末尾に次の文字列を追加し、行が次のようになります。

entityGUID = 'YOUR_GUID' AND (transactionType = 'Web') AND request.uri LIKE `/js/services/%`
Docs site

WHERE フィールドを更新した後、 AND フィールドの期間が手順 2 でクエリしたミリ秒単位の時間と一致していることを確認します。この場合、リクエストは約 42(ms) で応答を受け取り、 AND フィールドは .4 と一致します間隔。

UI でサービス レベルを表示する

ベースライン情報に基づいたサービス レベルを作成したので、それを UI で表示できるようになります。このサービス レベルのアラートを作成することをお勧めします。チュートリアル シリーズの次の部分で品質を評価できます。

Docs site
Docs site