第 1 章 观察环境简介


启用可观察(observability)服务后,您可以使用 Red Hat Advanced Cluster Management for Kubernetes 深入了解受管集群并进行优化。这些信息可以帮助节约成本并防止不必要的事件发生。

1.1. 观察环境

您可以使用 Red Hat Advanced Cluster Management for Kubernetes 深入了解受管集群并进行优化。启用 observability 服务 operator(multicluster-observability-operator)以监控受管集群的健康状态。在以下部分了解多集群观察服务的架构。

Multicluster observability architecture

按需(on-demand)日志允许工程师实时访问指定 pod 的日志。hub 集群的日志不会被聚合。这些日志可以通过搜索服务以及控制台的其他部分进行访问。

1.1.1. 观察(Observability)服务

默认情况下,产品安装中包含了可观察性(observability)功能,但不启用它。由于对持久性存储的要求,observability 服务默认不会启用。Red Hat Advanced Cluster Management 支持以下 S3 兼容、稳定的对象存储:

  • Amazon S3

    :Thanos 中的对象存储接口支持兼容 AWS S3 restful API 的 API,或其他 S3 兼容对象存储,如 Minio 和 Ceph。

  • Google Cloud Storage
  • Azure 存储
  • Red Hat OpenShift Container Storage

    重要:当您配置对象存储时,请确保在敏感数据持久化时满足加密要求。如需支持的对象存储的完整列表,请参阅 Thanos 文档

启用该服务后,observability-endpoint-operator 会自动部署到每个导入或创建的集群中。此控制器从 Red Hat OpenShift Container Platform Prometheus 收集数据,然后将其发送到 Red Hat Advanced Cluster Management hub 集群。

如果 hub 集群将自身导入为 local-cluster,则也会启用可观察性,并从 hub 集群收集指标。

:在 Red Hat Advanced Cluster Management 中,只有 Red Hat OpenShift Container Platform 4.x 集群支持 metrics-collector

observability 服务部署了一个 Prometheus AlertManager 实例,它允许通过第三方应用程序转发警报。它还包括一个 Grafana 实例,通过仪表板(静态)或数据探索启用数据视觉化。Red Hat Advanced Cluster Management 支持 Grafana 的版本 7.4.2。您还可以设计自己的 Grafana 仪表板。如需更多信息,请参阅 设计 Grafana 仪表板

您可以通过创建自定义 记录规则警报规则来自定义可观察性服务。

有关启用可观察性的更多信息,请参阅启用可观察性服务

1.1.2. 指标类型

默认情况下,OpenShift Container Platform 使用 Telemetry 服务向红帽发送指标数据。以下附加指标包括在 Red Hat Advanced Cluster Management 中,它们包含在遥测(telemetry)中,但不会显示在 Red Hat Advanced Cluster Management Observe environments overview 仪表板中:

  • visual_web_terminal_sessions_total 在 hub 集群上收集。
  • acm_managed_cluster_info 在每个受管集群上收集并发送到 hub 集群。

从 OpenShift Container Platform 文档中了解使用遥测来收集并发送哪些指标类型。如需更多信息,请参阅 Telemetry 收集的信息

1.1.3. Observability pod 容量请求

Observability 组件需要 2701mCPU 和 11972Mi 内存来安装可观察性服务。下表是启用了 observability-addons 的五个受管集群的 pod 容量请求列表:

表 1.1. Observability pod 容量请求
Deployment 或 StatefulSet容器名称CPU(mCPU)内存(Mi)ReplicasPod 总计 CPUPod 内存总量

observability-alertmanager

alertmanager

4

200

3

12

600

config-reloader

4

25

3

12

75

alertmanager-proxy

1

20

3

3

60

observability-grafana

grafana

4

100

2

8

200

grafana-dashboard-loader

4

50

2

8

100

observability-observatorium-api

observatorium-api

20

128

2

40

256

observability-observatorium-operator

observatorium-operator

100

100

1

10

50

observability-rbac-query-proxy

rbac-query-proxy

20

100

2

40

200

oauth-proxy

1

20

2

2

40

observability-thanos-compact

thanos-compact

100

512

1

100

512

observability-thanos-query

thanos-query

300

1024

