1.2. 了解监控堆栈


OpenShift Dedicated 监控堆栈基于 Prometheus 开源项目及其更广泛的生态系统。监控堆栈包括以下组件:

  • 默认平台监控组件。在 OpenShift Dedicated 安装过程中,默认会在 openshift-monitoring 项目中安装一组平台监控组件。Red Hat Site Reliability Engineers (SRE) 使用这些组件来监控核心集群组件,包括 Kubernetes 服务。这包括关键指标,如 CPU 和内存,从每个命名空间中的所有工作负载收集。

    下图中的默认安装部分说明了这些组件。

  • 用于监控用户定义项目的组件。在 OpenShift Dedicated 安装过程中,默认会在 openshift-user-workload-monitoring 项目中安装一组用户定义的项目监控组件。您可以使用这些组件来监控用户定义的项目中的服务和 Pod。下图中的用户部分说明了这些组件。

OpenShift Dedicated monitoring architecture

1.2.1. 默认监控目标

以下是 OpenShift Dedicated 集群中由 Red Hat Site Reliability engineerss (SRE)监控的目标示例:

  • CoreDNS
  • etcd
  • HAProxy
  • 镜像 registry
  • Kubelets
  • Kubernetes API 服务器
  • Kubernetes 控制器管理器
  • Kubernetes 调度程序
  • OpenShift API 服务器
  • OpenShift Controller Manager
  • Operator Lifecycle Manager (OLM)
注意

具体目标列表可能会因集群功能和安装的组件而异。

1.2.2. 用于监控用户定义的项目的组件

OpenShift Dedicated 包括对监控堆栈的可选增强,供您用于监控用户定义的项目中的服务和 Pod。此功能包括以下组件:

表 1.1. 用于监控用户定义的项目的组件
组件描述

Prometheus Operator

openshift-user-workload-monitoring 项目中的 Prometheus Operator (PO) 在同一项目中创建、配置和管理 Prometheus 和 Thanos Ruler 实例。

Prometheus

Prometheus 是为用户定义的项目提供监控的监控系统。Prometheus 将警报发送到 Alertmanager 进行处理。

Thanos Ruler

Thanos Ruler 是 Prometheus 的一个规则评估引擎,作为一个独立的进程来部署。在 OpenShift Dedicated 中,Thanos Ruler 为监控用户定义的项目提供规则和警报评估。

Alertmanager

Alertmanager 服务处理从 Prometheus 和 Thanos Ruler 接收的警报。Alertmanager 还负责将用户定义的警报发送到外部通知系统。部署该服务是可选的。

所有这些组件都由堆栈监控,并在 OpenShift Dedicated 更新时自动更新。

1.2.3. 用户定义的项目的监控目标

OpenShift Dedicated 用户定义的项目默认启用监控。您可以监控:

  • 通过用户定义的项目中的服务端点提供的指标。
  • 在用户定义的项目中运行的 Pod。

1.2.4. 了解高可用性集群中的监控堆栈

默认情况下,在多节点集群中,以下组件以高可用性(HA)模式运行,以防止数据丢失和服务中断:

  • Prometheus
  • Alertmanager
  • Thanos Ruler

组件在两个 pod 之间复制,每个 pod 在单独的节点上运行。这意味着监控堆栈可以容忍一个 pod 的丢失。

Prometheus 处于 HA 模式
  • 这两个副本都独立提取同一目标并评估相同的规则。
  • 副本不会相互通信。因此,数据在 pod 之间可能会有所不同。
处于 HA 模式的 Alertmanager
  • 这两个副本将通知和静默状态相互同步。这样可确保每个通知至少发送一次。
  • 如果副本无法通信,或者接收端有问题,则通知仍然会被发送,但可能会重复。
重要

Prometheus、Alertmanager 和 Thanos Ruler 是有状态组件。为确保高可用性,您必须使用持久性存储进行配置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.