Как отформатировать ansible логи в удобочитаемом виде - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужно ansible журналов на хост (сервер), поэтому я использую модуль logs_play в ansible .cfg.

callback_whitelist = log_plays

Но вывод не является удобным для человека. См. Пример журнала ниже:

Apr 10 2020 12:23:35 - OK - omitted

Apr 10 2020 12:23:46 - OK - {"results": [{"msg": "", "invocation": {"module_args": {"lock_timeout": 30, "update_cache": false, "disable_excludes": null, "exclude": [], "allow_downgrade": false, "disable_gpg_check": false, "conf_file": null, "use_backend": "auto", "state": "installed", "disablerepo": [], "releasever": null, "skip_broken": false, "autoremove": false, "download_dir": null, "enable_plugin": [], "installroot": "/", "install_weak_deps": true, "name": ["vim", "git"], "download_only": false, "bugfix": false, "list": null, "install_repoquery": true, "update_only": false, "disable_plugin": [], "enablerepo": [], "security": false, "validate_certs": true}}, "changed": false, "results": ["2:vim-enhanced-7.4.629-6.el7.x86_64 providing vim is already installed", "git-1.8.3.1-21.el7_7.x86_64 providing git is already installed"], "rc": 0, "_ansible_no_log": false, "failed": false, "item": ["vim", "git"], "ansible_loop_var": "item", "_ansible_item_label": ["vim", "git"]}], "msg": "All items completed", "changed": false}

Apr 10 2020 12:23:47 - SKIPPED - ...

Вы видите, что вторая большая строка показана одной строкой и не предназначена для чтения человеком. Как сделать его красивее построчно?

Я знаю, что есть настройка для изменения формата вывода на экран, например, stdout_callback. Но как сделать то же самое для журналов в / var / log / ansible / hosts?

1 Ответ

0 голосов
/ 10 апреля 2020

Если вы вносите изменения в файл ansible .cfg, вы можете использовать обратный вызов yaml для лучшего форматирования выходных данных.

По умолчанию строка в cfg должна быть:

#stdout_callback = skippy

Просто измените ее на это, и все ваши выходные данные будут следовать более легко читаемой структуре.

stdout_callback = yaml
...