Я пытаюсь написать конфиг Прометея с этим модулем: https://github.com/voxpupuli/puppet-prometheusФайл конфигурации Prometheus с Puppet: как обрабатывать кавычки и скобки в файле конфигурации yaml?
Но я не могу показаться, чтобы получить его, чтобы генерировать правильное переобозначение конфигурации для Прометея.
Это соответствующая часть моей текущей конфигурации:
'relabel_configs' => [
{
'source_labels' => '[__meta_consul_node]',
'regex' => '^(.*)$',
'target_label' => 'instance',
'replacement' => '$1',
},
{
'source_labels' => '[__meta_consul_service]',
'regex' => '^(.*)$',
'target_label' => 'job',
'replacement' => '$1',
}
],
Это то, что я получаю в моем prometheus.yml:
relabel_configs:
- source_labels: '[__meta_consul_node]'
regex: ^(.*)$
target_label: instance
replacement: $1
- source_labels: '[__meta_consul_service]'
regex: ^(.*)$
target_label: job
replacement: $1
Что я хочу:
relabel_configs:
- source_labels: ['__meta_consul_node']
regex: '^(.*)$'
target_label: 'instance'
replacement: '$1'
- source_labels: ['__meta_consul_service']
regex: '^(.*)$'
target_label: 'job'
replacement: '$1'
Я пробовал массу вещей, но не мог понять, как форматировать значения хэша в моем манифесте, чтобы я получил правильное co nfig файл для Prometheus.
Это похоже на проблему с рубиновым синтаксическим анализатором? Как правильно скрыть '
?
В YAML, определяющем эту пару ключ-значение: 'regex:^(. *) $' Или это: 'regex: '^ (. *) $'' Точно такое же, потому что первое скалярное значение не нужно процитировать. То же самое верно для KV пар с ключами 'regex',' target_labels' и 'replacement'. Добавление цитат там абсолютно не имеет смысла. Только для 'source_labels' вы меняете значение из скалярной строки, которая начинается и заканчивается скобкой, в список, содержащий одно скалярное строковое значение. Почему вы добавляете все эти сверхъестественные цитаты? – Anthon