You need to enable JavaScript to run this app.
导航

接入托管 Prometheus

最近更新时间2024.02.28 20:04:51

首次发布时间2023.07.24 21:06:30

您可以使用火山引擎 托管 Prometheus 对容器服务集群进行监控。本文为您介绍容器服务接入托管 Prometheus 的流程和步骤。

接入流程

容器服务接入托管 Prometheus 的流程如下图所示。
alt

采集器说明

容器服务集群中为您提供了 Prometheus-agent 组件作为采集器,当您在集群中安装 Prometheus-agent 组件时,会同时安装 vm-agent、vmoperator、kube-state-metrics 和 node-exporter 组件。每个组件的名称、类型和作用如下表所示。

组件名称负载类型命名空间说明
vmagent-prometheus-agentStatefulSetkube-system采集器组件,采集集群内 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter、dcgm、ingress-nginx、p2p-accelerator 等暴露的指标。
prometheus-agent-vmoperatorDeploymentkube-systemvm-agent 控制组件。
prometheus-agent-kube-state-metricsStatefulSetkube-system提供 Kubernetes 资源信息指标数据。
prometheus-agent-node-exporterDaemonSetkube-system提供节点资源信息指标数据。

默认规格

Prometheus-agent 组件中的默认实例规格如下表所示。

组件名称CPU 请求值内存请求值CPU 上限值内存上限值
vmagent-prometheus-agent2 Core2 GiB4 Core4 GiB
prometheus-agent-vmoperator0.1 Core256 MiB0.2 Core1 GiB
prometheus-agent-kube-state-metrics0.2 Core512 MiB0.8 Core2 GiB
prometheus-agent-node-exporter0.05 Core128 MiB0.1 Core256 MiB

推荐规格

在容器服务集群中安装 prometheus-agent 组件时,组件的分片数和规格与集群规模相关,您可以基于集群规模,配置组件的初始(最小)分片数。

vm-agent 采集器和 kube-state-metrics 组件在不同规模集群中的推荐初始(最小)分片数如下表所示。

集群规模vm-agent 初始(最小)分片数kube-state-metrics 初始(最小)分片数
10 Node,500 Pod11
100 Node,5000 Pod22
200 Node,10000 Pod44
500 Node,25000 Pod1010

默认采集规则

默认情况下,Prometheus-agent 组件包含了面向 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter、dcgm、mgpu、ingress-nginx、p2p-accelerator、Nydus 的采集规则。

说明

Prometheus-agent 组件随着版本更新,默认采集规则可能发生变化,详情请参见 组件发布记录

前提条件

  • 注册火山引擎平台账号,并完成实名认证、充值账户、授权等准备工作,详情请参见 准备工作
  • 保证账号余额不低于 100 元(含代金券,且除去代金券后余额不为零),以确保能够正常创建按量计费类型的资源。
  • 已开通容器服务、托管 Prometheus 服务。
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 已创建集群,详情请参见 创建集群

注意

在容器服务集群中安装的 promethues-agent 组件与使用脚本安装的 VM Agent 采集器冲突,不能同时使用。安装组件前,请确认您的集群中没有使用脚本安装的 VM Agent 采集器。详情请参见 部署 VM Agent

配置步骤

步骤一:集群绑定工作区

  1. 登录 容器服务控制台
  2. 在顶部导航栏,选择您业务所在地域。
  3. 在左侧导航栏单击 集群,找到目标集群,单击集群名称。
  4. 在左侧导航栏单击 总览 页面,并选择 运维配置 页签。在配置页面中单击 进行配置 链接。
    alt
  5. 在弹出的配置框内,选择与集群绑定的托管 Prometheus 工作区。
    alt

    说明

    您也可以在创建集群时,绑定托管 Prometheus 工作区,详情请参见 创建集群

