当前位置: 首页 > news >正文

Prometheus 配置服务发现 Kubernetes SD_configs 参数怎么设置?

在 Kubernetes 环境中,最推荐直接在 prometheus.yml 中使用 kubernetes_sd_configs 块,配合正确的 RBAC 权限让 Prometheus 自动发现目标,而不是手动维护静态列表。

先说结论:这是 K8s 环境下标准的服务发现方式,配置正确后能自动感知 Pod 和服务变化。

  • 适合:运行在 Kubernetes 集群内部或能访问 API Server 的 Prometheus 实例
  • 先准备:必须配置 ServiceAccount 及对应的 ClusterRole 权限,否则会出现 403 错误
  • 验收:在 Prometheus UI 的 Targets 页面看到状态为 UP 的目标,且日志无权限报错

前置准备:RBAC 权限配置

Prometheus 需要访问 K8s API Server 来监听资源变化。如果权限不足,服务发现将无法工作。以下是最小权限的 RBAC 配置示例,请保存为 rbac.yaml

apiVersion: v1
kind: ServiceAccount
metadata:name: prometheusnamespace: monitoring
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: prometheus
rules:- apiGroups: [""]resources: ["nodes", "nodes/proxy", "services", "endpoints", "pods"]verbs: ["get", "list", "watch"]- apiGroups: ["extensions", "networking.k8s.io"]resources: ["ingresses"]verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: prometheus
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: prometheus
subjects:- kind: ServiceAccountname: prometheusnamespace: monitoring

应用配置命令:

kubectl apply -f rbac.yaml

配置文件编写

在 prometheus.yml 的 scrape_configs 下添加 kubernetes_sd_configs。注意 role 字段位于配置项层级,selectors 用于进一步过滤。

scrape_configs:- job_name: 'kubernetes-pods'kubernetes_sd_configs:- role: podselectors:- role: podlabel: app=myapprelabel_configs:- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]action: keepregex: true- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]action: replacetarget_label: __metrics_path__regex: (.+)

关键参数说明:

  • role: 指定发现的对象类型,常用值包括 pod, service, endpoints, node。
  • selectors: 可选,用于缩小发现范围,避免抓取过多目标。
  • relabel_configs: 用于过滤目标或修改标签,上述示例仅抓取带有特定 annotation 的 Pod。

配置生效与热加载

修改配置后,需要让 Prometheus 重新加载。根据部署方式不同,有以下两种方法:

方法 1:ConfigMap 更新 + 重启(推荐)

如果 Prometheus 配置存储在 ConfigMap 中,更新后滚动重启 Deployment:

kubectl apply -f prometheus-configmap.yaml
kubectl rollout restart deployment/prometheus -n monitoring

方法 2:调用 reload 接口(需开启)

如果启动参数中添加了 `--web`.enable-lifecycle,可发送信号热加载:

kubectl exec -it prometheus-pod-name -n monitoring -- kill -HUP 1
# 或者
curl -X POST http://localhost:9090/-/reload

验证方法

1. UI 界面检查

登录 Prometheus Web UI,访问 /targets 页面。查看对应 job 的状态是否为 UP,以及 Endpoint 列表是否包含预期的 Pod IP。

2. API 查询

使用 curl 命令直接查询目标状态:

curl http://<prometheus-url>/api/v1/targets | jq '.data.activeTargets[].labels.job'

3. 日志排查

查看 Prometheus 日志,确认没有权限错误或连接超时:

kubectl logs -l app=prometheus -n monitoring `--tail`=100

常见坑与排查

1. 权限不足(403 Forbidden)

日志中出现 user "system:serviceaccount:monitoring:prometheus" cannot list resource "pods"。检查 ClusterRoleBinding 是否正确绑定了 ServiceAccount,以及 Namespace 是否匹配。

2. 网络不通

Prometheus 无法连接 API Server。检查集群内 DNS 解析(nslookup kubernetes.default)或防火墙规则。如果在集群外运行,需正确配置 kubeconfig 路径。

