前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Grafana系列-统一展示-9-Jaeger数据源

Grafana系列-统一展示-9-Jaeger数据源

作者头像
东风微鸣
发布2023-09-01 13:34:52
3200
发布2023-09-01 13:34:52
举报

系列文章

•Grafana 系列文章[1]

配置 Jaeger data source

Grafana内置了对Jaeger的支持,它提供了开源的端到端分布式跟踪。本文解释了针对Jaeger数据源的配置和查询。

关键的配置如下:

•URL: Jaeger 实例的 URL, 如: http://localhost:16686http://localhost:16686/trace/•Enable Node Graph: ✔️. 一旦启用,Grafana会在 trace 视图上方显示 Node Graph (链路拓扑图)。

Span bar

Span bar 设置帮助你在 span 行中显示额外的信息。

你可以从三个选项中选择一个:

代码语言:javascript
复制
Description

Trace to logs

📝Notes: Trace to logs 功能只支持部分日志解决方案 Grafana Loki 和 Splunk 是支持的, ElasticSearch 是不支持的.

Trace to logs settings

Trace to logs 设置配置了 traces 到 logs 的功能,当你将 Grafana 与 Jaeger 整合时,该功能是可用的。

有两种方法可以配置 trace 到 logs 的功能:

•使用带有默认查询的简化配置,或•配置一个自定义查询,你可以使用模板语言[2]从 trace 或 span 中插入变量。

使用简化配置

1.选择目标数据源。2.设置开始和结束时间的偏移。由于日志的时间戳可能与 trace 中的 span 的时间戳不完全匹配,可能需要在更大的或移位的时间范围内搜索以找到所需的日志。3.选择要在日志查询中使用的标签。你配置的标签必须存在于 span 属性或资源中,才能出现 trace 到 logs span 链接。你可以选择为标签配置一个新的名字。如果标签的名称中有圆点,而目标数据源不允许标签中有圆点,这就很有用(如上图)。在这种情况下,你可以,比如说,把http.status改成http_status。4.如果你的日志一直包含 trace ID 或 span ID,可以选择打开 Filter by trace ID 和/或 Filter by span ID 的设置来进一步过滤日志。

使用自定义 Query

1.选择目标数据源。2.设置开始和结束时间的偏移。由于日志的时间戳可能与 trace 中的 span 的时间戳不完全匹配,你可能需要扩大或偏移时间范围以找到所需的日志。3.可选地,选择要映射的标签。这些标签可以用 {__tags} 变量在自定义查询中使用。这个变量将以适当的语法为数据源插值映射的标签,并只包括 span 中存在的标签,省略那些不存在的标签。您可以选择为标签配置一个新的名称。这在标签的名称中有圆点而目标数据源不允许标签中有圆点的情况下很有用。例如,你可以将 http.status 重新映射为 http_status。如果你不在这里映射任何标签,你仍然可以在查询中使用任何标签,比如method="

可以在自定义查询中使用的 Variables

要使用一个变量,你需要用{}来包裹它。例如:{__span.name}。

代码语言:javascript
复制
Description

下表描述了你可以配置 Trace to logs 设置的方式:

代码语言:javascript
复制
Description

Trace to metrics

📝Notes: 需要配置 feature toggle[3] 的 traceToMetrics 后可见.

Trace to metrics 设置配置了 Grafana 与 Jaeger 集成时可用的 trace 到 metrics 功能。

要配置 trace to metrics:

1.选择目标数据源。2.创建需要的链接查询。

代码语言:javascript
复制
Description

每个链接查询包括:

•Link Label: (可选项) 链接查询的描述性标签。•Query: 从 trace 跳转到 metric 数据源时运行的查询。使用 __tags 关键字对标签进行插值。例如,当你配置查询 requests_total{__tags} 时,标签为k8s.pod=pod和cluster,结果看起来像requests_total{pod="nginx-554b9", cluster="us-east-1"}。

Jaeger 数据源配置示例

Jaeger 数据源配置示例 YAML 如下:

代码语言:javascript
复制
apiVersion: 1

datasources:
  - name: Jaeger
    type: jaeger
    uid: EbPG8fYoz
    url: http://localhost:16686
    access: proxy
    basicAuth: true
    basicAuthUser: my_user
    readOnly: false
    isDefault: false
    jsonData:
      tracesToLogsV2:
        # Field with an internal link pointing to a logs data source in Grafana.
        # datasourceUid value must match the uid value of the logs data source.
        datasourceUid: 'loki'
        spanStartTimeShift: '1h'
        spanEndTimeShift: '-1h'
        tags: ['job', 'instance', 'pod', 'namespace']
        filterByTraceID: false
        filterBySpanID: false
        customQuery: true
        query: 'method="${__span.tags.method}"'
      tracesToMetrics:
        datasourceUid: 'prom'
        spanStartTimeShift: '1h'
        spanEndTimeShift: '-1h'
        tags: [{ key: 'service.name', value: 'service' }, { key: 'job' }]
        queries:
          - name: 'Sample query'
            query: 'sum(rate(traces_spanmetrics_latency_bucket{$__tags}[5m]))'
      nodeGraph:
        enabled: true
      spanBar:
        type: 'None'
    secureJsonData:
      basicAuthPassword: my_password

EOF

References

[1] Grafana 系列文章: https://ewhisper.cn/tags/Grafana/ [2] 模板语言: https://grafana.com/docs/grafana/latest/dashboards/variables/variable-syntax/ [3] feature toggle: https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#feature_toggles

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

本文分享自 东风微鸣技术博客 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 系列文章
  • 配置 Jaeger data source
    • Span bar
      • Trace to logs
        • 使用简化配置
        • 使用自定义 Query
        • 可以在自定义查询中使用的 Variables
      • Trace to metrics
      • Jaeger 数据源配置示例
        • References
        相关产品与服务
        Grafana 服务
        Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档