4.3. 为用户工作负载监控存储和记录数据


存储和记录您的指标和警报数据,配置日志以指定记录哪些活动,控制 Prometheus 保留数据的时长,并为数据设置最大磁盘空间量。这些操作可帮助您保护数据并将其用于故障排除。

4.3.1. 配置持久性存储

使用持久性存储运行集群监控以获取以下优点:

  • 通过将指标和警报数据存储在持久性卷(PV)中来保护您的指标和警报数据。因此,它们可以在 pod 重启或重新创建后保留。
  • 避免获取重复的通知,并在 Alertmanager pod 重启时丢失警报静默。
重要

在多节点集群中,您必须为 Prometheus、Alertmanager 和 Thanos Ruler 配置持久性存储,以确保高可用性。

注意

在生产环境中,强烈建议配置持久性存储。

4.3.1.1. 持久性存储的先决条件

  • 使用块存储类型。

4.3.1.2. 配置持久性卷声明

要将持久性卷 (PV) 用于监控组件,您必须配置持久性卷声明 (PVC)。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户访问集群,也可以使用在 openshift-user-workload-monitoring 项目中具有 user-workload-monitoring-config-edit 角色的用户访问集群。
  • 集群管理员为用户定义的项目启用了监控。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 编辑 openshift-user-workload-monitoring 项目中的 user-workload-monitoring-config 配置映射:

    $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
  2. 将组件的 PVC 配置添加到 data/config.yaml 下:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        <component>: 
    1
    
          volumeClaimTemplate:
            spec:
              storageClassName: <storage_class> 
    2
    
              resources:
                requests:
                  storage: <amount_of_storage> 
    3
    1
    指定要配置 PVC 的监控组件。
    2
    指定现有存储类。如果没有指定存储类,则使用默认存储类。
    3
    指定所需的存储量。

    以下示例配置了一个 PVC 来声明用于 Thanos Ruler 的持久性存储:

    PVC 配置示例

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        thanosRuler:
          volumeClaimTemplate:
            spec:
              storageClassName: my-storage-class
              resources:
                requests:
                  storage: 10Gi

    注意

    thanosRuler 组件的存储要求取决于要评估的规则数量以及每个规则生成的样本数量。

  3. 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署并应用新的存储配置。

    警告

    当您使用 PVC 配置更新配置映射时,受影响的 StatefulSet 对象会被重新创建,从而导致临时服务中断。

4.3.1.3. 重新定义持久性卷大小

您可以为 Prometheus、Thanos Ruler 和 Alertmanager 实例重新定义持久性卷(PV)大小。您需要手动扩展持久性卷声明 (PVC),然后更新配置组件的配置映射。

重要

您只能扩展 PVC 的大小。无法缩小存储大小。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户访问集群,也可以使用在 openshift-user-workload-monitoring 项目中具有 user-workload-monitoring-config-edit 角色的用户访问集群。
  • 集群管理员为用户定义的项目启用了监控。
  • 至少有一个 PVC 用于监控用户定义的项目的组件。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 使用更新的存储请求手动扩展 PVC。如需更多信息,请参阅 扩展持久性卷 中的"使用文件系统扩展持久性卷声明 (PVC) "。
  2. 编辑 openshift-user-workload-monitoring 项目中的 user-workload-monitoring-config 配置映射:

    $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
  3. data/config.yaml 下为组件添加新存储大小:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        <component>: 
    1
    
          volumeClaimTemplate:
            spec:
              resources:
                requests:
                  storage: <amount_of_storage> 
    2
    1
    要更改存储大小的组件。
    2
    指定存储卷的新大小。它必须大于上一个值。

    以下示例将 Thanos Ruler 的新 PVC 请求设置为 20GB:

    thanosRuler 的存储配置示例

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        thanosRuler:
          volumeClaimTemplate:
            spec:
              resources:
                requests:
                  storage: 20Gi

    注意

    thanosRuler 组件的存储要求取决于要评估的规则数量以及每个规则生成的样本数量。

  4. 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署。

    警告

    当您使用新存储大小更新配置映射时,受影响的 StatefulSet 对象会被重新创建,从而导致临时服务中断。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部