solarwinds.uamsclient
Ansible UAMS Client Rolle
Die Ansible UAMS Client Rolle installiert und konfiguriert den UAMS Client.
Einrichtung
Anforderungen
- Bei der Verwendung mit Windows-Hosts wird die Sammlung ansible.windows benötigt. Bitte installieren Sie sie auf dem Controller-Host mit folgendem Befehl:
ansible-galaxy collection install ansible.windows
Installation
Installieren Sie die UAMS Client Rolle aus Ansible Galaxy:
ansible-galaxy install solarwinds.uamsclient
Um den UAMS Client auf Hosts bereitzustellen, fügen Sie access token
, role
und swo url
zu Ihrem Playbook unter dem Schlüssel environment
hinzu. Werte können fest codiert werden, aber für das access token
wird empfohlen, eine Variable zu verwenden und den Token nicht im Klartext anzuzeigen.
Sie haben die Möglichkeit, einen HTTPS-Proxy über die Umgebungsvariable UAMS_HTTPS_PROXY
festzulegen. Definieren Sie einfach diese Variable, um auf Ihren gewünschten HTTPS-Proxy zu verweisen. Beachten Sie, dass die Umgebungsvariable UAMS_HTTPS_PROXY
den HTTPS-Proxy nur für die vom UAMS Client und seinen Plugins hergestellten Verbindungen festlegt. Um einen HTTPS-Proxy während der Installation zu verwenden, richten Sie den HTTPS-Proxy auf Ihrem Computer ein, damit Ansible ihn verwenden kann.
environment:
UAMS_ACCESS_TOKEN: "IHRE_SWO_ACCESS_TOKEN"
UAMS_METADATA: "ROLLEN"
SWO_URL: "https://swo-url"
UAMS_HTTPS_PROXY: "https://your-proxy" # optional
UAMS_OVERRIDE_HOSTNAME: "custom_hostname" # optional
Bitte finden Sie ein Beispiel-Playbook, das wir in CI-Tests verwenden.
Hostnamen überschreiben
Die optionale Umgebungsvariable UAMS_OVERRIDE_HOSTNAME
wird verwendet, um einen benutzerdefinierten Agentennamen festzulegen. Standardmäßig wird der Agentenname auf den Hostnamen gesetzt. Sie können dieser Variable einen Wert zuweisen, indem Sie Variablen aus der Inventardatei verwenden. Siehe Beispiel unten.
# Inventardatei
[test_servers]
192.168.0.123 ansible_user=user override_hostname=web_server1
192.168.0.124 ansible_user=user override_hostname=web_server2
# Playbook-Datei
environment:
UAMS_OVERRIDE_HOSTNAME: "DEV_{{ override_hostname }}"
Deinstallation
Um den UAMS Client auf Hosts zu deinstallieren, fügen Sie beim Ausführen eines Playbooks das uninstall
Tag hinzu.
Beispiel:
ansible-playbook -i inventory playbook.yml --tags uninstall
Bitte finden Sie ein Beispiel-Playbook, das wir in CI-Tests verwenden.
Hinzufügen des DBO Plugins zum UAMS Client
Überblick
Diese Ansible-Rolle installiert und konfiguriert das DBO-Plugin für den UAMS Client. Um das DBO-Plugin zu installieren, müssen Sie den folgenden Befehl ausführen:
ansible-playbook -i inventory playbook.yml --tags dbo
Dies führt die mit dem dbo
Tag verknüpften Aufgaben aus und installiert und konfiguriert das DBO-Plugin gemäß Ihrer Inventardatei oder Variablen-Dateien.
Stellen Sie sicher, dass Ihr Inventar und/oder Geheimnisse vor Ausführung des Playbooks richtig konfiguriert sind.
Konfiguration
Um das DBO-Plugin zu verwenden, müssen Sie die erforderlichen Variablen in Ihrer Ansible-Inventardatei oder Geheimnis-Datei definieren. Unten ist das Format für diese Variablen: Zusätzlich müssen Sie ein Token mit vollem Zugriff bereitstellen, um auf die API für die Installation von DBO-Plugins zuzugreifen:
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"
Möglichkeiten zur Bereitstellung von Variablen
- Inventardatei: Sie können die Variablen
dbo_plugin
unduams_full_access_token
direkt in Ihrer Inventardatei definieren. - Gruppen- oder Hostvariablen
- Ansible Vault
Für sensible Informationen wie Passwörter wird empfohlen, Ansible Vault zu verwenden, um Ihre Variablen zu verschlüsseln. Sie können eine verschlüsselte Datei für Ihre Geheimnisse erstellen:
Verschlüsseln Sie diese Datei mit folgendem Befehl:
ansible-vault encrypt path/to/secrets.yml
Verweisen Sie dann in Ihrem Playbook oder Ihrer Inventardatei darauf:
vars_files:
- path/to/secrets.yml
Rollenvariablen
Variable | Beschreibung |
---|---|
uams_local_pkg_path |
Überschreiben Sie den Speicherort, an dem das Installationspaket gespeichert wird (Standard: /tmp/uams) |
uams_local_pkg_path_windows |
Überschreiben Sie den Speicherort, an dem das Installationspaket unter Windows gespeichert wird (Standard: Wert der TEMP-Umgebungsvariable) |
uams_remove_installer |
Ob das Installationspaket entfernt werden soll (Standard: true) |
AWX
Die UAMS Client Rolle kann auch in der AWX-Umgebung verwendet werden. Die folgenden Punkte sollten berücksichtigt werden:
- AWX muss so konfiguriert werden, dass Rollen aus Ansible Galaxy heruntergeladen werden. Zum aktuellen Zeitpunkt (mit AWX 0.30.0) muss dies in den Einstellungen > Jobs (
Enable Role Download
) aktiviert werden, und auch die Ansible Galaxy-Anmeldeinformationen müssen auf derOrganisation
-Ebene konfiguriert werden. Dieroles/requirements.yml
muss im Projekt-Repository vorhanden sein und die erforderliche Rolle enthalten (Beispiel unten). - Werte für Variablen, die
access token
,role
undswo url
repräsentieren, sollten über die AWX-Oberfläche bereitgestellt werden. - Das Playbook muss den Wert
hosts:
enthalten, der mit der in der AWX-Inventardatei definierten Hostgruppe (oder einzelnen Host) übereinstimmt. Ein Playbook ist in AWX nicht für die Erstellung vonJob-Templates
verfügbar, wenn der korrekte Wert nicht bereitgestellt wurde. - Das Festlegen von
Privilege escalation
imJob-Template
kann zu einem Fehler für Aufgaben führen, die auf localhost delegiert sind, da der Befehlsudo
im Ausführungscontainer fehlt.
Beispiele für die AWX-Einrichtung
Playbook
---
- name: UAMS Client installieren
# Bestehende Hostgruppe aus dem Inventar
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
Wenn die version
weggelassen wird, wird die neueste Version installiert.
roles:
- src: solarwinds.uamsclient
version: 1.8.0
ansible-galaxy install solarwinds.uamsclient