2017-12-13 19 views
1

ヘルスチェックのような特定のパスをトレースすることは、大きな価値を提供しません。我々は、健康エンドポイントに対するAWS XRayのトレースを支払っていないことを保証したい。私はサンプリングルールでそのようなパスを除外しようとしていますが、それは動作していません。私は運となくルールとsetSamplingRules()を使用しようとしました。私は除外したい特定のURLパスと、以下のようなワイルドカードを使ってみました。AWS X-Rayでパスの除外を行わないようにする

var rules = { 
"rules": [ { "description": "PostTest", "service_name": "*", 
"http_method": "*", "url_path": "*", "fixed_target": 0, "rate": 0.0 } 
], 
"default": { "fixed_target": 1, "rate": 0.1 }, 
"version": 1 
} 

AWSXRay.middleware.setSamplingRules(rules); 
app.use(AWSXRay.express.openSegment('app-1')); 

....path 
....path 
....path 

app.use(AWSXRay.express.closeSegment()); 

私はAWS-X線-SDK(1.1.6)の最新バージョンを使用しています。

答えて

1

更新: デバッグを追加すると、ローカルでルールが一致していることがわかりました。ただし、デプロイされると、ルールは一致しません。問題は、Rancher healthcheckコンテナを介してヘルスエンドポイントが呼び出されていることです。サービスコンテナはサービス名を提供しません。未定義です。したがって、ルールは 'service_name' = '*'と一致しません。

返信: これは、Node.js用のAWS X-Ray SDKのバグです。定義されていないホストヘッダーは、実際にワイルドカード文字と一致する必要があります。

これは最新バージョンで修正されています。

フォーラム投稿の問題はここにあります:https://forums.aws.amazon.com/thread.jspa?threadID=269425&tstart=0

関連する問題