You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MicroK8s Observability插件问题:如何添加Prometheus新采集目标?

解决MicroK8s Observability插件中Prometheus添加采集目标的问题

在MicroK8s v1.29.0的Observability插件中,Prometheus配置并非以传统的prometheus.yaml ConfigMap形式存在,而是通过Prometheus Operator结合自定义资源(CRD)动态管理,以下是具体操作步骤:

1. 确认Prometheus Operator与实例状态

先检查Observability命名空间下的Prometheus相关资源:

# 查看Prometheus实例
kubectl get prometheus -n observability
# 查看Prometheus Operator Pod
kubectl get pods -n observability | grep operator

2. 通过ServiceMonitor添加采集目标(推荐方式)

Prometheus Operator会自动根据ServiceMonitor或PodMonitor资源生成采集配置,无需手动修改配置文件。

示例:创建ServiceMonitor监控自定义服务

假设你的目标服务标签为app: my-app,暴露了8080端口的/metrics端点:

  1. 创建my-app-servicemonitor.yaml文件:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: my-app-monitor
  namespace: observability
  labels:
    release: observability  # 需与Prometheus实例的serviceMonitorSelector标签匹配
spec:
  selector:
    matchLabels:
      app: my-app  # 匹配你的服务标签
  endpoints:
  - port: web  # 服务的端口名称(或直接写端口号如8080)
    path: /metrics
    interval: 30s  # 采集间隔
  1. 应用该资源:
kubectl apply -f my-app-servicemonitor.yaml

验证标签匹配

确保ServiceMonitor的标签与Prometheus实例的选择器一致,查看Prometheus实例的选择器:

kubectl get prometheus observability-k8s -n observability -o yaml | grep -A 6 serviceMonitorSelector

3. (不推荐)直接查看/修改Prometheus配置文件

如果必须直接操作配置文件,可通过以下步骤:

  1. 找到Prometheus Pod名称:
kubectl get pods -n observability | grep prometheus
  1. 查看Pod的挂载卷信息,找到配置来源:
kubectl describe pod <prometheus-pod-name> -n observability | grep -A 10 Volumes
  1. 若配置存储在Secret中,解码查看:
kubectl get secret <secret-name> -n observability -o jsonpath='{.data.prometheus\.yaml}' | base64 -d

注意:直接修改配置会被Prometheus Operator覆盖,重启后失效,仅用于临时调试。

内容的提问来源于stack exchange,提问作者Naveen Bhatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:12:20