第 1 章 集群监控
1.1. 关于集群监控
OpenShift Container Platform 包括一个预配置、预安装且自助更新的监控堆栈,它基于 Prometheus 开源项目及其更广的生态系统。它提供对集群组件的监控,并且包含一组警报(在发生任何问题时立即通知集群管理员)以及一组 Grafana 仪表板。集群监控堆栈只支持监控 OpenShift Container Platform 集群。
为确保与将来的 OpenShift Container Platform 更新兼容,只有特定的监控堆栈选项配置被支持。
1.1.1. 堆栈组件和受监控目标
监控堆栈包括以下组件:
组件 | 描述 |
---|---|
Cluster Monitoring Operator | OpenShift Container Platform Cluster Monitoring Operator (CMO) 是堆栈的核心组件。它控制部署的监控组件和资源,并确保它们始终处于最新状态。 |
Prometheus Operator | Prometheus Operator (PO) 可以创建、配置和管理 Prometheus 和 Alertmanager 实例。还能根据熟悉的 Kubernetes 标签查询来自动生成监控目标配置。 |
Prometheus | Prometheus 是监控堆栈所依据的系统与服务监控系统。 |
Prometheus Adapter | Prometheus Adapter 公开用于 Pod 横向自动扩展的集群资源指标 API。资源指标是指 CPU 与内存使用情况。 |
Alertmanager | Alertmanager 服务处理 Prometheus 发送的警报。 |
|
|
|
|
|
|
Thanos querier | Thanos Querier 可在单个多租户接口下启用聚合(Aggregating)以及可选的重复集群和用户工作负载指标。 |
Grafana | Grafana 分析平台提供用于分析和直观呈现指标的仪表板。由监控堆栈提供的 Grafana 实例及其仪表板是只读的。 |
监控堆栈的所有组件都由堆栈监控,并在 OpenShift Container Platform 更新时自动更新。
除了堆栈本身的组件外,监控堆栈还监控:
- CoreDNS
- Elasticsearch(如果安装了 Logging)
- etcd
- Fluentd(如果安装了 Logging)
- HAProxy
- 镜像 registry
- Kubelets
- Kubernetes apiserver
- Kubernetes 控制器管理器
- Kubernetes 调度程序
- Metering(如果安装了 Metering)
- OpenShift apiserver
- OpenShift 控制器管理器
- Operator Lifecycle Manager (OLM)
- Telemeter Client
每个 OpenShift Container Platform 组件负责自己的监控配置。对于组件监控的问题,请在 Bugzilla 中针对具体组件(而非常规的监控组件)创建一个程序错误报告。
其他 OpenShift Container Platform 框架组件也可能会公开指标。如需详细信息,请参阅相应的文档。