エンジニアリングチームは、アプリケーションパフォーマンス監視(APM)ツールを使用してすばやく疑問を解決し、ユーザーに影響を及ぼす前に問題の検知、解決を行っています。レガシーなAPMソリューションでは、通常は全トランザクションの集計パフォーマンスとエラーを報告していました。しかし、アプリケーションに関するすべてのトランザクションが同じように生成されるわけではありません。ときには、デジタルビジネスにとって重要なトランザクションであっても、トラフィックは多くない場合もあります。キートランザクション機能を使用すれば、全体のアプリケーションスループットにかかわらず、監視と管理を行いたい重要なトランザクションの追跡がしやすくなります。
この度キートランザクションが、New Relicのエンティティエコシステムに組み込まれました。ビジネスクリティカルなトランザクションをその他すべての関連エンティティとのコンテクストの中で可視化し、すばやく切り離して根本原因の問題を特定できるようになったということです。レガシーな監視ソリューションの「メトリクスの袋」監視アプローチとは異なり、New Relicのオールインワンのオブザーバビリティアプローチでは、データを生成しているシステム内のすべてのエンティティについて知ることができ、さらにそれが追跡する必要のあるものとどのように関連しているのかも知ることができます。これによりトラブルシューティングを迅速化し、確信をもって計画を変更し、顧客体験と主要な事業成果への影響を最大化するにはどのパフォーマンスを最適化すべきかを特定することが可能になります。
今回のブログでは、New Relicでビジネスクリティカルなキートランザクションを設定、監視、分析する方法について見ていきましょう。ここでは以下について学びます。
- アップタイムと信頼性に影響する問題を迅速に特定し、対応する
- ビジネスに影響する変更の追跡とアラート設定により、重要サービスのエンジニアリングエクセレンスを確実なものとする
- 主要なビジネストランザクションに対するサービルレベルを定義することで、事業成約と顧客満足度を向上させる
ビジネスクリティカルなトランザクションの監視設定
顧客がスマホを購入するためにeコマースのアプリケーションにログインする、というシナリオを考えてみましょう。この顧客は、提供サービスを閲覧するたび、価格ページを読み込む際のレスポンス遅延に遭遇しています。その結果、顧客はそのサイトを離れてしまい、購入には至りません。PlanService
のマイクロサービスチームは、顧客をこれ以上失わないためにも、この遅延の根本原因をすぐさま特定し、修正する必要があります。
チームはまず、PlanService
でもっとも重要なビジネストランザクションを特定します。それがgetPlans
です(プランのページでロードされる)。彼らは、それを監視対象のキートランザクションとして設定する必要があります。
1. キートランザクションを作成する。
getPlans
をキートランザクションにするには、トランザクション詳細ビューでMake key transaction(キートランザクションの作成)を選択します。また、キートランザクションの作成・停止には、REST APIを使用してこのステップを自動化することもできます。
下のスクリーンショットでは、getPlans
のトランザクション詳細とMake key transactionのオプションが示されています。
キートランザクションを作成すると、それらはNew Relicエンティティエコシステムの一部となり、エンティティリストビューですべてのトランザクション(以下のgetPlansのキートランザクションを含む)を見ることができるようになります。
また、すべてのアカウントのキートランザクションを1箇所で表示できるようになります。下の例で示されているように、All entities(すべてのエンティティ)を選択し、次にKey Transactions(キートランザクション)を選択します。
このビューでは、必要に応じフィルターをかけて、一連のアカウントまたは単一のアカウントを表示させることができます。
2. キートランザクションをタグ付けする。
キートランザクションを管理、絞り込むんでチーム、環境、優先レベルをすばやく決定し、キートランザクションにタグを追加しましょう。これらのタグによりコンテクストも提供されるため、アラート通知を受信した際に問題を切り離すこともできます。
このスクリーンショットの例では、getPlansのキートランザクションに4件の関連タグが付いています。環境タグは、このキートランザクションが本番環境のエンティティであることを示しており、これは特定の環境に特有の問題を分離、絞り込みに役立ちます。
3. キートランザクションをワークロードに追加する
New Relicでは、ワークロードを使用して、特定のビジネスサービスを構成するエンティティとしてグループ分けができます。このグループ分けにより、問題の切り分けとトラブルシューティングがしやすくなります。キートランザクションを関連サービスやホストと併せてワークロードに追加することで、スタックを構成するエンティティの健全性とアクティビティに関する統合的なビューが得られます。
このスクリーンショットの例では、getPlansのキートランザクションとその他すべての関連エンティティに関する包括的なワークロードビューが表示されています。
4. キートランザクションのアラートを設定する
キートランザクションがワークロードの一部となりタグ付けされたので、次の段階では、アラートを作成し、トランザクションで異常な動きがあった際に通知を受け取れるようにします。パワフルで臨機応変なNRQLアラーティングシステムを使用すると、キートランザクションに関するベースラインアラートと異常アラートのどちらも設定が可能で、またキートランザクションをダッシュボードに追加することもできます。アラートの設定やキートランザクションのダッシュボード追加は、省略記号をクリックしてキートランザクションチャートから直接行うことができます。
キートランザクションメトリクスは、もとのトランザクションメトリクスのエイリアスでしかなく、追加データは使用されません。キートランザクションを作成した後、もとのトランザクションは完全に保持され、追跡をやめるとメトリクスは単に消失します。キートランザクションの使用は明快かつシンプルで、追加データを必要とせず、請求額にも影響はありません。
5. キートランザクションのサービスレベルを作成する
アラートの閾値に加え、アプリケーションユーザーの視点でのパフォーマンス測定も可能です。例に示されている通り、ビジネスのキートランザクションに対するサービスレベルを設定するだけです。
ビジネスクリティカルなトランザクションの問題に関する分析とデバッグ
getPlans
のキートランザクションの作成と設定ができたら、次のステップはその監視です。顧客がプランページの読み込み遅延に遭遇した際、アラート通知が発出され、同時にキートランザクションのレスポンスタイムの逸脱も発生していました。
1.すべてのキートランザクションにおける逸脱をすばやく分析するため、New Relic Lookoutを開始します。これはすべてのアカウントにわたるトランザクションのリアルタイムビューを提供し、全テレメトリにおける変化が表示されます。この例では、getPlansのトランザクションでレスポンスタイムの増加が示されているのがわかります
2. LookoutビューでgetPlans
のキートランザクションを選択すると、詳細分析が表示されます。この例では、過去5分間でレスポンスタイムが173%に急上昇していることがわかります
3. getPlansのキートランザクションをさらに掘り下げると、アクティビティストリームを使用して、システム内で何が変更されたのかを確認できます。ストリームには、トランザクションに影響するアラートやデプロイメントなどの直近のイベントが示されています
4. コードのデプロイメントや設定変更、ビジネスイベントなど、任意の変更イベントの影響を追跡するには、キートランザクションチャート内のチェンジトラッキングを使用します。これによりトレースをさらに掘り下げて確認し、問題の原因となっている変更のトラブルシューティングができます
次のスクリーンショットの例では、データベースクエリを最適化するためのデプロイメント直後にgetPlans
のトランザクションタイムが急上昇しているのがわかります。ここから、問題の原因となったであろうデプロイメントにさかのぼることができます。この例では、変更を戻した際にトランザクションタイムは正常に戻り、プランページがすばやく読み込めるようになりました。
5. getPlans
のトランザクションパフォーマンス低下の影響全体を理解するには、以下のスクリーンショットで示されているようにサービスマップを使用します。もとのサービス、ホスト、データベース、その他のキートランザクションといった、その他すべての関連エンティティの健全性を可視化できます
getPlans
のようなトランザクションをキートランザクションとして設定することで、New Relicのオールインワンのオブザーバビリティプラットフォームにより提供されるテレメトリとコンテクストを使用できるようになります。これにより、顧客体験とビジネス成果に影響を及ぼすビジネスクリティカルなトランザクションのパフォーマンスをすばやくトラブルシューティングし、最適化することができます。
キートランザクションのさらなる進化
New Relicのキートランザクションは、さらに有効に活用できるようになります。今後数週間、数カ月の間に、ビジネスクリティカルなトランザクションを自動検知し、キートランザクションを分散トレーシングのコンテクスト内で表示し、デバッグに向けてより多くのトレースを得られるように、キートランザクションを進化させていく予定です。これには、ブラックフライデーや祝日のお買い物など、大量取引が見込まれる日に対応できるかどうかの判断を助ける大規模レポートの生成も含まれます。これらすべてが、デジタルビジネスを運用するための一元化されたオブザーバビリティプラットフォームの一部となります。
New Relicでのキートランザクション使用に関するフィードバックがありましたら、New Relicのトップページにあるフィードバックボタンからぜひ貴重なご意見をお寄せください。
Next steps
New Relicに無料で登録するか、New Relic内の既存トランザクションのいずれかをキートランザクションに設定して、ビジネスクリティカルなトランザクションの監視を始めましょう。
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.