遇到错误
level=error ts=2020-08-23T17:24:34.036Z caller=file.go:323 component="discovery manager scrape" discovery=file msg="Error reading file" path=/etc/prometheus/prometheus.yml err="yaml: unmarshal errors:\n line 1: cannot unmarshal !!map into []*targetgroup.Group"
当尝试加载yml file_sd配置时。
普罗米修斯yml是
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: file
file_sd_configs:
- files:
- '*.yml'
file_sd_config是
---
- targets:
- x.x.x.x:9100
- x.x.x.x:9100
- x.x.x.x:9100
- x.x.x.x:9100
labels:
job: node
- targets:
- x.x.x.x:9090
labels:
job: prometheus
(真正的ip混淆了yml是从工作的json file_sd_config转换而来的。
答案 0 :(得分:0)
问题在prometheus.yml中。如果指定了json文件,则通配符将起作用。我必须为yml文件添加整个文件名才能起作用
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: file
file_sd_configs:
- files:
- 'clients.yml'
看起来像是普罗米修斯的虫子