步骤二:部署采集器

  1. 左侧导航栏中,选择 组件管理
  2. 选择 监控 页签,找到 prometheus-agent 组件,选择该组件右上角的 ... > 安装
    alt
  3. 配置组件参数。
    • 配置组件资源需求。
      alt
      参数描述
      部署方式组件的部署方式。当前该参数已固定,不可配置。

      部署形态

      容器网络模型为 VPC-CNI 的集群显示该参数。部署组件的节点类型,有如下两种方式:

      • 云服务器部署:表示在集群中的云服务器节点(Node)上部署该组件。
      • 弹性容器部署:表示在集群中的弹性容器实例(VCI),即虚拟节点(VirtualNode)上部署该组件。在弹性容器实例上部署组件,会产生费用,详细的费用说明,请参见 弹性容器实例产品计费
      vm-agent 资源配置 vm-agent 采集器的默认资源配置,包括:CPU 请求、CPU 上限、内存请求、内存上限。

      kube-state-metrics 资源配置

      配置 kube-state-metrics 组件的默认资源配置,包括:CPU 请求、CPU 上限、内存请求、内存上限。

      说明

      由于 kube-state-metrics 组件本身存在的限制(例如:每个组件实例允许采集的 Target 数量有限),在大规模集群中,建议优先使用增加分片数的方式,提升 kube-state-metrics 组件的指标采集能力。

    • 配置组件的初始分片数和扩缩容。
      alt
      参数描述
      vm-agent 初始分片数配置 vm-agent 采集器的初始分片数。
      kube-state-metrics 初始分片数配置 kube-state-metrics 组件的初始分片数。

      组件扩缩容

      配置是否开启 vm-agent 采集器和 kube-state-metrics 组件的自动扩缩容功能。

      • 不开启:组件的分片数为配置的初始分片数。不会随着资源占用率的提升而自动扩容。
      • 开启:需要配置组件的最大分片数。组件会基于资源占用率自动扩缩容,具体逻辑如下:
        • vm-agent 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。
        • vm-agent 缩容:全部资源(CPU 和内存)使用率均 < 30% 时,自动缩容。
        • kube-state-metrics 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。
        • kube-state-metrics 缩容:全部资源(CPU 和内存)使用率均 < 70% 时,自动缩容。

      注意

      • vm-agent 扩缩容冷却时间为 30 分钟。kube-state-metrics 基于 HPA 进行扩缩容量。
      • 配置组件自动扩缩容功能后,请保证集群资源充足,否则可能由于资源不足,导致组件扩容失败。
      • vm-agent 采集器和 kube-state-metrics 组件扩容时,为保证均衡负载,建议配置 kube-state-metrics 组件的分片数为 vm-agent 采集器分片数的整数倍,例如:kube-state-metrics 组件分片数vm-agent 采集器分片数1:12:1 等。

      部署插件

      配置是否同步安装 node-exporter 插件,默认安装插件。该插件用于采集节点操作系统的各项软硬件指标;如果不安装,则无法监控节点指标。建议您保持默认值。

      说明

      node-exporter 插件以 Daemonset 方式部署。因此,当您在弹性容器实例 VCI 场景中安装时,该插件会被部署在 ECS 节点上。更多信息,请参见 VCI 使用限制

      注意

      • 当 Prometheus-agent 组件为 v2.0.1 及以前 版本时,您还需要配置组件的托管 Prometheus 工作区,并配置工作区的认证用户名和密码。
      • 当您配置组件的工作区时,需要保证配置的工作区与集群绑定的工作区一致。否则将无法在 Prometheus 监控 页面中,查看集群监控的指标和大盘。
  4. 单击 确定,完成配置。

步骤三:配置采集规则(可选)

默认情况下,Prometheus-agent 组件仅开启了面向 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter 的采集规则。您可以根据实际需求,开启或关闭其他的指标采集规则、选择具体的指标项以及配置采集间隔。详情请参见 采集规则

步骤四:配置服务发现(可选)

除了采集器默认的采集规则外,如果您想要采集自定义 Target 的指标,支持通过 ServiceMonitor、PodMonitor 或 Service/Pod annotation 配置服务发现,来满足您采集自定义 Target 的指标需求。详情请参见 服务发现

查看信息

指标

您可以使用托管 Prometheus 的 Explore 功能来快速查询和展示指标数据。详情请参见 指标查询

大盘

您可以通过以下方法,查看容器服务集群的指标大盘:

告警

您可以通过以下方法,配置容器服务集群的告警:

  • 使用预置告警模版,一键开启集群告警能力,并快速配置告警规则。
  • 在托管 Prometheus 的告警中心,配置集群相关告警。详情请参见 创建告警规则