solarwinds.uamsclient
Ansible UAMSクライアントロール
Ansible UAMSクライアントロールは、UAMSクライアントをインストールおよび設定します。
設定
要件
- Windowsホストを使用する場合、ansible.windowsコレクションが必要です。次のコマンドでコントローラーホストにインストールしてください。
ansible-galaxy collection install ansible.windows
インストール
UAMSクライアントロールをAnsible Galaxyからインストールします。
ansible-galaxy install solarwinds.uamsclient
ホストにUAMSクライアントをデプロイするには、environment
キーの下にアクセス トークン
、ロール
、SWO URL
を追加します。値はハードコーディングできますが、少なくともアクセス トークン
については変数を使用し、トークンを平文で公開しないことをお勧めします。
UAMS_HTTPS_PROXY
環境変数を使用してHTTPSプロキシを設定することもできます。この変数を定義して希望のHTTPSプロキシを指すようにします。この環境変数は、UAMSクライアントとそのプラグインによって確立された接続に対してのみHTTPSプロキシを設定します。インストール中にHTTPSプロキシを使用するには、Ansibleが使用できるように機械にHTTPSプロキシを設定してください。
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クライアントロールをAnsible Galaxyからインストールします。
ansible-galaxy install solarwinds.uamsclient
ホストからUAMSクライアントをアンインストールするには、プレイブックを実行する際にuninstall
タグを追加します。
例:
ansible-playbook -i inventory playbook.yml --tags uninstall
CIテストで使用するサンプルプレイブックを参照してください。
UAMSクライアントにDBOプラグインを追加
概要
このAnsibleロールは、UAMSクライアント用のDBOプラグインをインストールおよび設定します。DBOプラグインをインストールするには、次のコマンドを実行してください:
ansible-playbook -i inventory playbook.yml --tags dbo
これにより、インベントリまたは変数ファイルで指定されたdbo
タグに関連するタスクが実行され、DBOプラグインがインストールおよび設定されます。
プレイブックを実行する前に、インベントリやシークレットが適切に構成されていることを確認してください。
設定
DBOプラグインを使用するには、Ansibleインベントリまたはシークレットファイルに必要な変数を定義する必要があります。以下は、これらの変数の形式です: また、DBOプラグインをインストールするために、APIへのフルアクセスを持つトークンを提供する必要があります。
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)、設定>ジョブで「ロールダウンロードを有効にする」を有効にし、Ansible Galaxyの資格情報を
organization
レベルで設定する必要があります。roles/requirements.yml
がプロジェクトリポジトリに存在し、必要なロールを含んでいる必要があります(例はこちら)。 アクセス トークン
、ロール
、およびSWO URL
を表す変数の値は、AWXインターフェースから提供する必要があります。- プレイブックには、AWXインベントリで定義されたホストグループ(または個々のホスト)と一致する
hosts:
値が含まれている必要があります。正しい値が提供されていない場合、AWXで「ジョブテンプレート」を作成できません。 - 「ジョブテンプレート」で
特権昇格
を設定すると、実行コンテナに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