solarwinds.uamsclient
Rôle Client UAMS Ansible
Le rôle client UAMS Ansible installe et configure le client UAMS.
Configuration
Exigences
- Lorsque vous l'utilisez avec des hôtes Windows, la collection ansible.windows est requise. Veuillez l'installer sur l'hôte de contrôle avec la commande suivante :
ansible-galaxy collection install ansible.windows
Installation
Installez le rôle Client UAMS depuis Ansible Galaxy
ansible-galaxy install solarwinds.uamsclient
Pour déployer le client UAMS sur des hôtes, ajoutez le jeton d'accès
, le rôle
et l'URL swo
à votre playbook sous la clé environment
. Les valeurs peuvent être codées en dur mais, au moins pour le jeton d'accès
, il est recommandé d'utiliser une variable et de ne pas exposer le jeton en texte clair.
Vous avez la possibilité de définir un proxy HTTPS en utilisant la variable d'environnement UAMS_HTTPS_PROXY
. Il suffit de définir cette variable pour pointer vers votre proxy HTTPS souhaité. N'oubliez pas que la variable d'environnement UAMS_HTTPS_PROXY
configure le proxy HTTPS uniquement pour les connexions établies par le client UAMS et ses plugins. Pour utiliser un proxy HTTPS lors de l'installation, configurez le proxy HTTPS sur votre machine afin qu'ansible puisse l'utiliser.
environment:
UAMS_ACCESS_TOKEN: "VOTRE_JETON_D_ACCES_SWO"
UAMS_METADATA: "RÔLE"
SWO_URL: "https://swo-url"
UAMS_HTTPS_PROXY: "https://votre-proxy" # facultatif
UAMS_OVERRIDE_HOSTNAME: "nom_personnalisé" # facultatif
Veuillez trouver un exemple de playbook que nous utilisons dans les tests CI.
Surcharge du nom d'hôte
La variable d'environnement facultative UAMS_OVERRIDE_HOSTNAME
est utilisée pour définir un nom d'Agent personnalisé. Par défaut, le nom de l'Agent est défini sur le nom d'hôte. Vous pouvez attribuer une valeur à cette variable en utilisant des variables du fichier d'inventaire. Voici un exemple ci-dessous.
# Fichier d'inventaire
[test_servers]
192.168.0.123 ansible_user=user override_hostname=web_server1
192.168.0.124 ansible_user=user override_hostname=web_server2
# Fichier de playbook
environment:
UAMS_OVERRIDE_HOSTNAME: "DEV_{{ override_hostname }}"
Désinstallation
Pour désinstaller le client UAMS sur des hôtes, ajoutez le tag uninstall
lorsque vous exécutez un playbook.
Exemple :
ansible-playbook -i inventory playbook.yml --tags uninstall
Veuillez trouver un exemple de playbook que nous utilisons dans les tests CI.
Ajout du Plugin DBO au Client UAMS
Aperçu
Ce rôle Ansible installe et configure le plugin DBO pour le client UAMS. Pour installer le plugin DBO, vous devez exécuter la commande suivante :
ansible-playbook -i inventory playbook.yml --tags dbo
Cela exécutera les tâches associées au tag dbo
, installant et configurant le plugin DBO comme spécifié dans vos fichiers d'inventaire ou de variables. Assurez-vous que votre inventaire et/ou vos secrets sont correctement configurés avant d'exécuter le playbook.
Configuration
Pour utiliser le plugin DBO, vous devez définir les variables nécessaires dans votre inventaire Ansible ou votre fichier de secrets. Voici le format de ces variables : De plus, vous devez fournir un jeton avec un accès complet pour accéder à l'API afin d'installer des plugins DBO.
uams_full_access_token: "<jeton_d'accès_complet>"
dbo_plugin:
- databaseType: "mongo"
name: "mongodb profiler sur dev-amd64-mu écoutant sur 10.0.2.2:27018"
host: "10.0.2.2"
port: "27018"
user: "myUser"
password: "<mot_de_passe>"
packetCaptureEnabled: false
metricsCaptureMethod: "profiler"
Moyens de Fournir des Variables
- Fichier d'Inventaire : vous pouvez définir directement les variables
dbo_plugin
etuams_full_access_token
dans votre fichier d'inventaire. - Variables de Groupe ou d'Hôte
- Ansible Vault
Pour des informations sensibles telles que les mots de passe, il est recommandé d'utiliser Ansible Vault pour chiffrer vos variables. Vous pouvez créer un fichier chiffré pour vos secrets :
Chiffrez ce fichier en utilisant la commande suivante :
ansible-vault encrypt path/to/secrets.yml
Puis référez-vous à ce fichier dans votre playbook ou votre fichier d'inventaire :
vars_files:
- path/to/secrets.yml
Variables de rôle
Variable | Description |
---|---|
uams_local_pkg_path |
Remplace le chemin où le package d'installation est stocké (par défaut : /tmp/uams) |
uams_local_pkg_path_windows |
Remplace le chemin où le package d'installation est stocké sur Windows (par défaut : valeur de la variable d'environnement TEMP) |
uams_remove_installer |
Si le package d'installation doit être supprimé (par défaut : vrai) |
AWX
Le rôle client UAMS peut également être utilisé dans la configuration AWX. Les points suivants doivent être pris en compte :
- AWX doit être configuré pour télécharger des rôles depuis Ansible Galaxy. À l'heure actuelle (avec AWX 0.30.0), cela doit être activé dans Paramètres > Travaux (
Activer le téléchargement de rôles
) et des identifiants Ansible Galaxy doivent également être configurés au niveau de l'organisation
. Le fichierroles/requirements.yml
doit être présent dans le dépôt du projet et contenir le rôle requis (exemple ci-dessous). - Les valeurs des variables représentant le
jeton d'accès
, lerôle
et l'URL swo
doivent être fournies depuis l'interface AWX. - Le playbook doit contenir une valeur
hosts:
correspondant au groupe d'hôtes (ou à un hôte individuel) défini dans l'inventaire AWX. Le playbook n'est pas disponible dans AWX pour la création detemplates de job
si la valeur appropriée n'a pas été fournie. - La définition de
l'escalade des privilèges
dans letemplate de job
peut provoquer des échecs pour les tâches déléguées à localhost en raison de l'absence de la commandesudo
dans le conteneur d'exécution.
Exemples de configuration AWX
Playbook
---
- name: Installer le client UAMS
# Groupe d'hôtes existant depuis l'inventaire
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
Si version
est omis, la dernière version sera installée.
roles:
- src: solarwinds.uamsclient
version: 1.8.0
ansible-galaxy install solarwinds.uamsclient