Istio Jaegar UI不显示服务吗?

时间:2019-01-17 20:33:01

标签: kubernetes istio

我做到了

helm install ibm-charts/ibm-istio --name=istio --namespace istio-system --set grafana.enabled=true,kiali.enabled=true,tracing.enabled=true

我有很多服务,例如kubectl get svc,并希望在Jaegar下拉列表中看到一些有关它们的信息,但我只看到与Istio相关的信息。我的服务可以正确显示在Grafana等工具中。

要在Jaegar中查看有关它们的信息,我还需要配置一些其他东西吗?

enter image description here

2 个答案:

答案 0 :(得分:2)

下面是一个可以帮助您进行跟踪的python代码段。正如@rinormaloku所说,您需要转发上述标头以获取跨度。

import sys

from flask import Flask, abort, request
import requests

app = Flask(__name__)


def getForwardHeaders(request):
    headers = {}

    incoming_headers = [ 'x-request-id',
                         'x-b3-traceid',
                         'x-b3-spanid',
                         'x-b3-parentspanid',
                         'x-b3-sampled',
                         'x-b3-flags',
                         'x-ot-span-context'
    ]

    for ihdr in incoming_headers:
        val = request.headers.get(ihdr)
        if val is not None:
            headers[ihdr] = val
            print("incoming: "+ihdr+":"+val, file=sys.stderr)
    return headers


@app.route("/")
def f1():
    tracking_headers = getForwardHeaders(request)
    return requests.get('http://paytm-svc', headers=tracking_headers).content

上面的代码片段正在kubernetes中的istio上工作。

如果您仍然遇到其他错误,请告诉我。

答案 1 :(得分:1)

需要对应用程序进行检测以传递以下标头:

x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context

这对于大多数框架都是自动的,可以在OpenTracing Contrib repository中找到实现。除此之外,要使Pods and Services成为服务网格的一部分,它们需要满足here指定的要求。特别注意命名端口

但是,由于没有任何痕迹,因此设置jaeger似乎失败,有时会从群集中卸载istio并重新安装可解决此问题。