首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用es和grafana在tempo中查找trace

如何使用es和grafana在tempo中查找trace

作者头像
有点技术
发布2020-12-22 11:16:05
3.9K0
发布2020-12-22 11:16:05
举报
文章被收录于专栏:有点技术有点技术

Grafana tempo是最近发布的的分布式追踪后端,跟踪发现依赖于其他数据源集成。Tempo的工作是存储大量跟踪,将其放置在对象存储中,并通过ID检索它们。日志和其他数据源使用户能够比以往更快,更强大地直接跳转到跟踪。

以前,我们使用Loki和示例程序[1]研究了发现traces。在本文中,我们探索使用另一个日志记录替代方案Elasticsearch和Grafana来直接建立从日志到traces的链接。

开始

让我们使用一个演示存储库[2],它将引导我们完成设置Elasticsearch和Tempo来存储日志和trace记录。此外,我们将使用Grafana可视化我们的数据源,并提供一种简单的机制来从日志中发现trace。如果您也想尝试一下,则readme文件中将包含分步说明!

还应该注意的是,我与Elasticsearch专家相距甚远,因为我们在Grafana Labs使用Loki。如果您发现任何明显的问题,请随时对示例进行PR更新!

Elasticsearch数据链接

设置从Elasticsearch到Tempo的链接的技巧是使用data-link。在Elasticsearch数据源配置中,它类似于以下内容:

使用此配置,Grafana将查找名为traceID的Elasticsearch字段。如果找到一个,Grafana将使用该ID建立指向Tempo数据源的链接。

正确设置此链接后,然后在Explore中,我们可以直接从日志跳转到trace:

现在,您还可以使用Elasticsearch日志记录后端的所有功能来查找trace!

关于logfmt的说明

Elasticsearch生态系统似乎主要针对JSON日志记录,但是在Grafana Labs中,logfmt是日志的首选格式。为了从Elasticsearch字段获取工作链接,我们需要提取logfmt key/value并将其作为Elasticsearch字段插入。

我们使用Filebeat和自定义管道处理器来完成此操作,但是似乎logstash和第三方处理器可能是更好的方法。

通过以上配置,输出以下日志行…

level=info msg="HTTP client success" status=200 url=http://tns-db duration=2.213011ms traceID=2bd4c457541a72fa

…在Elasticsearch中被解析为以下字段:

最后的想法

Tempo是用于大量trace集成的绝佳新工具,但它依赖外部资源进行trace发现。在过去的文章中,我们研究了使用Loki和示例,但我们也知道Elasticsearch是一个极其常见的日志记录后端。

希望那些喜欢使用Elastic作为日志存储的人可以在此处使用示例和信息来设置自己的日志到trace流程并开始发现trace!

引用链接

[1] Loki和示例程序: https://grafana.com/blog/2020/11/09/trace-discovery-in-grafana-tempo-using-prometheus-exemplars-loki-2.0-queries-and-more/ [2] 演示存储库: https://github.com/joe-elliott/tempo-elastic-example

[3] 原文: https://grafana.com/blog/2020/12/07/how-to-find-traces-in-tempo-with-elasticsearch-and-grafana/?src=tw&mdm=social

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有点技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始
  • Elasticsearch数据链接
  • 关于logfmt的说明
  • 最后的想法
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档