3.2. 配置 Prometheus 以监控 3scale


您必须使用 Prometheus 自定义资源部署和配置 Prometheus,以启用 3scale 的监控。

注意

确保正确设置了权限,如 Prometheus 文档 所述。

流程

  1. 根据您要监控集群中的所有资源还是仅 3scale 资源,按如下所示部署 Prometheus 自定义资源:

    • 要监控集群中的所有资源,请将 spec.podMonitorSelector 属性设置为 {},并将 spec.ruleSelector 属性设置为 {}。例如,应用以下自定义资源:

      apiVersion: monitoring.coreos.com/v1
      kind: Prometheus
      metadata:
        name: example
      spec:
        podMonitorSelector: {}
        ruleSelector: {}
    • 如果您在同一 OpenShift 项目中部署了 3scale 和 Prometheus operator,并假设 APP_LABEL 的值被设置为默认的 3scale-api-management,请按照以下步骤监控 3scale 资源:

      1. spec.podMonitorSelector 属性设置为:

         podMonitorSelector:
          matchExpressions:
          - key: app
              operator: In
              values:
              - 3scale-api-management
      2. spec.ruleSelector 属性设置为:

           matchExpressions:
           - key: app
             operator: In
             values:
             - 3scale-api-management

        例如,应用以下自定义资源:

        apiVersion: monitoring.coreos.com/v1
        kind: Prometheus
        metadata:
          name: example
        spec:
         podMonitorSelector:
          matchExpressions:
          - key: app
              operator: In
              values:
              - 3scale-api-management
         ruleSelector:
           matchExpressions:
           - key: app
             operator: In
             values:
             - 3scale-api-management
    • 如果您在不同的 OpenShift 项目中部署了 3scale 和 Prometheus operator,请按照以下步骤监控 3scale 资源:

      1. 为 OpenShift 项目添加标签,其中 3scale 使用 MYLABELKEY=MYLABELVALUE部署
      2. 使用 podMonitorNamespaceSelector 过滤器选择 3scale pod。例如,应用以下自定义资源:

        apiVersion: monitoring.coreos.com/v1
        kind: Prometheus
        metadata:
          name: example
        spec:
         podMonitorSelector: {}
         ruleSelector: {}
         podMonitorNamespaceSelector:
           matchExpressions:
           - key: MYLABELKEY
             operator: In
             values:
             - MYLABELVALUE
  2. 为确保仪表板和警报按预期工作,您必须执行以下操作之一来包含 Kubernetes 指标 (即 kube-state-metrics ):

    • 将 Prometheus 实例与集群默认 Prometheus 实例相结合。
    • 配置您自己的提取任务,以从 kubelet、etcd 和其它数据获取指标。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.