Prometheus 将导出的时序指标转化为可查询的系统行为视图,并可根据这些数据评估规则。本实践课程会从二进制安装和抓取开始,搭建包含 PromQL、告警规则与 Alertmanager 路由的小型本地监控链路。
你将让 Prometheus 抓取自身以及 Node Exporter 提供的 Linux 主机指标,查询内存和 CPU 数据,加载 InstanceDown 规则,并向 Alertmanager 发送测试告警。最终挑战要求你独立配置两个抓取任务和自定义 HighCpuLoad 规则,再通过 Rules API 验证。
你将学到什么
- 下载、配置、启动并验证本地 Prometheus 服务器
- 运行 Node Exporter 并确认 9100 端口的指标端点
- 添加静态抓取任务并通过 Prometheus API 检查目标健康状态
- 使用 PromQL 查询原始内存指标、CPU 速率和计算出的内存百分比
- 创建告警规则文件并从
prometheus.yml加载 - 将 Prometheus 连接到 Alertmanager 并配置本地 webhook 接收器
- 提交测试告警并检查 Alertmanager 中的结果状态
- 从命令行构建并验证自定义 CPU 负载规则
本课程适合谁
本中级课程适合希望首次实践 Prometheus 指标采集、查询和告警定义流程的 Linux 管理员、DevOps 学习者和运维工程师。
前置要求: 熟悉 Linux Shell、YAML、后台进程、curl、端口以及基本 CPU 和内存概念。无需 Prometheus 或 PromQL 经验。
学习环境: 在单台 Linux 实验主机上运行下载的 Prometheus、Node Exporter、Alertmanager 和本地 webhook 端点。组件以实验进程启动,而不是作为持久化生产服务安装。
常见问题
我会监控多台远程服务器吗?
不会。Prometheus 只抓取自身和 localhost 上的一个 Node Exporter,不涉及多目标静态配置、服务发现、联邦或分布式存储。
PromQL 练习有多深入?
内容包括一个原始内存指标、对 CPU 计数器使用 rate(),以及简单的内存使用率计算;不讲聚合、标签匹配、连接、记录规则、直方图或查询优化。
告警会发送到邮件、Slack 或其他外部服务吗?
不会。Alertmanager 只路由到本地 webhook,并手动提交测试告警。最终挑战只确认 HighCpuLoad 已加载,不会制造持续 CPU 负载或验证外部通知。





