バックグラウンドプロセスとその他の非ウェブトランザクションを監視する

このドキュメントでは、New Relic APMにおける非ウェブトランザクションとは何か、またバックグラウンドタスクや他の任意のアクティビティを、どのようにインストゥルメントして非ウェブトランザクションとしてレポートするかについて説明します。

非ウェブトランザクションとは

New Relic APMのトランザクションは、主にウェブ非ウェブの2つのカテゴリーに分類されます。

  • ウェブトランザクションは、New Relicがウェブリクエストによって開始したものとして検知したトランザクションです。New Relic APMがレポートする最も一般的なタイプのトランザクションです。
  • 非ウェブトランザクションは、ウェブトランザクションではないトランザクションです。New Relicでは、トランザクションがウェブリクエストによって開始したかどうかは検知しません。メッセージの手続きやバックグラウンドタスクなど、ウェブリクエストを扱わないプロセスやジョブも、非ウェブトランザクションに含まれます。

たとえば、データベース作業やメール送信などをサーバー上で定期的に実行するよう設定したとします。ソースはウェブリクエストではありませんが、サーバー上で実行されるプロセスです。

対応フレームワークまたはサービスからの非ウェブトランザクションの一部は、New Relicによって自動的に検知されます。その他の非ウェブトランザクションは、カスタムインストゥルメンテーションによって作成が可能です。New Relic APMは、UIのWebトランザクションと非Webトランザクションを意図的に分離します。

Webトランザクション VS 非Webトランザクション コメント
直接的な重要度が低い 非ウェブトランザクションはバックグラウンドプロセスやバックグラウンドタスクであることが多く、ウェブトランザクションに比べ、アプリケーションユーザーにとって直接的な重要度は高くありません。
実行時間が長い 非ウェブトランザクションは多くの場合、実行時間が長いプロセスとなります。非ウェブトランザクションをウェブトランザクションと区別することで、これらの結果が原因で顧客対応のレスポンスタイムがゆがめられるのを防ぎます。
Apdexスコアから省略 たとえば、非WebトランザクションとWebトランザクションを組み合わせると、Apdexのスコア(読み込み時間の満足度を表す尺度)に悪影響が出ます。この理由から、非WebトランザクションのApdexデータはUIに表示されません。

New Relic Oneを使用して、ご利用のアプリケーション、サービス、コンテナ、クラウドサービス、ホスト、そしてその他のエンティティがどのような相互関連性の下で機能しているか把握しましょう。

非ウェブトランザクションを作成する

新しい非ウェブトランザクションを作成するには、お使いのAPM言語エージェントの手順に従います。

C SDK

非ウェブトランザクションのインストゥルメントの手順に従います。

Go

非ウェブトランザクションのインストゥルメントの手順に従います。

Java

トランザクションのインストゥルメントの手順に従います(ウェブリクエストパラメーターを指定せずにトランザクションを計測すると、非ウェブトランザクションが作成されます)。

.NET

New Relic APM .NETエージェントは、デフォルトでIIS ASPワーカーをインストゥルメントします。スタンドアロン(WCF)サービス、コンソールアプリケーション、その他のWindowsサービスなど、他の(非IIS).NETアプリケーションをインストゥルメントするには、カスタムアプリケーションをインストゥルメントするWCFアプリケーションをインストゥルメントするをご覧ください。

IISアプリケーションでは、ウェブトランザクションから非ウェブトランザクションの変更はできません。

Node.js

startBackgroundTransaction()を使用します。

PHP

トランザクションを非ウェブに指定するには:newrelic_background_jobを使用して、フラグをtrueに設定します。

PHPエージェントは、コマンドラインで実行されるスクリプトを、すべて非ウェブトランザクションとしてレポートします。

Python

Pythonエージェントの非ウェブトランザクションをご覧ください。

Pythonエージェントは、CeleryとGearmanからの非ウェブトランザクションレポートにも対応しています。

Ruby

Rubyエージェントの非ウェブトランザクションをご覧ください。

非ウェブトランザクションを表示する

New Relic UIで非Webトランザクションを表示するには、以下のいずれかのオプションを利用してください:

New Relic Oneの場合:
  • one.newrelic.com > Entity explorer > (アプリを選択)に進み、選択したアプリに関するNon-web transaction breakdownまたはThroughputテーブルのタイトルをクリックします。

    または

  • one.newrelic.com > Entity explorer > (アプリを選択) > Explore performanceに進み、OverviewまたはTransactionsを選択します。

詳しくは、New Relic Oneの中核となるUIコンポーネントの操作に関するドキュメンテーションを参照してください。

New Relic APM概要ページの場合

APM概要ページで非ウェブトランザクションを表示するには:

  1. rpm.newrelic.com/apm >(アプリケーションを選択)> Monitoring > Overview に移動します。
  2. メインチャートの上にあるドロップダウンから、非ウェブトランザクションChart viewを選択します。

チャート表示:ウェブトランザクションと非ウェブトランザクション

New Relic APMトランザクションページの場合

APM Transactionsページで非ウェブトランザクションを表示するには:

  1. rpm.newrelic.com/apm >(アプリケーションを選択)> Monitoring > Transactionsに移動します。
  2. Typeドロップダウンから、Non-web transactionsを選択します。
New Relic APMキートランザクションページの場合

C SDKおよびGo、Node.js、PHPエージェントでキートランザクションに設定できるのは、ウェブトランザクションのみとなります。

非ウェブトランザクションがキートランザクションに設定された場合、UIで表示することができます。

  1. rpm.newrelic.com/apm > (アプリを選択)に進みます。
  2. Key transactionsを選択します。
  3. キートランザクションインデックスから、キートランザクションを選択します。

その他のヘルプ

推奨する詳細情報: