排除在AWS X-Ray中跟踪路径

时间:2017-12-13 16:49:38

标签: node.js amazon-web-services aws-xray

跟踪某些路径,例如健康检查,对我们没有多大价值。我们希望确保我们不支付针对健康端点的AWS XRay跟踪。我试图用采样规则排除这些路径,但它不起作用。我试图使用规则和setSamplingRules()没有运气。我尝试使用我想要排除的特定网址路径以及下面的通配符。

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-xray-sdk(1.1.6)。

1 个答案:

答案 0 :(得分:3)

更新: 添加调试,我发现本地规则正在匹配。但是,部署时,规则不匹配。问题是健康端点是通过Rancher healthcheck容器调用的,该容器不提供服务名称 - 它是未定义的。因此,它与'service_name'='*'的规则不匹配。

答复: 这似乎是针对Node.js的AWS X-Ray SDK的一个错误。未定义的主机头应该确实与通配符匹配。

这已在最新版本中修复。

论坛在此处发布解决问题:https://forums.aws.amazon.com/thread.jspa?threadID=269425&tstart=0