3. 重标签误删目标

relabel_configs 配置不当可能导致所有目标被 drop。建议先注释掉过滤规则,确认能发现目标后再逐步添加过滤条件。

4. 配置语法错误

Prometheus 启动失败通常伴随配置解析错误。使用官方工具验证配置:

promtool check config prometheus.yml

参考来源

  • Prometheus Official Documentation, Configuration configuration, https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

原文链接:https://www.zjcp.cc/ask/11420.html

http://www.rkmt.cn/news/1307116.html

相关文章:

  • 长沙竹光心理咨询-用爱守护青少年健康成长 - 资讯焦点
  • 2026稳压器厂家推荐,大功率稳压器,无触点稳压电源,补偿式稳压器,隧道稳压器厂家优选指南! - 品牌鉴赏师
  • 2026 苏州押车典当行排行榜|全市可上门收车,正规持牌极速放款 - 资讯焦点
  • Oracle数据库控制文件的概述
  • 数据人别再海投了:先看懂岗位到底想买什么
  • 同德会持续推进乡村儿童帮扶行动,传递公益温暖 - 资讯焦点
  • 2026年成都GEO外包亲身体验,到底哪家实力能满足需求? 成都GEO公司/成都AI搜索/成都GEO - 品牌推荐官方
  • 2026年新疆研学包车旅行社排名榜,哪家才是你的最佳之选?跟团游/自驾游/四川包车旅行社/四川自驾旅行社 - 品牌推荐官方
  • 秦皇岛 CPPM 注册采购经理授权中心及电话|秦皇岛官方 CPPM 报考中心 - 中供国培
  • 靠谱的环保家装公司,昭通中建盛世有哪些优势? - myqiye
  • 2026年广州影视市场大揭秘!这些好的影视公司不容错过! 广州广告片/广州宣传片/广州广告片制作公司/广州宣传片拍摄公司 - 品牌推荐官方
  • Claude Platform on AWS 实战:用 AWS 账号直接跑 Anthropic 原生平台,IAM 认证 + 统一计费
  • 如何评估不错的辣条包装机工厂哪家好? - 工业品牌热点
  • 2026年4月行业内可靠的大件物流服务商口碑推荐,大件物流/大件运输,大件物流厂家推荐 - 品牌推荐师
  • 缝包机选购指南,奇威包装是佳选 - myqiye
  • 仪创时代混凝土徐变仪选购指南,如何挑选合适的产品 - 工业品牌热点
  • 包装礼盒优质厂家推荐,上海万通印务服务多样 - mypinpai
  • 孖仔鸽皇菜品丰富吗?靠谱乳鸽供应商推荐2026 - 工业品牌热点
  • 天津欧卡卡全屋定制费用高吗?详细分析 - 工业品牌热点
  • 有实力的薄蜂窝纸箱品牌,美迅机械性价比高 - mypinpai
  • 聚醚定制产品选购,南通汉晟化工靠谱吗 - 工业品牌热点
  • 青岛靠谱名包回收盘点,收的顶连锁平台优势突出 - 奢侈品回收测评
  • 招聘求职软件app排行榜:2026权威榜单,易直聘领跑 - 博客万
  • 彩钢夹芯净化板靠谱厂家推荐,尚泰净化板上榜 - mypinpai
  • 性价比高的个性化餐饮全案设计公司大盘点 - mypinpai
  • 桂林瓷砖空鼓修复公司排行 基于工艺与口碑的实测榜单 - 奔跑123
  • 渔公码头海鲜礼盒性价比高吗?靠谱吗? - 工业品牌热点
  • 2026年5月沈阳律师团队推荐指南:婚姻继承律师,经济仲裁律师,合同纠纷律师,离婚律师公司优选! - 品牌鉴赏师
  • 探讨豆包搜索优化服务商口碑,迅淼科技好评如潮 - mypinpai
  • 2026天津黄金回收靠谱榜单:实体老店透明无套路 - 奢侈品回收测评