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

  1. Inventardatei: Sie können die Variablen dbo_plugin und uams_full_access_token direkt in Ihrer Inventardatei definieren.
  2. Gruppen- oder Hostvariablen
  3. 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:

  1. 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 der Organisation-Ebene konfiguriert werden. Die roles/requirements.yml muss im Projekt-Repository vorhanden sein und die erforderliche Rolle enthalten (Beispiel unten).
  2. Werte für Variablen, die access token, role und swo url repräsentieren, sollten über die AWX-Oberfläche bereitgestellt werden.
  3. 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 von Job-Templates verfügbar, wenn der korrekte Wert nicht bereitgestellt wurde.
  4. Das Festlegen von Privilege escalation im Job-Template kann zu einem Fehler für Aufgaben führen, die auf localhost delegiert sind, da der Befehl sudo 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
Über das Projekt

SolarWinds UAMS Client Installer

Installieren
ansible-galaxy install solarwinds.uamsclient
GitHub Repository
Lizenz
mit
Downloads
5.5k
Besitzer