Добрый день. Имеется много машинок. Хочу через ансибл накатить на них конфиг Zabbix-agent.
А конфиге есть параметр hostname - как мне его подставить\заменить всунув туда hostname машины?
Понимаю что с помощью допустим sed, но не знаю как сформировать строку замены правильно
Раз вам надо не просто копировать файл на целевую машину, а ещё и менять в нём определённое содержимое, то используйте Ansible модуль template.
Имя машины можете вставить в шаблон конфига с помощью конструкции подстановки специальной переменной{{ ansible_hostname }}.
Drno, применение shell команд вроде sed в рамках Ansible нарушает принцип идемпотентности, к тому же в таком подходе нет необходимости, так как Ansible оснащён мощным шаблонизатором jinja2, с помощью которого можно легко сгенерировать конфиг. Имя хоста и ряд других параметров можно взять из переменных, которые Ansible определяет автоматически (и ничто не мешает добавить свои если надо).
Практически всем, что есть на сервере можно управлять с помощью Ansible не прибегая к shell скриптам.