博客/工程

痕迹发现在Grafana Tempo使用普罗米修斯的例子,洛基2.0查询,以及更多

2020年11月9日4分钟

Grafana Tempo, the最近宣布分布式跟踪后端,依赖于与其他数据源的集成来进行跟踪发现。Tempo的任务是存储大量的跟踪,将它们放在对象存储中,并通过id检索它们。日志和示例允许用户比以前更快更有力地直接跳转到跟踪。

让我们挖掘一些带有现场操场的例子来尝试一下!

TNS演示

TNS演示一个常用的用于测试和演示的操场/示例应用程序基本吗79bob官方下载 洛基普罗米修斯而且节奏特性。让我们看一些使用它的例子。按照主自述文件进行安装先决条件然后设置集群.然后导航到http://localhost:8080,点击“Grafana”链接,让我们开始吧。

洛基2.0

例子

洛基2.0有一些令人惊叹的新查询功能你真的应该试试。这些改进本身就很棒,但它们对Tempo的跟踪搜索也有惊人的影响。

在TNS Demo Grafana中,导航到Explore并选择Loki作为您的数据源。让我们从一个简单的查询开始:{工作= " tns /应用程序”,水平= "信息"}.这将返回一些日志行,如:

2020-11-06T15:02:10.261121224Z stdout F level=info msg="HTTP client success" status=200 url=http://db duration=1.03636ms traceID=fb0fbe73200e474 2020-11-06T15:02:10.014657751Z stdout F level=info msg="HTTP client success" status=200 url=http://db duration=2.116557ms traceID=2c963a78f1ee0c78 2020-11-06T15:02:09.98055353Z stdout F level=info msg="HTTP client success" status=200 url=http://db duration=2.24091ms traceID=7efd169fbc41ff4a

然后我们可以点击这些跟踪id,直接跳转到Tempo:

但是如果我们只想看到失败的痕迹呢?或者有一定的延迟?这在洛基1中是可能的。X,但通常需要复杂而脆弱的正则表达式搜索。看看洛基2.0有多简单:

{job="tns/app", level="info"} | logfmt | status >= 500 and status <= 599 and duration > 50ms

logfmt管道运算符解析格式化的线并且允许我们基于字段的值进行搜索。多酷啊!现在,您可以记录跟踪id旁边的任何值,并使用它来索引跟踪。

配置

以上所有功能都可以在当前的Grafana, Loki和Tempo版本中使用。另一个值得注意的配置是设置洛基衍生场从跟踪ID创建链接。这可以在示例中的数据源配置中查看:

范本

例子

我们说话的时候,样品正在制作中。预计将在7.3中支持Grafana。x,普罗米修斯的支持即将到来。注意,这个示例使用了一些基于特性分支构建的自定义映像。期待他们很快成为主人!

在TNS Demo Grafana中,导航到Explore并选择prometheus-exemplars数据源。让我们试试这个问题:

histogram_quantile(。99, sum(rate(tns_request_duration_seconds_bucket{}[1m])) by (le))

执行这个查询应该显示这个直方图的p99和一些例子:

我们可以将鼠标移到任何点上,然后单击它,直接从这个度量跳到一个跟踪。如果我们只对失败的请求感兴趣,我们可以尝试:

histogram_quantile(。99, sum(rate(tns_request_duration_seconds_bucket{status_code="500"}[1m])) by (le)))

现在每个示例都是那些聚合起来创建这个度量的请求;也就是说,它们都是失败的请求。请注意,目前示例只对延迟直方图启用,因此您应该只对延迟直方图启用tns_request_duration_seconds_bucket

配置

范例确实需要一些尚未发布的特性。注意,普罗米修斯和Grafana的图像不是来自master。另外,还存在以下示例链接配置:

不过,不要太担心这个!该示例为您很好地设置了一切!预计这些功能很快就会出现在这些开源应用程序中。

跟踪发现

不知何故,即使Tempo不支持本地搜索,跟踪发现比以往任何时候都更强大和更容易!使用日志在跟踪中构建一个完美的索引,其中包含适合您的字段和值。使用动态示例,只需单击一下,就可以发现与当前正在分类的问题直接相关的痕迹。

如果这些想法让你兴奋,请加入我们的#tempo频道公共松弛或者跳到回购让我们知道你的想法!想要更深入的了解,请观看我们的ObservabilityCon会议,“用Grafana使跟踪变得简单,按需。

你可以免费获得Tempo的公开测试Grafana云.我们有新的免费和付费Grafana云计划,以适应每一个用例-现在免费注册