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"
Способы предоставления переменных
- Файл инвентаризации: вы можете определить переменные
dbo_plugin
иuams_full_access_token
прямо в файле инвентаризации. - Групповые или хостовые переменные.
- 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. Необходимо учитывать следующее:
- AWX должен быть настроен для загрузки ролей из Ansible Galaxy. На текущий момент (с AWX 0.30.0) это должно быть включено в Настройки > Задания (
Enable Role Download
), а также учетные данные Ansible Galaxy должны быть настроены на уровнеорганизации
. Файлroles/requirements.yml
должен присутствовать в репозитории проекта и содержать необходимую роль (пример ниже). - Значения для переменных, представляющих
access token
,role
иswo url
, должны предоставляться из интерфейса AWX. - Плейбук должен содержать значение
hosts:
, соответствующее группе хостов (или отдельному хосту), определенной в инвентаризации AWX. Плейбук недоступен в AWX для созданияjob template
, если не было предоставлено правильное значение. - Установка
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
ansible-galaxy install solarwinds/uamsclient-ansible