2

600

2048

observability-thanos-query-frontend

thanos-query-frontend

100

256

2

200

512

observability-thanos-query-frontend-memcached

memcached

45

128

3

135

384

exporter

5

50

3

15

150

observability-thanos-receive-controller

thanos-receive-controller

4

32

1

4

32

observability-thanos-receive-default

thanos-receive

300

512

3

900

1536

observability-thanos-rule

thanos-rule

50

512

3

150

1536

configmap-reloader

4

25

3

12

75

observability-thanos-store-memcached

memcached

45

128

3

135

384

exporter

5

50

3

15

150

observability-thanos-store-shard

thanos-store

100

1024

3

300

3072

1.1.4. Observability 服务中使用的持久性存储

安装 Red Hat Advanced Cluster Management 时,必须创建以下持久性卷(PV),以便 PVC 可以自动附加到 PVC。提醒,当没有指定默认存储类或想要使用非默认存储类来托管 PV 时,您必须在 MultiClusterObservability CR 中定义存储类。建议您使用 Block Storage,类似于 Prometheus 使用的内容。另外,alertmanagerthanos-compactorthanos-rulerthanos-receive-defaultthanos-store-shard 的每个副本必须具有自己的 PV。查看下表:

表 1.2. 持久性卷表列表

持久性卷名称

用途

alertmanager

Alertmanager 将 nflog 数据和静默的警报信息存储在它的存储中。nflog 是一个只能附加的日志,它包括当前有效的和已解决的日志,以及通知的接收者和用来识别内容的哈希摘要数据。

thanos-compact

紧凑器需要本地磁盘空间来存储用于处理的中间数据,以及 bucket 状态缓存。所需空间取决于基础块的大小。紧凑器必须有足够的空间下载所有源块,然后在磁盘上构建紧凑块。磁盘上的数据可以安全地在重新启动之间删除,并且应该是首次尝试使崩溃循环解压器。不过,建议为紧凑器永久磁盘提供压缩器持久磁盘,以便在重启期间高效地使用存储桶状态缓存。

thanos-rule

thanos 标尺通过以固定间隔发出查询来评估 Prometheus 记录和警报规则。规则结果以 Prometheus 2.0 存储格式写回磁盘。在这个有状态集合中保留的数据量在 API 版本 observability.open-cluster-management.io/v1beta1 中被修复。它在 observability.open-cluster-management.io/v1beta2: RetentionInLocal 中以一个 API 参数的形式公开

thanos-receive-default

Thanos 接收器接受传入数据(Prometheus 远程写入请求),并将这些数据写入 Prometheus TSDB 的一个本地实例。TSDB 块定期(每 2 小时)上传到对象存储,以进行长期存储和压缩。在这个有状态集合中保留的小时数或天数。有状态集合作为一个本地的缓存,它在 API 版本 observability.open-cluster-management.io/v1beta 中被修复。它在 observability.open-cluster-management.io/v1beta2: RetentionInLocal 中以一个 API 参数的形式公开

thanos-store-shard

它主要充当一个 API 网关,因此不需要大量的本地磁盘空间。它在启动时加入 Thanos 集群,并公告它可以访问的数据。它在本地磁盘上保留少量的、与所有远程块相关的信息,并与存储桶保持同步。这些数据通常在重启时会被安全地删除,这会增加启动时间。

注意 :时间序列历史数据存储在对象存储中。Thanos 使用对象存储作为指标和与其相关的元数据的主存储。有关对象存储和降级的详情,请参阅启用可观察性服务

1.1.5. 支持

Red Hat Advanced Cluster Management 使用 Red Hat OpenShift Container Storage 测试并被完全支持。

Red Hat Advanced Cluster Management 支持在用户提供的兼容 S3 API 的第三方对象存储中多集群可观察 Operator 的功能。

Red Hat Advanced Cluster Management 使用商业、合理的努力来帮助识别根本原因。

如果创建了相关的支持问题,且确定问题的根本原因是客户提供的兼容 S3 对象存储,则需要通过客户支持频道解决问题。

Red Hat Advanced Cluster Management 不会承诺修复客户提供的、问题的根本原因是 S3 兼容对象存储供应商的支持问题单。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.