最近更新时间:2024.03.28 19:34:16
首次发布时间:2023.09.27 10:43:53
托管 Prometheus 支持通过多种方式实现云产品的监控,满足用户对云上基础资源、云产品、自定义业务的统一监控。本文为您介绍如何使用托管 Prometheus 实现云产品监控。
说明
该功能为云监控产品的 公测 功能,暂时免费使用。如需使用该功能,请先开通云监控产品的按量计费,然后联系您的解决方案工程师。
云监控是火山引擎云上一站式监控告警解决方案。可以帮助您收集并可视化展示火山引擎上多种类型云产品的资源状态和监控信息,包括:云服务器、集群、网关、专线连接、云存储等。详情请参见 什么是云监控。
您可以通过云监控提供的数据导出 exporter,将云监控上的云产品监控数据实时导出到托管 Prometheus,与您集群中的业务监控数据进行汇聚,实现业务数据和基础资源数据的统一监控。同时,还可以借助托管 Prometheus 与 Grafana 的天然兼容性,使用 Grafana 搭建业务相关的大盘。
注意
目前仅支持导出部分云产品的监控数据,详情请参见 云监控文档。
云监控产品导出的数据中,指标名称由Namespace
、SubNamespace
、MetricName
组成,其中:
Namespace
表示云产品。各云产品的Namespace
请参见 云产品监控指标。SubNamespace
表示云产品下的指标细分分类。MetricName
表示指标名。说明
例如,当您导出云服务器(ECS)指标时,Namespace
为VCM_ECS
,SubNamespace
为GPU
,MetricName
为GpuTemperature
导出的指标名为GpuTemperature_GPU_VCM_ECS
。
部分云产品提供了自身监控的 exporter 和指标集,但这些云产品的指标及看板散落在各自的控制台。为了能将这些数据进行统一采集和展示,托管 Prometheus 支持通过部署 exporter 并接入的方式,提供更加便捷、一致的日常运维监控能力。
GetMetricData
接口,该接口的单请求最多支持批量拉取 10 个实例的监控数据,单请求的数据点数限制为 1440 个。如果您需要调用的指标和对象较多,可能会因为限频导致拉取失败,建议尽量将请求按照时间维度均摊。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 的更多配置和异常排查方案,请参见 云监控文档。
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 配置信息
注意
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
CPUUser_Instance_VCM_ECS
)查询,确认是否能够正确查询到对应的指标。说明
MetricName_SubNamespace_Namespace
,例如CPUUser_Instance_VCM_ECS
。不同云服务产品的指标详情,请参见 云产品监控指标。ResourceID
字段,对资源进行细粒度筛选,查看具体资源的监控信息。部分云产品提供了自监控 exporter,您可以在云服务器实例中部署该 exporter,并接入托管 Prometheus,实现产品指标的统一采集和展示。以 veImageX 产品为例,请参见 监控 veImageX 云服务。