「Automation Action」の Ansible センサーを有効化および設定する
「Automation Action」の Ansible センサーは、「自動化の管理」機能をサポートしています。
詳細については、 「自動化の管理」 を参照してください。 Instana エージェントをインストールすると、センサーが自動的に展開され、インストールされます。
このセンサーを使用すると、 Instana エージェントは、 Instana のアクションカタログにインポートされた Ansible アクションを実行できます。 このセンサーは、 Ansible のオートメーションコネクタを使用して、ジョブを実行する Ansible Automation Controller に接続します。
前提条件
このセンサーを有効にする前に、以下の手順を完了してください:
- 「自動化フレームワークの安全な使用方法」 に記載されている情報を確認してください。
- センサーを自社管理(オンプレミス)環境で使用する場合は、 自動化機能フラグが有効になっていることを確認してください。
センサーを有効にする
「Automation Action」の Ansible センサーは、デフォルトでは無効になっています。 センサーを有効にするには、次の例に示すようにエージェントの設定ファイルを更新してください。
com.instana.plugin.action.ansible:
enabled: true # by default is false
url: <ansible_url> # Ansible Automation Controller url
apiPath: <api_path> # Optional, default path is /api/v2. For Ansible Automation Controller 2.5+, use /api/controller/v2
token: # the token to connect to Ansible Automation Controller
configuration_from:
type: vault
secret_key:
path: <secret_path>
key: <secret_key>
以下の例は、コンフィギュレーションにおけるプレーン・テキスト・トークンの使用例を示すものであり、あくまで参考用である。
com.instana.plugin.action.ansible:
enabled: true # by default is false
url: <ansible_url> # Ansible Automation Controller url
apiPath: <api_path> # Optional, default path is /api/v2. For Ansible Automation Controller 2.5+, use /api/controller/v2
token: <ansbile_token> # the token to connect to Ansible Automation Controller
Ansible の同時実行可能なアクション数の変更
Ansible センサーは、デフォルトで 10 個の Ansible アクションを並行して実行できます。 並行 Ansible アクションの最大数を変更するには、以下の例に示すように、エージェント構成ファイル内の Ansible センサー構成に maxConcurrentActions 属性を追加します。
com.instana.plugin.action.ansible:
enabled: true
maxConcurrentActions: 5 # optional, default value is 10
デフォルトのタイムアウトを設定する
デフォルトでは、 Ansible アクションは300秒後にタイムアウトします。 Ansible アクションの実行におけるデフォルトのタイムアウトを変更したい場合は、エージェント設定ファイル内の Ansible センサー設定セクションに、次のように属 defaultTimeout 性を追加してください:
com.instana.plugin.action.ansible:
enabled: true
defaultTimeout: 30 # optional, default timeout is 300 seconds
シークレットマネージャーの統合
アクションカタログ内の Ansible アクションで Vault パラメータを使用する場合、ホストエージェントをシークレットマネージャー と連携させる必要があります。
Ansible オートメーションコネクタの設定
この手順は、 1.0.56 以前のバージョンを使用している場合のみ必要です。
「Automation Action」の Ansible センサーの以前のバージョンでは、 Ansible のオートメーションコネクタイメージが使用されています。 このセンサーを使用するには、 Instana エージェント上でコンテナ管理エンジン( Docker または Podman )が利用可能であることを確認してください。
センサーは、 Ansible 自動化コネクター・イメージを使用して Ansible 自動化コントローラーに接続し、そこでジョブを実行します。 センサーがアクティブ化されると、自動化コネクター・イメージが icr.io/instana/actions レジストリーからプルされます。
エージェント・マシンが icr.io イメージ・レジストリーにアクセスできない場合は、センサー構成で offline=true を設定し、エージェント・システム上の ローカル・レジストリーに自動化コネクター・イメージをロードします 。
自動化コネクターを構成するには、以下の例に示すようにエージェント構成ファイルを更新します。
com.instana.plugin.action.ansible:
enabled: true
url: <ansible_url>
token:
configuration_from:
type: vault
secret_key:
path: <secret_path>
key: <secret_key>
connector:
container_mgmt_engine: docker|podman # the container management engine
host_port: 9080 # the port on the host to bind the connector container to
ready_timeout: 60 # optional, default timeout is 300 seconds
offline: false|true # optional, default is false
自動化コネクタの画像をローカルレジストリに読み込む
エージェント・マシンが icr.io イメージ・レジストリーにアクセスできない場合は、エージェント・システム上のローカル・イメージ・レジストリーにイメージをロードします。
エージェント・システム上のローカル・イメージ・レジストリーにイメージをロードするには、以下の手順を実行します。
インターネットにアクセスできるマシンで、最新の Ansible 自動化コネクター・イメージをダウンロードします。
docker pull icr.io/instana/actions/awx:latestイメージをアーカイブ・ファイルに保存します。
docker save <image_id> > /tmp/awx.tarアーカイブをエージェント・マシンにコピーしてから、イメージをローカル・イメージ・レジストリーにロードします。
docker load < /tmp/awx.tar以下のように、イメージにタグを付けます。
docker tag <image_id> icr.io/instana/actions/awx:latest
トラブルシューティング
「 Ansible 」センサーのオートメーションアクションを使用中に、次のような問題が発生する場合があります:
API Ansible Automation Controller ( 2.5 以降)のパス設定
接続の問題を解決するには、 Ansible Automation Controller 2.5 以降を使用する際、 API のパス設定を更新してください。
Ansible Automation Controller ( 2.5 以降)では、 API のパスが から /api/v2 に変更されました /api/controller/v2。 このセンサーは、以前のバージョンとの下位互換性を確保するため、デフォルトのパス /api/v2 として を使用しています。
接続に問題が発生した場合、または Ansible Automation Controller 2.5 以降からジョブテンプレートを取得できない場合は、エージェントの設定(instanaAgentDir/etc/instana/configuration.yaml)内のパラメータ apiPath を更新してください:
com.instana.plugin.action.ansible:
enabled: true
url: https://your-ansible-controller.example.com
apiPath: /api/controller/v2 # Required for Ansible Automation Controller 2.5+
token:
configuration_from:
type: vault
secret_key:
path: <secret_path>
key: <secret_key>
API のパスが正しいか確認するには、次の curl コマンドを実行してください:
curl -k -H "Authorization: Bearer <your_token>" https://your-ansible-controller.example.com/api/controller/v2/job_templates/
curl コマンドが正常にジョブテンプレートを返した場合、 API のパスは正しいことになります。