Утилита awx-manage#

awx-manage является утилитой командной строки, используемой для получения подробной информации о контроллере и управления им. Команды утилиты awx-manage необходимо запускать на управляющем узле контроллера от имени пользователя awx или суперпользователя. Если управляющих узлов несколько, то запускать команду можно на любом из них.

Важно

Запуск команд awx-manage через playbook не поддерживается.

Вызов утилиты имеет следующий вид:

sudo awx-manage <command> [<arguments>]

Для вывода справочной информации воспользуйтесь командой:

sudo awx-manage --help

Импорт инвентаря#

Утилита awx-manage предоставляет администраторам возможность импортировать инвентарь в Automation Controller с помощью следующих шагов:

  1. В контроллере создайте инвентарь, который будет служить местом назначения для импорта.

  2. Подключитесь по SSH к управляющему узлу контроллера и выполните команду:

    sudo awx-manage inventory_import --source=<path_to_inventory> --inventory-id=<id>
    

    Здесь:

    • <path_to_inventory> – путь к файлу инвентаря, который будет использован в качестве источника.

    • <id> – идентификатор инвентаря, созданного ранее.

Команда inventory_import позволяет синхронизировать существующий инвентарь в контроллере с текстовым файлом инвентаря в формате INI или YAML, динамическим инвентарем или каталогом, содержащим такие файлы и инвентари.

При импорте можно использовать аргументы --overwrite и --overwrite-vars, чтобы управлять тем, как данные объединяются или заменяются.

По умолчанию данные из внешнего источника перезаписывают имеющиеся. Данные, которые отсутствуют во внешнем источнике, но присутствуют в контроллере, сохраняются.

При запуске утилиты с аргументом --overwrite используются только данные из внешнего источника. Данные, отсутствующие во внешнем источнике, будут удалены.

При запуске утилиты с аргументом --overwrite-vars используются переменные исключительно из внешнего источника. Узлы, которые отсутствуют во внешнем источнике, но присутствуют в контроллере, сохраняются.

Удаление устаревших данных#

Команды cleanup_jobs и cleanup_activitystream используются для удаления данных о выполненных заданиях и данных ленты активности старше количества дней, указанного в аргументе --days:

  • Удаление данных о выполненных заданиях:

    sudo awx-manage cleanup_jobs --days <n>
    
  • Удаление данных ленты активности:

    sudo awx-manage cleanup_activitystream --days <n>
    

Удаление узла#

Команда deprovision_instance используется для удаления узлов:

sudo awx-manage deprovision_instance --hostname=<hostname>

Здесь <hostname> – название удаляемого узла в инвентаре установщика платформы.

Примечание

Узел необходимо удалить из инвентаря установщика платформы, если он не должен появиться в кластере при повторном запуске сценария настройки.

Метрики узлов#

Утилита awx-manage предоставляет возможность генерировать данные метрик узлов в формате CSV.

Создание файлов с данными метрик узла и информацией о кластере:

sudo awx-manage host_metric --csv

Чтобы упаковать все файлы в один архив, воспользуйтесь командой:

sudo awx-manage host_metric --tarball

Чтобы указать количество строк (<N>) для вывода в каждый файл, используйте аргумент --pows_per_file:

sudo awx-manage host_metric --rows_per_file <N>

Настройки SAML и LDAP#

Утилита awx-manage позволяет получить действующие настройки SAML и LDAP в формате JSON:

sudo awx-manage dump_auth_config
Пример вывода
[
    {
        "SAML_missing_fields": [
            "SP_ENTITY_ID",
            "SP_PUBLIC_CERT",
            "SP_PRIVATE_KEY",
            "ORG_INFO",
            "TECHNICAL_CONTACT",
            "SUPPORT_CONTACT",
            "ENABLED_IDPS"
        ]
    },
    {
        "type": "ansible_base.authentication.authenticator_plugins.ldap",
        "name": "LDAP_0",
        "enabled": true,
        "create_objects": true,
        "users_unique": false,
        "remove_users": true,
        "configuration": {
            "SERVER_URI": [
                "ldaps://ldap.example.com:636"
            ],
            "BIND_DN": "CN=users,DC=example,DC=com",
            "BIND_PASSWORD": "",
            "CONNECTION_OPTIONS": {
                "8": 0,
                "20485": 30
            },
            "GROUP_TYPE": "MemberDNGroupType",
            "GROUP_TYPE_PARAMS": {
                "name_attr": "cn",
                "member_attr": "member"
            },
            "GROUP_SEARCH": [
                "DC=example,DC=com",
                "SCOPE_SUBTREE",
                "(ObjectClass=group)"
            ],
            "START_TLS": true,
            "USER_DN_TEMPLATE": "uid=%(user)s,CN=users,DC=example,DC=com",
            "USER_ATTR_MAP": {
                "email": "mail",
                "last_name": "sn",
                "first_name": "givenName"
            },
            "USER_SEARCH": [
                "DC=example,DC=com",
                "SCOPE_SUBTREE",
                "(cn=%(user)s)"
            ]
        }
    },
    {
        "LDAP_1_missing_fields": [
            "SERVER_URI",
            "USER_DN_TEMPLATE",
            "USER_ATTR_MAP"
        ]
    },
    {
        "LDAP_2_missing_fields": [
            "SERVER_URI",
            "USER_DN_TEMPLATE",
            "USER_ATTR_MAP"
        ]
    },
    {
        "LDAP_3_missing_fields": [
            "SERVER_URI",
            "USER_DN_TEMPLATE",
            "USER_ATTR_MAP"
        ]
    },
    {
        "LDAP_4_missing_fields": [
            "SERVER_URI",
            "USER_DN_TEMPLATE",
            "USER_ATTR_MAP"
        ]
    },
    {
        "LDAP_5_missing_fields": [
            "SERVER_URI",
            "USER_DN_TEMPLATE",
            "USER_ATTR_MAP"
        ]
    }
]