Мне нужна роль для сбора журналов из группы хостов в ansible local, а затем для передачи всех этих файлов на другой сервер. как показано ниже
Игра выглядит так:
- hosts: work_vms
roles:
- role: collect
Роль коллекционирования / tasks / main.yml:
---
- name: fetch log from work server
fetch:
src: /app/logs/server.log
dest: /var/log/
flat: yes
- name: transfer all logs to log server
delegate_to: "{{ groups.log_server[0] }}"
copy:
src: /var/log
dest: /storage/logs
Это отлично работает. Однако копирование очень медленное.
Поэтому я попытался использовать синхронизацию, чтобы заменить копию.
- name: transfer all logs to log server
delegate_to: "{{ groups.log_server[0] }}"
synchronize:
src: /var/log
dest: /storage/logs
Сбой, потому что он не нашел / var / log на log_server.
Я пытался использовать rsync, но я не знаю, как настроить параметры соединения ssh в /etc/ansible/ansible.cfg, например, remote_user, private_key_file и т. Д.
Есть ли способ получить значение глобальных конфигураций, используемых ansible в playbook?