2017-02-13 5 views
0

XRayの開始時に基本的なnodejs設定でAWS XRayをテストしていますが、エラーがスローされています。そのダミーエクスプレスアプリ、ノード4.3上のラムダので、動作する必要があります。 EROFS:読み取り専用ファイルシステム、エラーで開いた 'AWSXRay.log'(ネイティブ)AWS X線オープン 'AWSXRay.log'エラー時

任意の考えエラーが

エラーですか? JavaScriptのためのデーブ

答えて

1

AWS X線SDKは、ロギングライブラリを使用してファイルにメッセージを記録しますが、あなたはラムダ上で実行されているので、あなたが本当にファイルを作成するアクセス権を持っていない

感謝ファイルシステム上で。

現在、AWS X-RayはLambdaではサポートされていませんが、今後サポートされる予定です。あなたはこのようなものを使用して、ラムダ関数でロガーをオーバーライド試みることができる一時的な回避策として

var logger = require('aws-xray-sdk/lib/logger'); 
logger.error = function(string) { console.error(string); }; 
logger.info = function(string) { console.info(string); }; 
logger.warn = function(string) { console.warn(string); }; 

は、この回避策を試すことはできますか?

アプリケーションコードの計測に加えて、セグメント/サブセグメントをX線バックエンドに送信する必要があります。ラムダの外では、通常、マシン上でxrayデーモンを実行し、SDKはUDP経由でlocalhostにセグメントを送信します。デーモンは、AWS SDKを使用してデータをバッファしてX-Rayに送信します。ラムダでは、ラムダ機能と共にデーモンを実行しないので、現在この機能はありません。これは現在、SDKを使用して手動でセグメント/サブセグメントを作成し、AWS SDKを使用してバックエンドにデータを送信できることを意味します。しかし、大量のセグメントを送信している場合、デーモンがバッファリングするので、これは推奨されるベストプラクティスではありません。低レベルのSDKを使用している場合は、独自のバッファリングを管理する必要があります。

上記の回避策を使用して、効果があるかどうかを確認することができます。 AWS X-Rayとのラムダ統合を待つことが推奨されています。

+0

X-Rayがラムダでサポートされていると誤解していたので、いつサポートが追加されるのか、APIゲートウェイのサポートが本当に楽しみです。助けてくれてありがとう –

関連する問題