Ansible パイプを利用するときはcommandではなくshellモジュールで!

ログ収集の仕組みをfluentdで構築したくて、Ansible化

td-agentは非常に簡単にインストールできる。

rootで以下のコマンドを実行するだけでOK(内部でrepositoryに追加してyum install している)

curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh | sh

これをそのままAnsible化したらタイムアウトのエラーが出た。なんでタイムアウトか?と思ったらどうもパイプをURLだと思ってアクセスしている模様。

- name: install td-agent
  shell: curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh | sh
# command: curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh | sh

commandではパイプが利用できないので、shellに書き換えたら無事td-agentのインストールが完了した!

カテゴリー: Ansible パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.