Исключить путь из трассировки в AWS X-Ray

Отслеживание определенных путей, например проверка работоспособности, не имеет для нас особой ценности. Мы хотим убедиться, что не платим за трассировки AWS XRay для конечных точек работоспособности. Я пытаюсь исключить такие пути с помощью правил выборки, но это не работает. Я безуспешно пытался использовать правила и setSamplingRules (). Я попытался использовать конкретный путь URL-адреса, который хочу исключить, а также подстановочный знак, как показано ниже.

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).


person user3464189    schedule 13.12.2017    source источник


Ответы (1)


Обновление: добавив отладку, я обнаружил, что локально правило соблюдается. Однако при развертывании правило не соблюдается. Проблема в том, что конечная точка работоспособности вызывается через контейнер проверки работоспособности Rancher, который не предоставляет имя службы - оно не определено. Таким образом, это не соответствует правилу с 'service_name' = '*'.

Ответ: Похоже, это ошибка AWS X-Ray SDK для Node.js. Неопределенный заголовок хоста действительно должен соответствовать подстановочному знаку.

Это было исправлено в последней версии.

На форумах публикуются сообщения о проблеме здесь: https://forums.aws.amazon.com/thread.jspa?threadID=269425&tstart=0

person AWSSandra    schedule 15.01.2018