uamsclient

Роль клиента UAMS для Ansible

Роль клиента UAMS для Ansible устанавливает и настраивает клиент UAMS.

Настройка

Требования

  • При использовании с Windows-хостами необходима коллекция ansible.windows. Пожалуйста, установите ее на управляющем хосте с помощью следующей команды:
ansible-galaxy collection install ansible.windows

Установка

Установите роль UAMS Client из Ansible Galaxy

ansible-galaxy install solarwinds.uamsclient

Чтобы развернуть клиент UAMS на хостах, добавьте access token, role и swo url в ваш плейбук под ключом environment. Значения могут быть закодированы, но для access token рекомендуется использовать переменную и не раскрывать токен в открытом виде.

У вас есть возможность установить HTTPS-прокси с помощью переменной окружения UAMS_HTTPS_PROXY. Просто задайте эту переменную, чтобы она указывала на ваш желаемый HTTPS-прокси. Помните, что переменная окружения UAMS_HTTPS_PROXY устанавливает HTTPS-прокси только для соединений, установленных клиентом UAMS и его плагинами. Чтобы использовать HTTPS-прокси во время установки, установите HTTPS-прокси на своем компьютере, чтобы Ansible мог его использовать.

  environment:
    UAMS_ACCESS_TOKEN: "YOUR_SWO_ACCESS_TOKEN"
    UAMS_METADATA: "ROLE"
    SWO_URL: "https://swo-url"
    UAMS_HTTPS_PROXY: "https://your-proxy" # опционально
    UAMS_OVERRIDE_HOSTNAME: "custom_hostname" # опционально

Пожалуйста, найдите пример плейбука, который мы используем в CI-тестировании.

Переопределение имени хоста

Опциональная переменная окружения UAMS_OVERRIDE_HOSTNAME используется для установки пользовательского названия агента. По умолчанию имя агента устанавливается равным имени хоста. Вы можете задать значение этой переменной с помощью переменных из файла инвентаризации. Смотрите пример ниже.

# Файл инвентаризации

[test_servers]
192.168.0.123 ansible_user=user override_hostname=web_server1
192.168.0.124 ansible_user=user override_hostname=web_server2
# Файл плейбука

  environment:
    UAMS_OVERRIDE_HOSTNAME: "DEV_{{ override_hostname }}"

Удаление

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

ansible-playbook -i inventory playbook.yml --tags uninstall

Пожалуйста, найдите пример плейбука, который мы используем в CI-тестировании.

Добавление плагина DBO в клиент UAMS

Обзор

Эта роль Ansible устанавливает и настраивает плагин DBO для клиента UAMS. Чтобы установить плагин DBO, вам нужно выполнить следующую команду:

ansible-playbook -i inventory playbook.yml --tags dbo

Это выполнит задачи, связанные с тегом dbo, устанавливая и настраивая плагин DBO в соответствии с вашим файлом инвентаризации или файлами переменных. Убедитесь, что ваш файл инвентаризации и/или секреты правильно настроены перед запуском плейбука.

Настройка

Чтобы использовать плагин DBO, вы должны определить необходимые переменные в вашем файле инвентаризации или секрета Ansible. Ниже представлен формат для этих переменных: Кроме того, вы должны предоставить токен с полным доступом, чтобы получить доступ к API для установки плагинов DBO

uams_full_access_token: "<full_access_token>"
dbo_plugin:
  - databaseType: "mongo"
    name: "mongodb profiler on dev-amd64-mu listening on 10.0.2.2:27018"
    host: "10.0.2.2"
    port: "27018"
    user: "myUser"
    password: "<password>"
    packetCaptureEnabled: false
    metricsCaptureMethod: "profiler"

Способы предоставления переменных

  1. Файл инвентаризации: вы можете определить переменные dbo_plugin и uams_full_access_token прямо в файле инвентаризации.
  2. Групповые или хостовые переменные.
  3. Ansible Vault.

Для конфиденциальной информации, такой как пароли, рекомендуется использовать Ansible Vault для шифрования ваших переменных. Вы можете создать зашифрованный файл для ваших секретов:

Зашифруйте этот файл с помощью следующей команды:

ansible-vault encrypt path/to/secrets.yml

Затем укажите его в вашем плейбуке или файле инвентаризации:

vars_files:
  - path/to/secrets.yml

Переменные роли

Переменная Описание
uams_local_pkg_path Переопределите местоположение, где хранится пакет установки (по умолчанию: /tmp/uams)
uams_local_pkg_path_windows Переопределите местоположение, где хранится пакет установки на Windows (по умолчанию: значение переменной окружения TEMP)
uams_remove_installer Если пакет установки должен быть удален (по умолчанию: true)

AWX

Роль клиента UAMS также может использоваться в настройке AWX. Необходимо учитывать следующее:

  1. AWX должен быть настроен для загрузки ролей из Ansible Galaxy. На текущий момент (с AWX 0.30.0) это должно быть включено в Настройки > Задания (Enable Role Download), а также учетные данные Ansible Galaxy должны быть настроены на уровне организации. Файл roles/requirements.yml должен присутствовать в репозитории проекта и содержать необходимую роль (пример ниже).
  2. Значения для переменных, представляющих access token, role и swo url, должны предоставляться из интерфейса AWX.
  3. Плейбук должен содержать значение hosts:, соответствующее группе хостов (или отдельному хосту), определенной в инвентаризации AWX. Плейбук недоступен в AWX для создания job template, если не было предоставлено правильное значение.
  4. Установка Privilege escalation в job template может привести к сбоям для задач, делегированных локальному хосту, из-за отсутствия команды sudo в контейнере выполнения.

Примеры настройки AWX

Плейбук

---
- name: Установить клиент UAMS
  # Существующая группа хостов из инвентаризации
  hosts: uams-hosts

  environment:
    UAMS_ACCESS_TOKEN: "{{ uams_access_token  }}"
    UAMS_METADATA: "{{ uams_metadata  }}"
    SWO_URL: "{{ swo_url }}"

  roles:
    - role: solarwinds.uamsclient

roles/requirements.yml

Если version пропущена, будет установлена последняя версия.

roles:
  - src: solarwinds.uamsclient
    version: 1.8.0
О проекте

SolarWinds UAMS Client Installer

Установить
ansible-galaxy install solarwinds/uamsclient-ansible
Лицензия
mit
Загрузки
4840
Владелец