可观测性堆栈

将黑盒系统转变为可观测的基础设施。您将部署 Prometheus 用于指标收集、Grafana 用于可视化,以及 Loki 用于日志聚合,从而深入了解系统性能。

DevOps 工程师DevOpsLinux

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

简介

可观测性管道会把主机活动转化为指标、可搜索日志和可操作的告警状态。本挑战型项目使用 Prometheus、Grafana、Loki、Promtail、Node Exporter 和 Alertmanager 在本地构建这条管道。

你将通过配置文件和实时 API 连接各组件:采集主机指标、配置 Grafana Data Source、把活动系统日志发送到 Loki,并通过停止 Node Exporter 触发 InstanceDown 告警。最终得到一套可端到端验证数据流的单主机系统。

你将学到什么

  • 在端口 9100 运行 Node Exporter,并配置端口 9090 的 Prometheus 将其采集为健康 Target
  • 使用 YAML 配置 Grafana Prometheus Data Source,并通过端口 8080 的 Grafana API 验证
  • 在端口 3100 启动 Loki,并配置 Promtail 跟踪本机活动系统日志
  • 通过 Loki Label API 确认日志摄取,并区分采集器与存储组件的职责
  • 在端口 9093 运行 Alertmanager,并通过 alertmanagers 配置连接 Prometheus
  • 为 up == 0 定义 InstanceDown,停止 Node Exporter,并验证告警进入 Firing 状态

本课程适合谁

本项目适合准备通过配置和服务级检查组装本地可观测性管道的 DevOps 与 SRE 学习者。

前置要求: 熟悉 Linux 服务与进程、YAML、HTTP API、端口、Prometheus Scrape 概念、基础日志路径和 curl;这是考核型项目。

学习环境: 可通过浏览器访问的单节点 Linux 主机,配有 sudo、Prometheus、Node Exporter、Grafana,可下载的 Loki、Promtail 和 Alertmanager 二进制文件、活动本地日志及本地 HTTP 访问;无需云账户。

常见问题

我会构建 Grafana Dashboard 和 Panel 吗?

不会。Grafana 阶段只以代码方式配置并验证 Prometheus Data Source,不涵盖 Dashboard 设计、Panel、Variable 或 Grafana Alert Rule。

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

不会。Promtail 只跟踪同一主机的 /var/log/syslog 或其他活动日志,并发送到本地 Loki;不配置分布式 Agent、保留策略或对象存储。

Alertmanager 会发送邮件、Slack 或 Webhook 通知吗?

不会。Prometheus 会把告警路由到本地 Alertmanager,你通过 API 或 UI 验证 Firing 状态;外部 Receiver 和通知投递不在挑战范围内。

故障测试如何执行和验收?

你会停止 Node Exporter,使 Prometheus 得到 up == 0。校验会确认 Exporter 已停止,并检查 Prometheus Alerts API 中的 InstanceDown 为 firing。

教师

labby
Labby
Labby is the LabEx teacher.