WebSocket APIを使用すると、ユーザーのブラウザとサーバー間で双方向のインタラクティブな通信セッションを開くことができます。このセッションを使用すると、サーバーの応答をポーリングせずにデータを送受信できます。New Relicのブラウザ監視を使用すると、websocketセッションのトラフィックと健全性をモニターおよび追跡できます。
APIからのWebSocketデータは、BrowserエージェントによってWebSocketイベントとして記録されます。これらのイベントには、WebSocketのライフサイクル中の接続、受信したメッセージ、送信したデータ、および接続がどのように閉じられたかに関するメトリクスが含まれます。
WebSocket監視を使用する理由
New Relicを使用したWebSocketの自動追跡により、WebSocketが期待どおりに機能していることを確認するためのツールとインサイトが提供されます。WebSocketイベントを使用すると、次のことができます:
- ネットワーク接続の送受信バイト数をモニターします
- WebSocketが正常に閉じられたかどうか、およびその理由を調べます。
- WebSocketのライフサイクル中に発生するJavaScriptエラーをトラブルシューティングする
- WebSocketベースのカスタムダッシュボードとアラートを作成します
前提条件
- バージョン1.318.0以降のProまたはPro + SPAのBrowserエージェント。
重要
WebSocketの監視は、Lite Browserエージェントでは使用できません。
自動収集を有効にする
これらの簡単なセットアップ手順に従って、アプリケーションの監視機能とデバッグ機能を強化します。
one.newrelic.com > All Capabilities > Browserに移動します。
ブラウザ アプリを選択します。
左側のメニューで、 Application settings [アプリケーション設定] をクリックします。
ProまたはPro + SPAブラウザ エージェントが選択されていることを確認します。
Enable websocketsをオンにしてください。

WebSocketの収集を無効にする
既存のブラウザアプリのWebSocketを無効にするには:
one.newrelic.com > All Capabilities > Browserに移動します。
ブラウザ アプリを選択します。
左側のメニューで、 Application settings [アプリケーション設定] をクリックします。
WebSocketを無効にするには、 Enable websockets[WebSocketの有効化] をオフにします。
データ消費
WebSocket イベントは、他のブラウザ バイトと同じ消費価格設定に従います。生成されるバイトの量は、データの数と属性によって異なります。
有効にすると、エージェントはアプリケーションで発生したWebSocketを自動的にキャプチャします。
New Relicでデータを探す
Websocketは、New RelicにWebSocketイベントとして保存されます。WebSocketイベントで使用できるフィールドの詳細については、データディクショナリをご覧ください。すばやく便利なダッシュボードについては、このクイックスタートをご覧ください。このデータをクエリして視覚化し、アプリケーションのパフォーマンスに関するインサイトを得ることができます:
websocketインスタンスの総量を経時的に測定します
FROM WebSocketSELECT count(*)TIMESERIESWebSocketが予期せずクローズする理由を確認します。
FROM WebSocketSELECT count(*)FACET closeReasonエラーのあるWebSocketを追跡
FROM WebSocketSELECT count(*) AS 'Errors'WHERE hasErrors IS trueTIMESERIES送受信された平均バイト数を表示
FROM WebSocketSELECT average(sendBytes), average(messageBytes)WHERE messageCount IS NOT nullTIMESERIESWebsocketの平均期間をモニターします。
FROM WebSocketSELECT average(connectedDuration)FACET cases( WHERE closeWasClean IS true AS 'Connected - Clean', WHERE closeWasClean IS NOT true AS 'Connected - Dirty')TIMESERIESこれらの書き込みを使用するか、独自のダッシュボードを作成して、カスタムダッシュボードを構築し、アラートを設定し、Web アプリケーションの実際のパフォーマンスを正確に監視します。
ヒント
New RelicでのWebSocketの使用についてお困りですか、または詳細を知りたいですか?ドキュメントをご覧いただくか、support.newrelic.comにお問い合わせください。