We may earn an affiliate commission when you visit our partners.
Course image
Peng Xiao

随着业务的越发复杂,对软件系统的要求越来越高,这意味着我们需要随时掌控系统的运行情况。因此,对系统的实时监控以及可视化展示,就成了基础架构的必须能力。

Prometheus

Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。

Prometheus作为新一代的云原生监控系统,目前已经有超过650+位贡献者参与到Prometheus的研发工作上,并且超过120+项的第三方集成。

Grafana

Grafana是一款可视化工具,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,大多使用在时序数据的监控方面,如同Kibana类似。

Grafana的UI更加灵活,有丰富的插件,功能强大。

Telegraf

Read more

随着业务的越发复杂,对软件系统的要求越来越高,这意味着我们需要随时掌控系统的运行情况。因此,对系统的实时监控以及可视化展示,就成了基础架构的必须能力。

Prometheus

Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。

Prometheus作为新一代的云原生监控系统,目前已经有超过650+位贡献者参与到Prometheus的研发工作上,并且超过120+项的第三方集成。

Grafana

Grafana是一款可视化工具,有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,大多使用在时序数据的监控方面,如同Kibana类似。

Grafana的UI更加灵活,有丰富的插件,功能强大。

Telegraf

Telegraf是一个用Golang写的开源数据收集Agent,基于插件驱动。在我们的课程里,我们会使用telegraf进行数据采集。

Enroll now

What's inside

Learning objectives

  • 如何使用telegraf进行数据采集
  • 如何使用prometheus进行数据存储
  • Promql查询语言
  • Prometheus的alerting
  • 如何使用grafana创建dashboard

Syllabus

Introduction
Lab Environments
关于课程使用的源码
视频播放器设置
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
涵盖了云原生监控系统的Prometheus,它已被CNCF基金会采用,并被650多位贡献者使用,这对于希望使用行业标准工具的工程师来说是一个优势
教授PromQL查询语言,这对于从Prometheus检索和分析监控数据至关重要,并使工程师能够有效地查询和理解系统指标
探索了Telegraf,这是一个用Golang编写的开源数据收集代理,它允许工程师使用插件驱动的方法来收集和导出指标,从而增强了监控系统的灵活性
介绍了Grafana,它具有灵活的UI和丰富的插件,这对于希望创建功能强大的度量仪表板和图形编辑器的工程师来说是一个优势
需要使用Docker和docker-compose,这对于一些学生来说可能是一个障碍,他们可能需要安装这些工具才能充分参与课程的实验和演示

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Prometheus grafana telegraf 监控实战

根据学生们的反馈,这门关于Prometheus、Grafana和Telegraf的监控与报警课程内容扎实,涵盖了数据采集、存储、查询、报警和可视化等核心主题,适合希望快速掌握监控系统搭建和使用的专业人士。许多学习者认为课程提供了有价值的实践环节,特别是通过Docker环境进行的动手实验,帮助巩固了理论知识。课程对PromQL查询语言的介绍Grafana仪表盘的构建获得了积极评价。然而,部分评论提到实验环境的搭建有时会遇到问题,需要一定的耐心,并且某些高级主题或实际应用中的复杂场景可能没有深入讲解。总体而言,这是一门实用的入门课程,为构建现代监控系统提供了良好基础
报警规则和 AlertManager 的讲解实用。
"学习了如何配置报警规则和连接 AlertManager。"
"Gmail 和 Slack 接收报警的演示很实用。"
"课程教了我如何设置基本的报警,这对我工作很有帮助。"
PromQL 的介绍清晰易懂。
"老师对 PromQL 的基础讲解非常清晰,让我快速入门。"
"理解 PromQL 是关键,课程在这方面做得不错。"
"PromQL 的部分让我学会了如何从时序数据中提取有用信息。"
课程覆盖了监控系统的主要组件和流程。
"课程很好地覆盖了 Telegraf、Prometheus 和 Grafana,是很好的入门。"
"从数据采集到可视化报警,整个流程都讲到了。"
"感觉通过这门课,我对整个监控系统有了全面的认识。"
动手实验帮助理解和掌握工具使用。
"我发现课程的实验非常有帮助,能够实际操作搭建环境。"
"使用 Docker 和 docker-compose 进行实验,环境搭建起来相对方便。"
"通过动手实践环节,我能更好地理解 Prometheus 和 Grafana 如何协同工作。"
"课程提供的实验步骤清晰,让我能跟着一步一步完成监控系统的搭建。"
部分学习者在环境搭建时遇到困难。
"我在按照步骤搭建实验环境时,遇到了一些网络问题。"
"可能因为我本地环境的原因,Docker 部分花了不少时间调试。"
"希望实验环境搭建的排错部分能再详细一些。"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Prometheus and Grafana for Monitoring and Alerting监控和报警系统 with these activities:
回顾 Docker 和 Docker Compose 基础知识
通过回顾 Docker 和 Docker Compose 的基础知识,为学习本课程做好准备,因为课程中大量使用了这些工具。
Browse courses on Docker Compose
Show steps
  • 阅读 Docker 和 Docker Compose 的官方文档。
  • 运行一些简单的 Docker 镜像和 Docker Compose 文件。
  • 尝试构建自己的 Docker 镜像。
