Documentation

16. awx-manage 工具程序

awx-manage 工具用于访问控制器的详细内部信息。awx-manage 的命令应该以 awxroot 用户身份运行。

警告

不建议(不支持)通过 playbook 运行 awx-manage 命令。

16.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 **没有**设置,对清单进行同步后编辑和添加的 Inventory 主机变量仍然会保持。

16.2. 清理旧数据

awx-manage 具有各种命令用于从控制器清理旧数据。控制器管理员可以使用控制器管理作业界面访问或使用命令行。

  • awx-manage cleanup_jobs [--help]

这会永久删除超过指定天数的作业详情和作业输出。

  • awx-manage cleanup_activitystream [--help]

这会永久删除超过指定天数的任何 活动流 数据。

16.3. 集群管理

如需 awx-manage provision_instanceawx-manage deprovision_instance 命令的详情,请参阅 集群 部分。

注解

在一般情况下,请不要运行其他 awx-manage 命令。

16.4. 令牌和会话管理

automation controller 支持以下 OAuth2 令牌管理命令:

16.4.1. create_oauth2_token

使用这个命令创建 OAuth2 令牌(指定以下 example_user 的实际用户名):

$ awx-manage create_oauth2_token --user example_user

New OAuth2 token for example_user: j89ia8OO79te6IAZ97L7E8bMgXCON2

在创建令牌时,请确保提供有效用户。否则,您会得到一个错误消息:您在未指定用户的情况下尝试发出命令,或者提供的用户名不存在。

16.4.2. revoke_oauth2_tokens

使用这个命令来撤销 OAuth2 令牌(应用程序令牌和个人访问令牌 (PAT) )。默认情况下,它会撤销所有应用令牌(但不含其关联的刷新令牌),并撤销所有个人访问令牌。但是,您还可以指定用户为其撤销所有令牌。

撤销所有现有的 OAuth2 令牌:

$ awx-manage revoke_oauth2_tokens

撤销所有 OAuth2 令牌及其刷新令牌:

$ awx-manage revoke_oauth2_tokens --revoke_refresh

使用 id=example_user``(指定以下 ``example_user 的实际用户名)为用户撤销所有 OAuth2 令牌:

$ awx-manage revoke_oauth2_tokens --user example_user

使用 id=example_user 为用户撤销所有 OAuth2 令牌和刷新令牌 :

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

16.4.3. cleartokens

使用此命令清理已撤销的令牌。如需详情,请参阅 Django's Oauth Toolkit documentation on cleartokens

16.4.4. expire_sessions

使用此命令终止所有会话或特定用户的所有会话。请在用户更改机构中的角色时使用此命令,从 LDAP/AD 中的分类组中删除,或者管理员要确保用户由于这些组中的成员资格而无法再执行作业。

$ awx-manage expire_sessions

这个命令会默认终止所有会话。与这些会话关联的用户将随后注销。要仅使特定用户的会话过期,您可以使用 --user 标志传递其用户名(指定以下 example_user 的实际用户名):

$ awx-manage expire_sessions --user example_user

16.4.5. clearsessions

使用此命令删除所有已过期的会话,详情请参阅 Django's documentation on clearsessions

如需控制器用户界面中 OAuth2 令牌管理的更多信息,请参阅 Automation Controller User Guide应用程序 部分。

16.5. 分析收集

使用此命令在预定义的时间窗口外(默认为 4 小时)按需收集分析信息:

$ awx-manage gather_analytics --ship

对于那些希望在一段时间内自动收集有关唯一主机的使用信息,但处于一个断开连接的环境的用户,请使用以下命令:

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

参数 --since--until 用于指定日期范围,它们是可选的,但需要最少有一个。--json 标志指定输出格式且是可选的。