16. awx-manage 实用程序

awx-manage 实用程序用于访问 AWX 的详细内部信息。 awx-manage 的命令应仅以 awx 用户身份运行。

警告

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

16.1. 清单导入

awx-manage 是一种机制,通过它,AWX 管理员可以将清单直接导入 AWX,适用于无法使用自定义清单脚本的用户。

要正确使用 awx-manage,必须首先在 AWX 中创建一个清单作为导入的目标。

有关 awx-manage 的帮助,请运行以下命令:awx-manage inventory_import [--help]

inventory_import 命令将 AWX 清单对象与基于文本的清单文件、动态清单脚本或上述一个或多个目录(如核心 Ansible 支持)同步。

运行此命令时,请指定 --inventory-id--inventory-name,以及 Ansible 清单源的路径(--source)。

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

默认情况下,已存储在 AWX 中的清单数据与来自外部源的数据混合。要仅使用外部数据,请指定 --overwrite。要指定任何现有主机仅从 --source 获取变量数据,请指定 --overwrite_vars。默认行为会添加来自外部源的任何新变量,覆盖已存在的键,但保留未来自外部数据源的任何变量。

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

注意

只要未设置 --overwrite_vars,对清单主机变量的编辑和添加就会在清单同步后持续存在。

16.2. 清理旧数据

awx-manage 具有多种用于从 AWX 中清理旧数据的命令。AWX 管理员可以使用管理作业界面进行访问或使用命令行。

  • awx-manage cleanup_jobs [--help]

这将永久删除比指定天数更旧的作业的作业详细信息和作业输出。

  • awx-manage cleanup_activitystream [--help]

这将永久删除比指定天数更旧的任何活动流数据。

16.3. 集群管理

有关 awx-manage provision_instanceawx-manage deprovision_instance 命令的详细信息,请参阅集群部分。

注意

除非 Ansible 支持人员指示,否则不要运行其他 awx-manage 命令。

16.4. 令牌和会话管理

AWX 支持以下用于 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 的用户的全部 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

16.4.3. cleartokens

使用此命令清除已撤销的令牌。有关更多详细信息,请参阅Django 的 Oauth Toolkit 文档中的 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 的文档中的 clearsessions

有关 AWX 用户界面中 OAuth2 令牌管理的更多信息,请参阅AWX 用户指南应用程序部分。

16.5. 分析收集

使用此命令按需收集分析数据,超出预定义的时间窗口(默认为 4 小时)

$ awx-manage gather_analytics --ship

对于希望收集有关在一段时间内自动化的唯一主机的使用信息的断开连接的环境的客户,请使用此命令

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

参数 --since--until 指定日期范围,是可选的,但必须至少提供其中一个。 --json 标志指定输出格式,也是可选的。