阅读《Grafana: Getting Started》
阅读《Grafana: Getting Started》可以帮助你快速上手 Grafana,并掌握 Grafana 的基本用法,从而更好地可视化监控数据。
Show steps
  • 通读本书,重点关注 Dashboard 和 Panel 的配置。
  • 尝试创建一些简单的 Dashboard。
  • 连接不同的数据源,例如 Prometheus 和 MySQL。
阅读《Prometheus: Up & Running》
阅读《Prometheus: Up & Running》可以帮助你更深入地理解 Prometheus 的概念和用法,从而更好地掌握课程内容。
Show steps
  • 通读本书,重点关注 PromQL 查询和 Alerting 部分。
  • 尝试运行书中的示例代码。
  • 思考如何将书中的知识应用到实际的监控场景中。
Four other activities
Expand to see all activities and additional details
Show all seven activities
练习 PromQL 查询
通过练习 PromQL 查询,可以更好地掌握 PromQL 语法和用法,从而能够更有效地查询和分析监控数据。
Show steps
  • 使用 Prometheus Web GUI 或 Grafana 创建一些常用的 PromQL 查询。
  • 尝试使用 PromQL 查询来分析一些实际的监控数据。
  • 参考 Prometheus 官方文档,学习更多 PromQL 函数和操作符。
撰写 Prometheus Exporter 教程
通过撰写 Prometheus Exporter 教程,可以更深入地理解 Prometheus Exporter 的原理和实现,并能够将自己的知识分享给他人。
Show steps
  • 选择一个需要监控的应用程序或服务。
  • 使用 Python 或 Go 等语言编写一个 Prometheus Exporter。
  • 撰写一篇详细的教程,介绍 Exporter 的原理、实现和使用方法。
  • 将教程发布到博客或社区论坛。
构建一个完整的监控系统
通过构建一个完整的监控系统,可以将课程中所学的知识应用到实际项目中,从而更好地掌握 Prometheus 和 Grafana 的使用。
Show steps
  • 选择一个需要监控的应用程序或服务。
  • 使用 Telegraf 收集监控数据。
  • 使用 Prometheus 存储监控数据。
  • 使用 Grafana 创建 Dashboard 来可视化监控数据。
  • 配置 Prometheus Alerting 规则,以便在发生问题时及时收到通知。
为 Telegraf、Prometheus 或 Grafana 贡献代码
通过为 Telegraf、Prometheus 或 Grafana 贡献代码,可以更深入地理解这些工具的内部实现,并能够为开源社区做出贡献。
Show steps
  • 浏览 Telegraf、Prometheus 或 Grafana 的代码仓库。
  • 找到一个可以修复的 Bug 或可以改进的功能。
  • 提交 Pull Request。
  • 参与代码审查。

