Ansible: リモートホスト名の取得

Ansible: リモートホスト名の取得

ホスト名とIPアドレスをファイルに入れるスクリプトを作成しました。私のスクリプトは次のとおりです。

echo "*********************************************">>a.txt;

hostname>>a.txt; 

/sbin/ifconfig>>a.txt

スクリプトはローカルでうまく実行されます。

私たちの環境には1000台のサーバーがあります。私の目標は、ローカルファイル(a.txtはansibleコマンドを実行するファイル)にあるすべてのサーバーのホスト名とIPアドレスを取得することです。このために私はansibleを使用します。

私は次のコマンドを実行しています:

$ ansible test -m script -a ankush.sh 

コマンドは実行中ですが、「a.txt」でローカルホスト名とローカルマシンのIPアドレスを確認できます。リモートシステムのホスト名とリモートIPアドレスが必要です。

ベストアンサー1

ansibleすべてのスクリプトをリモートで実行して、a.txt各サーバーにファイルをアーカイブします。
次のオプションを提案できます。

  1. 結果を印刷するようにスクリプトを変更してすべての出力を実行ansibleし、その出力を解析できます。

  2. 使用安定した獲得スクリプトの実行後にすべてのコンテンツを取得するモジュールですa.txt。例:ansible test -m fetch -a "src=a.txt dest=out/"

  3. 使用アンサーブル設定ホスト名とIPアドレスを取得するモジュール(例:ansible test -m setup -a 'filter=ansible_hostname'および詳細)http://docs.ansible.com/ansible/setup_module.html

おすすめ記事