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

导出云监控数据到托管 Prometheus

最近更新时间2024.03.01 11:23:14

首次发布时间2023.09.27 10:43:53

云监控产品提供数据导出 exporter,允许您将云监控中的云产品监控数据实时导出到托管 Prometheus。本文为您介绍如何配置将云监控的数据导出到托管 Prometheus。

说明

该功能为云监控产品的 公测 功能,暂时免费使用。如需使用该功能,请先开通云监控产品的按量计费,然后联系您的解决方案工程师。

背景信息

云监控是火山引擎云上一站式监控告警解决方案。可以帮助您收集并可视化展示火山引擎上多种类型云产品的资源状态和监控信息,包括:云服务器、集群、网关、专线连接、云存储等。详情请参见 什么是云监控

您可以通过云监控提供的数据导出 exporter,将云监控上的云产品监控数据实时导出到托管 Prometheus,与您集群中的业务监控数据进行汇聚,实现业务数据和基础资源数据的统一监控。同时,还可以借助托管 Prometheus 与 Grafana 的天然兼容性,使用 Grafana 搭建业务相关的大盘。
alt

注意

目前仅支持导出部分云产品的监控数据,详情请参见 云监控文档

云监控产品导出的数据中,指标名称由NamespaceSubNamespaceMetricName组成,其中:

  • Namespace表示云产品。各云产品的Namespace请参见 云产品监控指标
  • SubNamespace表示云产品下的指标细分分类。
  • MetricName表示指标名。

说明

例如,当您导出云服务器(ECS)指标时,NamespaceVCM_ECSSubNamespaceGPUMetricNameGpuTemperature导出的指标名为GpuTemperature_GPU_VCM_ECS

前提条件

  • 已注册并开通火山引擎容器服务(VKE)和云监控。
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 容器服务集群已接入托管 Prometheus,详情请参见 容器服务接入
  • 已在集群中创建 PodMonitor CRD 资源,详情请参见 创建 PodMonitor CRD 资源

使用限制

  • 安装 exporter 需要使用您账号的 AK、SK,请提前获取。详情请参见 访问密钥使用指南
  • 由于 exporter 使用云监控的 OpenAPI 获取监控数据。因此,请求 OpenAPI 会占用接口限额,超限之后获取指标会被限制。
  • 通过 exporter 导出数据依赖云监控的GetMetricData接口,该接口的单请求最多支持批量拉取 10 个实例的监控数据,单请求的数据点数限制为 1440 个。如果您需要调用的指标和对象较多,可能会因为限频导致拉取失败,建议尽量将请求按照时间维度均摊。

配置步骤

步骤一:使用 ConfigMap 配置 exporter

  1. 登录 容器服务控制台
  2. 单击左侧导航栏中的 集群
  3. 在集群列表页面,单击需要配置的目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 配置管理 > 配置项,单击 使用 Yaml 创建,创建配置项。
apiVersion: v1
kind: ConfigMap
metadata:
  name: cloud-monitor-exporter-conf
  namespace: volcano-metrics
data:
  conf.yaml: |
    Region: 'cn-beijing' # 配置云监控产品的 region,例如 cn-beijing
    Credentials:
      AccessKey: 'AKLTMW***' # 填写您火山引擎账号的 AK,该账号需要拥有云服务的 CloudMonitorFullAccess 或 CloudMonitorReadOnlyAccess 权限
      SecretKey: 'TkdabU5***' # 填写您火山引擎账号的 SK。
    DelaySeconds: 120 # 指标延迟,单位为 s,默认 120s,最大 300s
    DataConcurrency: 2 # 查询指标的并发度 默认为 1,最大 5
    DataQueueSize: 100 # 查询排队的队列长度,默认 0, 最大 10000
    MetaFreshIntervalSeconds: 120 # 元信息刷新间隔,单位为 s,默认刷新间隔 30s,最小 30s
    DataFreshIntervalSeconds: 30 # 指标数据刷新间隔,单位为 s,默认刷新间隔 30s,最小 30s
    MaxRetries: 2 # 请求失败重试次数,默认为 1,最大值为 3
    Limiter:
      LimitQPSGetMetricData: 5 # 查询云监控 GetMetricData 接口的 QPS 上限,最大值为 9
      LimitQPSMonitorObjectList: 5 # 查询云监控 ListMonitorObjects 接口的 QPS 上限,最大值为 9
    Namespaces: # 配置需要导出监控信息的云产品,详情请参见“背景说明”。建议按需选择,可能影响性能
      - 'VCM_ECS' # 需要导出的云产品 1
      - 'VCM_CLB' # 需要导出的云产品 2

