06.6、在Dashboard中可视化日志
在 Dashboard 中可视化日志
Grafana 提供了强大的日志可视化功能,可以在 Dashboard 中创建日志面板。本节将学习:添加 Loki 数据源、创建日志面板、日志时间序列、以及关联查询。
添加 Loki 数据源
添加 Loki 数据源的步骤是什么?
第一步:进入数据源配置。 Configuration > Data Sources,点击 Add data source。
第二步:选择 Loki。 在数据源列表中选择 Loki,或直接搜索 Loki。
第三步:配置连接。 Name:数据源名称(例如:Loki),URL:Loki 地址(例如:http://localhost:3100),Access:Server(默认)。
第四步:测试连接。 点击 Save & Test,确认连接成功。如果连接成功,会显示绿色的成功消息。
配置示例: Configuration → Data Sources → Add data source → 选择 Loki → 配置连接(URL: http://localhost:3100)→ Save & Test → 连接成功。
注意事项:
- URL 配置: 确保 Loki 的 URL 正确。默认是 http://localhost:3100。
- 网络连接: 确保 Grafana 可以访问 Loki。
- 认证配置: 如果 Loki 启用了认证,需要配置认证信息。
添加完成后,就可以在 Dashboard 中使用 Loki 了。
创建日志面板
创建日志面板的步骤是什么?
第一步:添加 Panel。 在 Dashboard 中点击 Add panel,选择 Add new visualization。
第二步:选择可视化类型。 选择 Logs(日志),或选择 Logs(legacy)。Logs 是新的日志面板类型。
第三步:配置查询。 选择数据源:Loki,输入 LogQL 查询:{job="app"}。可以使用之前学习的 LogQL 语法。
第四步:配置面板选项。 显示选项:行数、时间戳、标签,排序选项:时间排序、标签排序,过滤器:文本搜索、标签过滤。这些选项可以控制日志的显示方式。
日志面板配置: Add Panel → 选择 Logs → 选择数据源(Loki)→ 输入 LogQL 查询({job="app"})→ 配置面板选项(显示/排序/过滤)→ 保存 Panel。
日志面板功能:
- 日志展示: 显示匹配的日志行。
- 时间戳显示: 显示每条日志的时间戳。
- 标签显示: 显示日志的标签。
- 文本搜索: 可以在日志中搜索文本。
- 标签过滤: 可以按标签过滤日志。
创建完成后,可以在 Dashboard 中查看日志。
日志时间序列
日志时间序列是什么? 日志时间序列用于展示日志的数量趋势。查看日志量变化,分析日志趋势,发现异常日志量。
创建日志时间序列的步骤是什么?
第一步:添加 Panel。 选择 Time series(时间序列)。不是 Logs 面板,而是 Time series 面板。
第二步:配置查询。 使用 LogQL 聚合查询,例如
count_over_time({job="app"}[1m])第三步:配置图表选项。 图表类型:线图、柱状图,Y 轴配置:单位、最小值、最大值,图例配置:显示位置、标签。这些选项可以控制图表的显示。
日志时间序列示例: LogQL 查询 → 聚合操作(count_over_time)→ 时间范围([1m])→ 时间序列图表 → 展示日志量趋势。
日志时间序列的优势:
- 趋势分析: 可以看到日志量的变化趋势。
- 异常检测: 可以发现异常的日志量。
- 对比分析: 可以对比不同服务的日志量。
查询示例:
- 统计每分钟的日志数:
count_over_time({job="app"}[1m]) - 计算每秒的日志速率:
rate({job="app"}[1m]) - 按级别分组统计:
sum(count_over_time({job="app"} |="error" [1m])) by (level)
使用日志时间序列,可以更好地分析日志趋势。
关联查询
关联查询是什么? 关联查询用于关联指标和日志。从指标发现问题,查看相关日志,从日志发现问题,查看相关指标,综合分析问题和原因。
关联查询有什么方式呢?
第一种方式:在同一个 Dashboard 中。 创建指标面板和日志面板,使用相同的标签,联动查看。这样可以在一个 Dashboard 中同时查看指标和日志。
第二种方式:使用 Dashboard 链接。 从指标面板链接到日志 Dashboard,传递标签参数,自动过滤日志。这样可以快速从指标跳转到日志。
第三种方式:在 Explore 中切换。 在 Explore 中切换数据源,使用相同的标签查询,对比指标和日志。这样可以在同一个界面中对比指标和日志。
关联查询示例: 指标面板(Prometheus)→ 发现问题 → 日志面板(Loki)→ 查看日志 → 定位问题。
关联查询的优势:
- 快速定位: 从指标快速定位到相关日志。
- 综合分析: 结合指标和日志分析问题。
- 提高效率: 减少在不同系统之间切换。
使用场景:
- 错误率上升: 查看相关日志,找到错误原因。
- 延迟增加: 查看相关日志,找到性能问题。
- 异常日志: 查看相关指标,了解系统状态。
使用关联查询,可以更高效地分析问题。
本节小结
在本节中,我们学习了在 Dashboard 中可视化日志:
第一个是添加 Loki 数据源。 Configuration > Data Sources > Add data source > Loki。添加完成后,就可以在 Dashboard 中使用 Loki 了。
第二个是创建日志面板。 Add Panel > Logs > 配置 LogQL 查询。创建完成后,可以在 Dashboard 中查看日志。
第三个是日志时间序列。 使用聚合查询创建时间序列图表。使用日志时间序列,可以更好地分析日志趋势。
第四个是关联查询。 关联指标和日志,综合分析问题。使用关联查询,可以更高效地分析问题。
日志可视化总结: 日志可视化包括添加 Loki 数据源、创建日志面板、日志时间序列、关联查询。这些功能组合在一起,构成了强大的日志可视化能力。
这就是在 Dashboard 中可视化日志。掌握这些方法,可以更好地可视化和分析日志。
恭喜你! 你已经完成了第 6 章的学习。我们学习了 Loki 简介、安装、Promtail 配置、静态标签和动态标签、LogQL 查询语言、以及日志可视化。
在下一章,我们将学习 Grafana Alloy 和 OpenTelemetry Collector。学习如何配置 Alloy 处理数据。