Dynamic Inventory – memo –

  • 投稿者:
  • 投稿カテゴリー:ansible

Ansible dynamic inventory + Zabbix APIで監視対象を動的に構成管理より
例えばローカルの/etc/hostsに存在するホスト名をinventoryとして使いたければ

inventory.sh
#!/bin/bash
HOSTS=$(cat /etc/hosts | grep -v ^# | awk '{print $2}')
HOSTS=$(echo "$HOSTS" | sed -e 's/^\(.*\)$/"\1"/g')
HOSTS=$(echo $HOSTS | sed -e 's/\s/,/g')
echo "{\"all\": {\"hosts\": [$HOSTS]}}"

のようなスクリプトを書いて渡してやるだけでいい。

Dynamic Inventoryを使ってみるより
ansibleは、インベントリファイルに実行権限が付いていなければ、通常のインベントリファイルとして読み込み、
実行権限が付いていれば実行した結果帰ってくるjsonを読み込むという処理をしているよう。