2015-11-12 8 views
4

Как можно связать файл, расположенный на нескольких удаленных серверах в известном месте, используя ansible? Этот вопрос основан на этом комментарии к этому комментарию по этому вопросу Hacker News thread:Как постоянно выворачивать удаленные файлы с помощью ansible?

В моей компании у нас есть сто машин и хвостов, выполненных с возможностью. Если мы хотим настроить просмотр журнала, мы можем просто отредактировать учебник. I считают, что это очень удобно по сравнению с дополнительным пакетом npm (и , не говоря уже о дополнительных усилиях по настройке).

+0

Ansible просто запускает команды ssh, поэтому я предполагаю, что работа с командами оболочки, работающими на хостах в вашем файле инвентаря, будет работать. Я позволю кому-нибудь ответить официальным ответом, хотя –

+2

Это принципиально неправильный подход. Вы используете лопату для красок ваших стен. В то время как вы можете сгибать что-то вместе, используя Ansible, это не правильный инструмент для этой работы. Вы должны использовать систему регистрации журналов/централизованного ведения журнала. – Mxx

+0

Несомненно, правильным способом было бы потратить время на агрегацию журналов/централизованную систему ведения журнала. Тем не менее, я ищу быстрое и грязное решение для журналов хвостов с нескольких серверов без необходимости устанавливать несколько панелей терминалов, где каждая панель закрывает журналы с одного удаленного сервера. – neowulf33

ответ

2

Вы можете использовать анзибль ad-hoc:

ansible atlanta -a "tail /homedir/myfile" -f 10 

UPDATE

анзибль может печатать только вывод после завершения команды. Вот почему я думаю, что то, что вы хотите, невозможно, невозможно, возможно, это не инструмент, который вы хотите для этой работы. Проверьте выпуск 4870 и 3887.

Если вы действительно хотите использовать возможность для этого, есть hack, размещенный в одном из выпусков (не тестировался и на самом деле я его не рекомендую).

Я действительно не знаю, о чем говорил парень из HN, может быть, только tail (без -f)?

+0

Мне нужно постоянно следить за журналами, используя «tail -f» – neowulf33

0

В прошлом я использовал capistrano для построения tasks that would tail and follow logs on multiple hosts и вывода в интерактивном режиме. Если у вас все в порядке с Ruby, я знаю, что это сработает. Если вы хотите придерживаться Python, fabric - это ваша вещь и см. other people have done this.

+0

Хотя это может теоретически ответить на вопрос, [было бы предпочтительнее] (// meta.stackoverflow.com/q/8259) включить существенные части ответа здесь, и укажите ссылку для справки. – Draken