kube-prometheus-stack添加额外Scrape配置报错,请求协助解决
问题解决:kube-prometheus-stack添加额外采集配置失败
错误原因
additionalScrapeConfigs字段要求的是Prometheus采集任务的数组(即scrape_configs下的单个/多个job配置),而你提供的是完整的Prometheus配置文件(包含global等顶级字段),导致Prometheus无法将完整配置解析为预期的任务数组,触发cannot unmarshal !!map into []yaml.MapSlice错误。
修正步骤
1. 创建正确的采集配置文件
新建文件grok-scrape-config.yaml,内容仅保留采集任务(注意是数组格式):
- job_name: 'grok' static_configs: - targets: ['grok-exporter:9144']
2. 删除旧Secret并重新创建
# 删除原Secret kubectl delete secret grok-prometheus # 基于新配置创建Secret kubectl create secret generic grok-prometheus --from-file=grok-scrape-config.yaml
3. 更新Helm values配置
修改values.yaml中的additionalScrapeConfigsSecret.key为新的配置文件名:
additionalScrapeConfigsSecret: enabled: true name: grok-prometheus key: grok-scrape-config.yaml
4. 重新升级Helm Chart
helm upgrade kube-prometheus-stack prometheus-community/kube-prometheus-stack -f values.yaml
完成后,Prometheus会正确加载额外的采集任务,不再出现解析错误。
内容的提问来源于stack exchange,提问作者Hema Sri
相关产品推荐
相关产品推荐

