Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准,几乎所有 Kubernetes 的核心组件以及其它云原生系统都以 Prometheus 的指标格式输出自己的运行时监控信息。
我在工作中也比较深入地使用过 Prometheus,最大的感受就是它非常容易维护,突出一个简单省心成本低。
今天给大家分享一份Prometheus的实战学习教程。如果你对 Prometheus监控体系或还不太了解,建议收藏学习起来。
目录
- 监控系统基础概念
- Prometheus快速入门
- 部署及运行Prometheus
- 使用Exporters进行节点及应用监控
- PromQL基础
- PromQL进阶
- 服务发现
- 查询持久化及可视化
- Alertmanager与告警规则
- Prometheus Server高可用
- Alertmanager高可用
监控系统基础概念
监控系统功能组件
- 指标数据采集(抓取)
- 指标数据存储
- 指标数据趋势分析及可视化
- 告警
Prometheus快速入门
首先,Prometheus是一款时序(time series)数据库;但它的功能却并非止步于 TSDB,而是一款设计用于进行目标(Target)监控的关键组件
Prometheus架构及组件
Prometheus Server内置了一个基于文件的时间序列存储来持久存储指标数据,用户可使用 PromDash或PromQL接口来检索数据,也能够按需将告警需求发往Alertmanager完成告警内容发送
使用Exporters进行节点及应用监控
Exporter独立运行于要获取其测量指标的应用程序之外,负责接收来自于 Prometheus Server的指标获取请求,它通过目标应用程序(真正的目标)内置的指标接口获取指标数据,并将这些指标数据转换为合用的目标格式后响应给 Prometheus
PromQL基础
PromQL时间序列
- 数据类型
- 时间序列
- 指标
时间序列选择器
- 及时向量选择器
- 范围向量选择器
Prometheus指标类型
- Counter
- Gauge
- Hostogram
- Summary
PromQL进阶
即时向量间的运算是PromQL的特色之一;运算时,PromQL为会左侧向量中的每个元素找到匹配的元素,其匹配行为有两种基本类型