solarwinds.uamsclient
Ansible UAMS 客户端角色
Ansible UAMS 客户端角色用于安装和配置 UAMS 客户端。
设置
需求
- 如果在 Windows 主机上使用,需要安装 ansible.windows 集合。请在控制主机上使用以下命令安装:
ansible-galaxy collection install ansible.windows
安装
从 Ansible Galaxy 安装 UAMS 客户端 角色
ansible-galaxy install solarwinds.uamsclient
要在主机上部署 UAMS 客户端,请在剧本的 environment
键下添加 access token
、role
和 swo url
。值可以硬编码,但至少对于 access token
,建议使用变量而不是明文显示令牌。
您可以通过使用 UAMS_HTTPS_PROXY
环境变量来设置 HTTPS 代理。只需定义这个变量以指向您希望使用的 HTTPS 代理。请记住,UAMS_HTTPS_PROXY
环境变量仅设置 UAMS 客户端及其插件所建立连接的 HTTPS 代理。要在安装期间使用 HTTPS 代理,请在您的机器上设置 HTTPS 代理,以便 ansible 可以使用它。
environment:
UAMS_ACCESS_TOKEN: "您的_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 }}"
卸载
从 Ansible Galaxy 安装 UAMS 客户端 角色
ansible-galaxy install solarwinds.uamsclient
要在主机上卸载 UAMS 客户端,请在运行剧本时添加 uninstall
标签。
示例:
ansible-playbook -i inventory playbook.yml --tags uninstall
请查看我们在 CI 测试中使用的 示例剧本。
将 DBO 插件添加到 UAMS 客户端
概述
该 Ansible 角色用于安装和配置 UAMS 客户端的 DBO 插件。要安装 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 界面提供。 - 剧本必须包含与 AWX 清单中定义的主机组(或单个主机)匹配的
hosts:
值。如果未提供适当的值,则该剧本在 AWX 的job template
创建中不可用。 - 在
job template
中设置Privilege escalation
可能会导致因缺少sudo
命令而导致委托给 localhost 的任务失败。
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