一、初识Prometheus
二、主要功能
2.1、Prometheus Server
Prometheus Server 是 Prometheus 监控系统的核心组件,负责收集、存储和提供时间序列数据
通过 HTTP 协议周期性地从配置的目标 (如服务器、服务和其他 Prometheus 兼容的系统)拉取指标数据,并将这些数据存储在本地的时间序列数据库中
2.2、Time-Series Database (TSDB)
2.3、Prometheus Exporters
2.4、Prometheus Service Discovery
2.5、Alertmanager
三、基于 Consul 自动发现的实现
四、kube-state-metrics
五、metrics-server
工作原理: metrics-server 监听来自 Kubernetes API 服务器的资源变化。当有新的资源被创建或者现有资源的属性发生变化时,metrics-server 会收集这些资源的状态信息,并将其转换为 Prometheus metrics。这些 metrics会被暴露给 Prometheus 服务器,以便进行监控。
六、HPA 的工作原理是什么? 请描述其自动伸缩的过程
工作原理: 根据当前资源使用的情况自动调整 Kubernetes 集群中 Pod的数量,以满足应用程序的需求,从而实现自动伸缩。
HPA 的自动伸缩过程如下:
1,自动伸缩决策: HPA 使用 Metrics Server 获取系统级指标数据和 Prometheus 获取自定义指标数据。它根据指标值和闯值的比较,HPA使用内置的伸缩算法 (例如线性回归、指数平滑等)来决策是否进行伸缩操作。
2.更新 Pod 副本数量: 根据伸缩决策,HPA 会自动更新指定的 Deployment、 ReplicaSet 或Replicationontroller 中的副本数量。如果需要扩展副本数量以满足负载需求,它将增加副本数量,如果需要收缩副本数量以节省资源,它将减少副本数量。
七、如何配置 silence 规则以临时屏蔽或禁止特定警报的发送?
八、Prometheus Operator
8.1、架构 & 工作原理
8.2、Prometheus-Operator 有哪些CRD资源对象?
8.3、配置间的匹配总结 (重点)
8.4、配置更新生效流程
九、基于 Prometheusoperator 的解决方案
9.1、定义一个 测试应用
9.2、声明一个 ServiceMonitor 对象抓取指定的对象
9.3、关联 Promethues 与 ServiceMonitor
9.4、关联 Promethues 与 PrometheusRule
9.5、关联 Promethues 与 Alertmanager
总结