应用监控 eBPF 版已对接Prometheus,并支持通过Grafana大盘展示应用监控 eBPF 版监控数据。本文以可观测监控 Prometheus 版为例介绍如何将应用监控 eBPF 版监控指标导入指定Prometheus实例。
前提条件
Kubernetes集群已接入可观测监控 Prometheus 版。具体操作,请参见Prometheus实例 for 容器服务。
已将应用接入应用监控 eBPF 版。具体操作,请参见一键接入应用至应用监控 eBPF 版。
步骤一:获取Prometheus的Push Gateway地址
登录ARMS控制台。
在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
单击目标Prometheus实例名称。
在左侧导航栏单击设置,然后在设置页签的Push Gateway 地址区域获取公网的URL地址。
重要可观测监控 Prometheus 版控制台提供的Pushgateway地址是配合开源SDK使用的。在您使用开源SDK时,填入从Prometheus监控控制台上获取的Pushgateway地址后,系统会自动补齐类似
/metrics/job/<JOB_NAME>{/<LABEL_NAME>/<LABEL_VALUE>}
的后缀,若您使用的不是开源SDK,那么需要您自行拼接后缀,否则会报404错误。
步骤二:修改集群配置项
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在页面顶部选择命名空间为arms-prom,然后单击otel-collector-config右侧的编辑YAML。
将以下内容添加到exporters下,并将
copy-prom-endpoint
替换为步骤一中获取的Push Gateway地址。说明如果Prometheus和Kubernetes集群在同一个VPC内,可以使用内网地址,否则请使用公网地址。
prometheusremotewrite/copy-prom: retry_on_failure: enabled: true initial_interval: 10s max_interval: 60s max_elapsed_time: 120s endpoint: copy-prom-endpoint/write tls: insecure: true write_buffer_size: 10240 headers: Prometheus-Remote-Write-Version: "0.1.0" X-Scope-OrgID: 234 resource_to_telemetry_conversion: enabled: false remote_write_queue: queue_size: 200000 num_consumers: 100 timeout: 120s
在service层级下修改metrics/cmonitor-to-prometheus的exporters参数。
# 新增一条pipeline metrics/cmonitor-to-prometheus-copy: receivers: [ otlp/cmonitor ] # processors: [ aliyunk8sattributes/prometheus ,aliyun_mysql] exporters: [prometheusremotewrite/copy-prom ]
单击确定。
在arms-prom命名空间下重启Pod。
重启后即可在新的Prometheus数据中找到应用监控 eBPF 版导入的数据。
重要重启过程会导致数据短暂丢失。