Documentation

17. awx-manage ユーティリティー

awx-manage ユーティリティーは、詳細にわたるコントローラー内の情報にアクセスする時に使用します。awx-manage のコマンドは、awx ユーザーまたは root ユーザーとして実行してください。

警告

Playbook を介して awx-manage コマンドを実行することは、推奨またはサポートされていません。

17.1. インベントリーのインポート

awx-manage は、カスタムインベントリースクリプトを使用できないユーザー向けに、コントローラーの管理者がコントローラーにインベントリーを直接インポートするメカニズムのことです。

awx-manage を正しく使用するには、まずインポート先として使用できるようにコントローラーにインベントリーを作成する必要があります。

awx-manage のヘルプは、awx-manage inventory_import [--help] のコマンドを実行します。

inventory_import コマンドは、テキストベースのインベントリーファイル、動的なインベントリースクリプト、またはコアの Ansible でサポートされている上記のファイルやスクリプトのディレクトリーと、コントローラーのインベントリーオブジェクトを同期します。

コマンドの実行時に、--inventory-id または --inventory-name、Ansible インベントリーのソースへのパス (--source) のいずれかを指定します。

awx-manage inventory_import --source=/ansible/inventory/ --inventory-id=1

デフォルトでは、コントローラーにすでに保存されているインベントリーデータと、外部ソースからのデータが混在します。外部データのみを使用するには、--overwrite を指定します。既存のホストが --source のみから変数データを取得するように設定するには、--overwrite_vars を指定します。デフォルトの動作は、外部ソースから新しい変数を追加して、既存のキーについては上書きしますが、外部のデータソースから取得していない変数は保持されます。

awx-manage inventory_import --source=/ansible/inventory/ --inventory-id=1 --overwrite

注釈

インベントリーホスト変数の編集と追加は、--overwrite_vars設定されていない 限りインベントリー同期後も維持されます。

17.2. 以前のデータの消去

awx-manage には、コントローラーから以前のデータを消去時に使用するコマンドが複数あります。コントローラー管理者は、コントローラー管理ジョブインターフェースからコマンドラインにアクセスするか、コマンドラインを使用することができます。

  • awx-manage cleanup_jobs [--help]

このコマンドでは、ジョブの詳細や、指定の日数以前のジョブの出力が完全に削除されます。

  • awx-manage cleanup_activitystream [--help]

このコマンドでは、指定の日数以前の アクティビティーストリーム のデータを削除します。

17.3. クラスターの管理

awx-manage provision_instance および awx-manage deprovision_instance コマンドの詳細は、「クラスタリング」のセクションを参照してください。

注釈

Ansible サポートからの指示がない限り、他の awx-manage コマンドは実行しないようにしてください。

17.4. トークンおよびセッション管理

automation controller は、OAuth2 トークン管理向けに以下のコマンドをサポートします。

17.4.1. create_oauth2_token

このコマンドを使用して OAuth2 トークンを作成します (以下のように example_user の実際のユーザー名を指定します)。

$ awx-manage create_oauth2_token --user example_user

New OAuth2 token for example_user: j89ia8OO79te6IAZ97L7E8bMgXCON2

トークンの作成時に有効なユーザーを指定するようにしてください。指定しないと、ユーザーを指定していない状態、または存在しないユーザー名を指定して、コマンドを実行しようとしましたとのエラーメッセージが表示されます。

17.4.2. revoke_oauth2_tokens

このコマンドを使用して OAuth2 トークンを取り消します (アプリケーショントークンもパーソナルアクセストークン (PAT) も両方)。デフォルトでは、全アプリケーショントークンを取り消し (ますが、関連付けられた更新トークンは取り消されません)、さらにパーソナルアクセストークンすべてを取り消します。ただし、全トークンを取り消すユーザーを指定することも可能です。

既存の OAuth2 トークンすべてを取り消す方法:

$ awx-manage revoke_oauth2_tokens

全 OAuth2 トークンおよび更新トークンを取り消す方法:

$ awx-manage revoke_oauth2_tokens --revoke_refresh

id=example_user が指定されたユーザーの OAuth2 トークンすべてを取り消す方法 (以下のように example_user の実際のユーザー名を指定します):

$ awx-manage revoke_oauth2_tokens --user example_user

id=example_user が指定されたユーザーの全 OAuth2 トークンと更新トークンを取り消す方法:

$ awx-manage revoke_oauth2_tokens --user example_user --revoke_refresh

17.4.3. cleartokens

このコマンドを使用して、すでに呼び出されているトークンを消去します。詳細は、「Django's Oauth Toolkit documentation on cleartokens 」を参照してください。

17.4.4. expire_sessions

このコマンドを使用して、全セッションまたは、特定のユーザーのセッションすべてを中断します。組織内でユーザーのロールが変更になった場合や、LDAP/AD の分類グループから削除された場合、これらのグループのメンバーシップが原因で管理者が対象ユーザーにジョブを実行させない場合などに、このコマンドの使用を検討してください。

$ awx-manage expire_sessions

このコマンドは、デフォルトで全セッションを中断します。そのため、これらのセッションに関連付けられているユーザーはログアウトされます。特定のユーザーのセッションだけを失効させるには、--user フラグを使用してユーザー名を指定します (以下では、example_user の実際のユーザー名を指定します)。

$ awx-manage expire_sessions --user example_user

17.4.5. clearsessions

このコマンドを使用して有効期限の切れたセッションをすべて削除します。詳細は、「Django's documentation on clearsessions 」を参照してください。

コントローラーユーザーインターフェースの OAuth2 トークン管理に関する詳細は、『Automation Controller User Guide』の「アプリケーション」セクションを参照してください。

17.5. アナリティクスの収集

以下のコマンドを使用して、事前定義ウィンドウ外 (デフォルトは 4 時間) 外からオンデマンドの解析を収集します。

$ awx-manage gather_analytics --ship

切断された環境を使用し、一定期間にわたって、自動化された一意のホストに関する使用情報を収集する場合は、次のコマンドを使用します。

awx-manage host_metric --since YYYY-MM-DD --until YYYY-MM-DD --json

--since パラメーターおよび --until パラメーターは、日付範囲を指定しますが、それらのいずれかが存在していなければなりません。--json フラグは出力形式を指定し、任意にします。