Utiliser les labels dynamiques
Introduction
Section titled “Introduction”Les labels dynamiques permettent de classifier automatiquement vos agents en exécutant une commande shell sur chaque agent. La valeur retournée par la commande devient le label de l’agent pour cette clé.
Si la sortie de la commande contient des virgules, chaque partie devient une valeur distincte. Ces valeurs sont filtrables dans le tableau des agents.
Par exemple, une commande qui retourne nginx,postgres attribuera deux valeurs au label : nginx et postgres.
Concepts clés
Section titled “Concepts clés”| Concept | Description |
|---|---|
| Label | Clé de classification (ex. : Région, Environnement, Services). |
| Commande | Script exécuté localement sur l’agent pour produire la valeur du label. |
| Valeur | Résultat de la commande retourné par l’agent. Si elle contient des virgules, chaque partie est une valeur distincte. |
Créer un label dynamique
Section titled “Créer un label dynamique”- Rendez-vous dans la section Labels dynamiques de la plateforme.
- Cliquez sur Créer un label.
- Renseignez les champs du formulaire :
- Label : nom de la clé de classification (ex. :
Région,Environnement). Champ obligatoire. - Commande : commande shell à exécuter sur l’agent pour produire la valeur. Champ obligatoire.
- Label : nom de la clé de classification (ex. :
- Cliquez sur Créer pour valider.
Le label apparaît dans la liste. Sa valeur sera collectée sur chaque agent lors de la prochaine exécution.
Exemples de commandes
Section titled “Exemples de commandes”Détecter l’environnement
Section titled “Détecter l’environnement”if [ -f /etc/production ]; then echo "production"; else echo "staging"; fiLister les services actifs (valeurs multiples)
Section titled “Lister les services actifs (valeurs multiples)”systemctl is-active nginx postgresql redis 2>/dev/null | paste - - - | awk '{ if ($1=="active") printf "nginx,"; if ($2=="active") printf "postgresql,"; if ($3=="active") printf "redis"}'La sortie
nginx,postgresqlsera automatiquement séparée en deux valeurs :nginxetpostgresql.
Récupérer la région ou le datacenter
Section titled “Récupérer la région ou le datacenter”hostname -f | cut -d. -f2Détecter le système d’exploitation
Section titled “Détecter le système d’exploitation”uname -sModifier un label dynamique
Section titled “Modifier un label dynamique”- Dans la liste des labels, cliquez sur Modifier à côté du label concerné.
- Le formulaire se pré-remplit avec les valeurs actuelles (Label et Commande).
- Apportez vos modifications.
- Cliquez sur Mettre à jour pour enregistrer, ou Annuler pour fermer sans sauvegarder.
Supprimer un label dynamique
Section titled “Supprimer un label dynamique”Dans la liste des labels, cliquez sur Supprimer à côté du label à retirer. Une confirmation est demandée avant la suppression définitive.
Rechercher un label
Section titled “Rechercher un label”Utilisez la barre de recherche pour filtrer la liste des labels. La recherche porte sur le nom du label et sur le contenu de la commande.
Utiliser les labels dans le tableau des agents
Section titled “Utiliser les labels dans le tableau des agents”Une fois les labels collectés, ils apparaissent dans le tableau des agents. Vous pouvez filtrer vos agents par valeur de label pour cibler précisément un sous-ensemble de votre parc.
Exemples d’usage :
- Afficher uniquement les agents en environnement
production - Isoler les agents exécutant
nginx - Filtrer les agents d’une région spécifique
Bonnes pratiques
Section titled “Bonnes pratiques”- Retournez une valeur courte et stable : les labels sont faits pour classer, pas pour décrire. Préférez
productionàServeur de production (actif). - Utilisez les virgules pour les labels multi-valeurs : si un agent joue plusieurs rôles, retournez-les séparés par des virgules (
nginx,redis). - Gérez les cas vides : si la commande ne retourne rien (agent non concerné), aucune valeur ne sera attribuée — c’est le comportement attendu.
- Testez votre commande manuellement sur un agent avant de la configurer, pour vérifier le format de sortie.