说明

云监控数据导出 exporter 的更多配置和异常排查方案,请参见 云监控文档

步骤二:部署 exporter

  1. 在左侧菜单栏中选择 工作负载 > 无状态负载
  2. 单击 使用 Yaml 创建 ,部署 exporter。
apiVersion: apps/v1
kind: Deployment
metadata:
  name: volc-cloud-monitor-exporter # 配置 exporter 的名称
  namespace: volcano-metrics # 配置 exporter 的命名空间
spec:
  replicas: 1
  selector:
    matchLabels:
      app: volc-cloud-monitor-exporter
  template:
    metadata:
      labels:
        app: volc-cloud-monitor-exporter
    spec:
      containers:
      - name: volc-cloud-monitor-exporter
        image: cloud-monitor-cn-beijing.cr.volces.com/cm/cloud-monitor-exporter:1.0.16.1 # 配置 exporter 镜像的地址和版本
        args:
          - "--config=/conf/conf.yaml"
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 9988 # 配置容器端口号
          name: metric-port # 配置容器端口名称
        volumeMounts:
          - name: conf
            mountPath: /conf
      volumes:
        - name: conf
          configMap:
            name: cloud-monitor-exporter-conf # 使用 ConfigMap 指定 exporter 配置信息

步骤三:配置服务发现

  1. 在左侧菜单栏中选择 工作负载 > 对象浏览器
  2. 单击 使用 Yaml 创建 ,通过 PodMonitor 配置服务发现。
    • 类型 下拉菜单中选择 自定义
    • Yaml 配置框内输入 Yaml 配置。
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: volc-cloud-discover # 配置 PodMonitor 的名称
  namespace: volcano-metrics # 配置 PodMonitor 的命名空间
  labels: 
    volcengine.vmp: "true" # 配置 PodMonitor 的标签,允许被 Prometheus-agent 发现
spec:
  podMetricsEndpoints:
  - interval: 60s # 配置采集时间间隔
    port: metric-port # 填写 exporter 的容器端口名称
    path: /metrics # 填写指标暴露的 URI 路径,不填默认为 /metrics
  namespaceSelector:
    matchNames: 
    - volcano-metrics # 配置为 exporter 所在的命名空间
  selector: 
    matchLabels:
      app: volc-cloud-monitor-exporter # 配置 exporter 的 Label 值,以定位和选择目标 Pod

结果验证

  1. 登录 VMP 服务控制台
  2. 在顶部导航栏,选择目标地域。
  3. 单击左侧导航栏的 Explore,进入 Explore 页面。
  4. 在右上角的配置项中,配置需要查询指标的 工作区,并在 指标检索 文本框内,使用云监控的指标(例如CPUUser_Instance_VCM_ECS)查询,确认是否能够正确查询到对应的指标。
    alt

    说明

    • 云监控导出指标的名称格式为MetricName_SubNamespace_Namespace,例如CPUUser_Instance_VCM_ECS。不同云服务产品的指标详情,请参见 云产品监控指标
    • 您可以使用ResourceID字段,对资源进行细粒度筛选,查看具体资源的监控信息。
    • 如果您需要使用 Grafana 构建监控大盘,可以将托管 Prometheus 的数据接入自建 Grafana。详情请参见 将托管 Prometheus 数据接入自建 Grafana

相关文档