Можно ли редактировать файл elasticsearch.yml с помощью сценария

#python #elasticsearch #filebeat #pyyaml

Вопрос:

Я работаю над сценарием для автоматизации настройки стека ELK. Кажется, я не могу найти или понять какую-либо документацию по редактированию файлов yaml с помощью скрипта (оболочки или Python).

Возможно ли это вообще?

Пример: Допустим, я хочу включить filebeat.inputs и в поле тип: журнал я хочу установить включено: true

 filebeat.inputs:
- type: log
  enabled: false
 

Стоит отметить, что в документации показано, что вы можете переопределить конфигурацию для параметров конфигурации и модулей, но в ней указано, что это не изменяет файл конфигурации.

Это уже близко, но я хочу изменить/ установить файл конфигурации. Любые идеи, советы или ссылки на документы будут высоко оценены.

Комментарии:

1. Есть ли проблема с изменением этого файла с помощью редактора vi? Или вы хотите сделать это только с помощью сценария оболочки?

2. Существует несколько yq инструментов (один из которых является оболочкой, jq а другой-нет).

3. И, ну, pyyaml это прямо там, в тегах, так что вы знаете, что оно существует. «Используйте pyyaml для загрузки данных, отредактируйте их, а затем сохраните»… ну, это очевидно на первый взгляд?

4. Можете ли вы задать конкретный вопрос , который показывает проблему, возникшую у вас при использовании одного из нескольких ранее существовавших инструментов для работы?

5. Для этого используйте Ansible playbook с шаблонами Jinja2.