#yaml #prometheus
#yaml #prometheus
Вопрос:
Ошибка получения
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.
Prometheus 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'
файл_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_sd_config.
Комментарии:
1. Можете ли вы попробовать x.x.x.x: 9100 . Я думаю, что между значением , :, key должны быть пробелы
2. После целей следует простой список. Строка x.x.x.x:номер порта. Заключение элементов списка в кавычки приводит к той же ошибке
Ответ №1:
Проблема в 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'
Похоже на ошибку prometheus