Career center

Learners who complete Prometheus and Grafana for Monitoring and Alerting监控和报警系统 will develop knowledge and skills that may be useful to these careers:
监控工程师
监控工程师负责设计、实施和维护监控系统,确保软件和基础设施的稳定运行,并及时发现和解决潜在问题。本课程专注于 Prometheus 和 Grafana,监控工程师可以利用这些工具进行实时数据存储和数据可视化展示,从而更有效地监控系统性能。通过学习 Telegraf 进行数据采集,工程师可以更好地了解如何收集各种指标数据,然后使用 PromQL 查询语言来分析这些数据。课程中关于 Alerting 的内容也至关重要,它能帮助监控工程师设置警报规则,并在系统出现异常时及时发出通知。Grafana 的可视化功能可以帮助工程师创建直观的仪表盘,从而更好地了解系统状态。对于希望成为监控工程师的人来说,本课程提供了必要的工具和知识,以应对日益复杂的软件系统。
DevOps工程师
DevOps工程师负责优化软件开发和部署流程,实现快速、可靠的软件交付。监控是 DevOps 流程中的关键环节,DevOps工程师 需要利用监控工具来了解应用性能、基础设施状态,并及时发现问题。通过本课程,DevOps工程师 可以学习使用 Prometheus 进行数据存储,并创建报警规则。Grafana 的可视化功能方便 DevOps工程师 创建仪表盘,跟踪关键指标,并与其他团队成员共享信息。通过学习 Telegraf,DevOps工程师 可以收集各种类型的数据,并将其用于监控和分析。此外,课程中关于 Alerting 的内容可以帮助 DevOps工程师 自动化问题响应,缩短故障恢复时间。对于希望在 DevOps 领域发展的人来说,本课程提供了必要的技能,以构建高效的监控系统,支持持续交付。
站点可靠性工程师
站点可靠性工程师(SRE)旨在保障线上服务的稳定性和可靠性。SRE 需要熟练掌握监控、报警和故障排除等技能,以确保用户可以不间断地访问服务。本课程学习 Prometheus 和 Grafana,SRE 可以构建强大的监控和可视化系统,实时了解服务状态。通过 Telegraf 进行数据采集,可以收集各种关键指标,使用 PromQL 查询语言进行深入分析。Alerting 功能帮助 SRE 在问题发生前及时发现并解决。Grafana 仪表盘则提供了一个全面的服务状态概览。对于想要从事 SRE 职业的人来说,本课程帮助使用云原生技术,并以工程化的方式解决运维问题。
应用性能工程师
应用性能工程师专注于优化应用程序的性能,提升用户体验。监控是应用性能优化的关键环节,应用性能工程师 需要利用监控工具来了解应用瓶颈、识别性能问题。通过本课程,应用性能工程师 可以学习使用 Prometheus 进行数据存储,并创建报警规则,在性能下降时及时收到通知。Grafana 的可视化功能方便工程师 创建仪表盘,跟踪关键指标。通过学习 Telegraf,应用性能工程师 可以收集各种应用性能指标,并将其用于分析。本课程学习监控和报警,可以支持工程师 定位问题,并采取相应的优化措施,从而提升应用性能。对于希望在应用性能优化领域发展的人来说,本课程提供必要的技能,以构建高效的监控系统,支持性能优化工作。
云平台工程师
云平台工程师负责构建、维护和优化云基础设施,为应用程序提供稳定、可靠的运行环境。他们需要对云平台的各个组件进行监控,包括计算资源、存储、网络等,以确保其正常运行。云平台工程师学习 Prometheus 和 Grafana,可以搭建起强大的监控系统,实时了解云平台的状态。Telegraf 可以用来收集各种云平台指标,PromQL 用于查询和分析这些数据。Alerting 功能可以帮助工程师及时发现云平台的问题,Grafana 仪表盘则提供了一个可视化的监控界面。对于希望在云平台领域发展的人来说,本课程学习云原生监控技术,例如容器平台和新的存储层。
系统管理员
系统管理员负责管理和维护计算机系统,确保其稳定运行,并满足用户需求。系统管理员 需要对系统进行监控,及时发现并解决问题。学习课程中的 Prometheus 和 Grafana,系统管理员 可以构建一个强大的监控系统,实时了解系统资源的使用情况、应用性能等。Telegraf 负责收集系统指标,PromQL 用于查询和分析数据。Alerting 功能可以帮助系统管理员 及时发现系统异常,Grafana 仪表盘提供了一个直观的监控界面。学习本课程,系统管理员 可以更好地管理和维护系统,保障其稳定运行。
网络工程师
网络工程师负责设计、实施和维护计算机网络,确保网络的稳定性和安全性。监控是网络管理的重要组成部分,网络工程师 需要利用监控工具来了解网络流量、设备状态等,及时发现网络问题。本课程专注于监控和报警,方便网络开发人员了解监控工具。学习 Prometheus 和 Grafana,网络工程师 可以构建一个强大的监控系统,实时了解网络状态。Telegraf 可以用来收集各种网络指标,PromQL 用于查询和分析这些数据。Alerting 功能可以帮助工程师 及时发现网络异常,Grafana 仪表盘则提供了一个直观的监控界面。对于希望在网络工程领域发展的人来说,本课程学习网络监控,能更好地管理和维护网络,保障其稳定运行。
数据分析师
数据分析师利用数据来识别趋势、解决问题并为决策提供支持。监控数据是数据分析的重要来源之一,数据分析师 可以利用监控数据来了解系统性能、用户行为等,从而做出更明智的决策。数据分析师 学习 Prometheus 和 Grafana,可以更好地访问和分析监控数据。PromQL 查询语言可以帮助数据分析师 从监控数据中提取有用的信息,Grafana 仪表盘则提供了一个可视化的数据分析界面。通过学习 Telegraf,数据分析师 可以了解如何收集各种类型的数据,并将其用于分析。对于想要从事数据分析工作的人来说,本课程可以帮助他们更好地利用监控数据,提升分析能力。
数据库管理员
数据库管理员(DBA)负责管理和维护数据库系统,确保数据的安全性、完整性和可用性。监控是数据库管理的重要组成部分,DBA 需要利用监控工具来了解数据库性能、资源使用情况等,及时发现数据库问题。通过本课程,学习 Prometheus 和 Grafana,DBA 可以构建一个强大的监控系统,实时了解数据库状态。Telegraf 负责收集数据库指标,PromQL 用于查询和分析数据。Alerting 功能可以帮助 DBA 及时发现数据库异常,Grafana 仪表盘提供了一个直观的监控界面。对于希望在数据库管理领域发展的人来说,本课程可以帮助 DBA 更好地管理和维护数据库,保障其稳定运行。
安全工程师
安全工程师负责保护计算机系统和网络的安全,防止未经授权的访问和攻击。监控是安全防护的重要组成部分,安全工程师 需要利用监控工具来检测安全事件、识别潜在威胁。本课程专注于监控系统,安全工程师 可以学习使用 Prometheus 进行数据存储,并创建报警规则,在发生安全事件时及时收到通知。Grafana 的可视化功能方便安全工程师 创建仪表盘,跟踪安全指标。通过学习 Telegraf,安全工程师 可以收集各种安全相关的数据,并将其用于分析。此外,课程中关于 Alerting 的内容可以帮助安全工程师 自动化安全事件响应,缩短事件处理时间。对于希望在安全领域发展的人来说,本课程学习监控和报警,可以帮助构建高效的安全监控系统,支持安全防护工作。
物联网工程师
物联网工程师负责开发和部署物联网设备和系统,实现设备之间的互联互通和数据交换。监控是物联网系统的重要组成部分,物联网工程师 需要利用监控工具来了解设备状态、数据传输情况等,及时发现问题。本课程学习 Prometheus 和 Grafana,物联网工程师 可以构建一个强大的监控系统,实时了解物联网设备的状态。Telegraf 负责收集物联网设备的数据,PromQL 用于查询和分析数据。Alerting 功能可以帮助工程师 及时发现设备异常,Grafana 仪表盘提供了一个直观的监控界面。对于希望在物联网领域发展的人来说,本课程可以帮助他们更好地管理和维护物联网设备,保障其稳定运行。
智能家居集成工程师
智能家居集成工程师负责设计、安装和维护智能家居系统,实现家居设备的自动化控制和智能化管理。监控是智能家居系统的重要组成部分,集成工程师 需要利用监控工具来了解设备状态、用户行为等,及时发现问题。学习课程中的 Prometheus 和 Grafana,智能家居集成工程师 可以构建一个监控系统,实时了解家居设备的状态。Telegraf 负责收集设备数据,PromQL 用于查询和分析数据。Alerting 功能可以帮助集成工程师 及时发现设备异常,Grafana 仪表盘提供了一个直观的监控界面。本课程可以帮助智能家居集成工程师 更好地管理和维护智能家居系统,提升用户体验。
嵌入式系统工程师
嵌入式系统工程师负责设计、开发和测试嵌入式系统,这些系统通常用于控制特定功能的硬件设备。尽管本课程主要关注软件系统的监控,但嵌入式系统也需要监控其性能和状态。本课程的内容,嵌入式系统工程师 可以学习使用 Prometheus 和 Grafana 来监控嵌入式系统的资源使用情况、运行状态等。Telegraf 可以用来收集嵌入式系统的数据,PromQL 用于查询和分析这些数据。Alerting 功能可以帮助工程师 及时发现系统异常,Grafana 仪表盘则提供了一个可视化的监控界面。对于希望在嵌入式系统领域发展的人来说,本课程 may 对于他们了解监控方法有所裨益。
全栈工程师
全栈工程师负责开发Web应用程序的前端和后端,需要具备广泛的技能。虽然全栈工程师 的主要职责是开发应用程序,但也需要了解如何监控应用程序的性能和状态。全栈工程师 通过本课程学习 Prometheus 和 Grafana,可以构建一个基本的监控系统,了解应用程序的运行情况。PromQL 查询语言可以帮助全栈工程师 从监控数据中提取有用的信息,Grafana 仪表盘则提供了一个可视化的监控界面。通过学习 Telegraf,全栈工程师 可以收集各种类型的数据,并将其用于监控。对于想要从事全栈开发工作的人来说,本课程 may 对他们构建可维护的系统有所帮助。
技术支持工程师
技术支持工程师负责为客户提供技术支持,解决客户在使用产品或服务时遇到的问题。监控数据可以帮助技术支持工程师 快速定位问题,并提供有效的解决方案。技术支持工程师 通过本课程学习 Prometheus 和 Grafana,可以更好地了解监控数据,并利用这些数据来解决客户问题。PromQL 查询语言可以帮助他们从监控数据中提取有用的信息,Grafana 仪表盘则提供了一个可视化的数据分析界面。通过学习 Telegraf,技术支持工程师 可以了解如何收集各种类型的数据,并将其用于问题诊断。对于想要从事技术支持工作的人来说,本课程 may 帮助他们更好地利用监控数据,提升支持效率。

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Prometheus and Grafana for Monitoring and Alerting监控和报警系统.
本书深入探讨了 Prometheus 的架构、配置和使用。它涵盖了 PromQL 查询语言、Alerting 规则和 Exporter 的开发。本书是学习 Prometheus 的绝佳资源,可以帮助你更好地理解课程内容。本书既可以作为学习参考,也可以作为工具书。
本书是 Grafana 的入门指南,介绍了 Grafana 的基本概念、安装配置和使用方法。它涵盖了 Dashboard 的创建、Panel 的配置和数据源的连接。本书适合 Grafana 初学者阅读,可以帮助你快速上手 Grafana。本书可以作为学习参考。

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser