Nginx ingress 带有opentracing的Kubernetes nginx入口控制器不显示url资源路径
我们在aws eks上使用kubenrnetes nginx ingress控制器版本0.25.1(kubernetes版本1.13)。 我们根据文档启用opentracing,并使用Datadog查看跟踪。我们有一个通用的入口规则来捕获每条路径:Nginx ingress 带有opentracing的Kubernetes nginx入口控制器不显示url资源路径,nginx-ingress,opentracing,Nginx Ingress,Opentracing,我们在aws eks上使用kubenrnetes nginx ingress控制器版本0.25.1(kubernetes版本1.13)。 我们根据文档启用opentracing,并使用Datadog查看跟踪。我们有一个通用的入口规则来捕获每条路径: rule { host = "staging.example.com" http { path { backend { service_name = "cpe-test1" service_
rule {
host = "staging.example.com"
http {
path {
backend {
service_name = "cpe-test1"
service_port = 80
}
path = "/"
}
}
}
在Datadog ui中,我们可以看到nginx跟踪,但是“资源”列始终显示“/”而不是完整路径,即“/test”或“/ping”。如果我们为每个资源路径创建单独的入口规则,那么我们将看到预期的完整路径(即“/test”或“/ping”),但是为每个路径创建入口规则非常不方便和繁琐。是否有任何方法可以在datadog UI中查看完整的资源路径,而无需为每个资源路径创建单独的入口规则?这可以通过在nginx入口中添加以下注释来实现:
annotations:
ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/configuration-snippet: |
opentracing_trace_locations off;
opentracing_tag resource.name $uri;
请参阅的完整答案,我认为这是不可能的。查看它会根据
位置
块创建路径,并根据入口路径
创建1个位置
块(opentracing\u operation\u name
和opentracing\u location\u operation\u name
可以更改,但这些仍然是静态值)。