美文网首页
Grafana系列-统一展示-11-Logs Traces无缝跳

Grafana系列-统一展示-11-Logs Traces无缝跳

作者: 东风微鸣 | 来源:发表于2023-05-15 09:23 被阅读0次

    系列文章

    概述

    前文 Grafana 系列 - 统一展示 -1- 开篇所述, Grafana 可以了解所有相关的数据--以及它们之间的关系--对于尽快根治事件和确定意外系统行为的真正来源非常重要。Grafana 允许团队在一个地方对所有的数据进行无缝的可视化和跳转。

    最典型的就是 Grafana Labs 的 LGTM 技术栈,包括:

    • Loki(Logging)
    • Grafana(可视化)
    • Tempo(Tracing)
    • Mimir(Metrics)
    LGTM

    通过如下的技术细节,可以实现 Logging、Tracing、Metrics 的无缝可视化和跳转:

    • Metrics -> Logs: 基于服务发现和统一 labels
    • Logs -> Metrics: 基于 LogQL 提取 Metric 指标
    • Logs -> Traces: 基于衍生字段 (fields) 或自动化的日志
    • Traces -> Logs: 基于 labels
    • Traces -> Metrics: 基于来自 spans 的 Metric 指标
    • Metrics -> Traces: 基于 Prometheus 的 Exemplars.

    具体如下图:

    LTM Seamless Moving

    即使没有采用 Grafana Labs 的解决方案,也仍然能实现一定程度的无缝跳转。

    如:

    • Logging 使用 EFK
    • Tracing 使用 Jaeger

    如果日志中也包括 trace_id, Name 至少可以通过 trace_id, 实现 Logs -> Traces 的无缝跳转。

    🐾Notes:

    前提是: 日志中包括 trace_id 相关字段.
    当然, 日志中就包含 trace_id 字段, 属于开发对日志格式规划地比较好了. 这使得运维侧配置跳转逻辑简单了很多.
    更多情况下, 是要结合 cluster namespace app pod 等字段/label 进行查询. (而非直接通过 trace_id 直接定位.)

    实战 Logs(ElasticSearch) To Traces(Jaeger)

    📝Notes:

    实战场景: 针对报错日志, 定位到出错的 Trace.

    首先, 更新 ES 数据源配置, 增加 Data links 相关配置:

    • Field: trace_id (根据实际情况配置, 也可能是 traceId 等)
    • Internal link: ✔️, 并选择一个 Trace(Jaeger) 数据源
    • Query: ${__value.raw}

    之后, 可以通过ES 日志快速搜索仪表板, 筛选出ERROR 日志, 点击展开 details, 会发现 trace_id 会带一个跳转链接, 如下图:

    Error Log -> trace_id link

    点击后, 会直接跳转到 Explore -> Jaeger 页面, 并带有出错的 trace_id, 同时显示链路拓扑和 trace 瀑布图, 如下图:

    Trace Node Graph Error Log Trace View

    🎉🎉🎉

    总结

    至此, 我们完成了一个非常简单的, 从 Logs(ElasticSearch) 到 Trace(Jaeger) 的单向跳转. 但已经会为我们分析问题提供较大的便利了.

    如果需要实现 Metrics, Logs, Traces 三者的双向跳转, 那么在这三者的解决方案需要是特定的方案, 另外这三者的数据源、Dashboard 和 Query 中都需要有更多精细的配置。包括不限于:

    • 上文提到的三者之间的联动配置
    • 各个数据源上配置 Data link、Derived fields、Exemplars、Trace to logs、Trace to Metrics 等
    • 在 Dashboard 上添加 Text 等 Panel,并结合 Variable 用于更友好地跳转
    • 在 Panel 配置 panel link 用于更友好地跳转
    • ...

    以此抛砖引玉,希望读者可以做出更精美、实用的监控统一展示和无缝跳转方案。

    三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

    相关文章

      网友评论

          本文标题:Grafana系列-统一展示-11-Logs Traces无缝跳

          本文链接:https://www.haomeiwen.com/subject/vpemsdtx.html