集中式日志管理

学习集中式日志管理。本模块涵盖设置 Loki、使用 Promtail 传输日志、使用 LogQL 查询日志、从日志中获取指标、更智能的标签。您将通过实践实验室和真实世界的挑战掌握这些基本的 Linux 技能。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Loki 按标签存储日志流,Promtail 则发现文件并把日志行发送到该存储。本实践课程会搭建一条本地日志管道,并教你查询单条事件以及从日志推导出的数值信号。

你将运行 Loki、通过 API 将其注册到 Grafana、为系统和应用日志配置 Promtail,并使用 LogQL 探索日志流。后续练习会统计匹配日志、计算速率、按 JSON 字段分组、提取数值,并学习用标签组织日志而不把高基数值变成昂贵索引。

你将学到什么

  • 下载、启动和验证 Loki,并通过 API 将其连接到 Grafana
  • 配置 Promtail 文件发现、流标签、读取位置和 Loki push 端点
  • 使用 Loki 范围查询 API 和 Grafana Explore 验证已传输日志
  • 在 LogQL 中选择日志流并按文本或正则表达式过滤行
  • 将日志转换为时间窗口内的计数和每秒速率
  • 解析 JSON、按字段分组速率并提取数值进行聚合
  • 添加低基数环境标签,并说明哪些内容应保留为行过滤条件
  • 触发应用错误峰值并构造一分钟 LogQL 检测查询

本课程适合谁

本中级课程适合希望实践构建和查询 Loki 日志管道的 Linux 管理员、DevOps 从业者和可观测性学习者。

前置要求: 熟悉 Linux Shell、YAML、后台进程、curl、日志文件、正则表达式和基本 Grafana 操作。无需 Loki 或 LogQL 经验。

学习环境: 单台 Linux 实验主机,运行 Loki、Promtail、Grafana、logcli 和生成的日志文件。所有组件均作为本地实验进程运行,因此课程演示集中式日志概念,但不搭建多主机环境。

常见问题

我会从多台服务器收集日志吗?

不会。Promtail、Loki、Grafana 和日志源都在一台实验主机上。你会实践分布式管道中相同的发现、标签、传输、存储和查询边界,但不进行远程代理部署。

课程中的 LogQL 深度如何?

内容包括流选择器、文本和正则过滤、count_over_time、rate、JSON 解析、sum by,以及配合 avg_over_time 的 unwrap。高级解析器、二元运算、记录规则、告警和性能调优不在范围内。

错误峰值挑战会制造并检测真实事件吗?

它会触发提供的生成器向 /var/log/app.log 写入 ERROR 行,并要求把有效的一分钟计数查询保存到文件,但不会根据该查询配置告警或外部通知。

教师

labby
Labby
Labby is the LabEx teacher.