Skip to content

Utiliser les modèles de données

Les modèles de données permettent de collecter des informations structurées sur vos agents via des scripts exécutés localement. Contrairement aux checks, qui servent à détecter des problèmes, les modèles servent à inventorier et consulter des données : versions applicatives, certificats TLS, configuration des services, caractéristiques matérielles, etc.

Un modèle est composé de champs. Chaque champ est associé à un script indépendant, exécuté sur chaque agent lié au modèle. Les valeurs collectées sont historisées et consultables directement depuis la vue du modèle ou la fiche de l’agent.

Concept Description
Modèle Structure nommée regroupant un ensemble de champs. Exemple : « Inventaire applicatif ».
Champ Colonne du modèle. Chaque champ a un nom et un script de collecte associé.
Script de collecte Script shell exécuté localement sur l’agent pour remonter la valeur du champ.
Agent lié Agent affecté au modèle. Il exécute les scripts de chaque champ et remonte les résultats.
Tableau de données Vue synthétique affichant les valeurs collectées par agent et par champ.
  1. Rendez-vous dans la section Modèles de la plateforme.
  2. Cliquez sur Ajouter un modèle.
  3. Renseignez les champs suivants :
    • Nom : identifiant du modèle (ex. : Inventaire applicatif)
    • Description : courte description de la finalité du modèle
  4. Validez en cliquant sur Ajouter.

Le modèle apparaît ensuite dans la liste. Cliquez sur Modifier pour accéder à sa configuration complète.

La vue de configuration d’un modèle comporte trois onglets :

Affiche les données collectées sous forme de tableau avec une ligne par agent et une colonne par champ. Vous pouvez :

  • Rechercher dans les données via la barre de recherche.
  • Trier les colonnes en cliquant sur l’en-tête d’un champ.
  • Paginer les résultats (10, 25 ou 50 agents par page).
  • Afficher les valeurs longues (> 200 caractères) en cliquant sur Afficher tous les éléments.

Permet de modifier les informations générales du modèle et de gérer ses champs.

Mettez à jour le Nom et la Description du modèle, puis cliquez sur Enregistrer.

  1. Dans la section Ajouter un champ, saisissez le Nom du champ (ex. : Version Java).
  2. Cliquez sur Ajouter (ou appuyez sur Entrée).

Le champ apparaît dans la liste des champs existants.

Chaque champ dispose d’un script de collecte indépendant :

  1. Dans la liste Champs, cliquez sur un champ pour l’éditer.
  2. Rédigez votre script de collecte dans l’éditeur. Le script sera exécuté sur chaque agent lié au modèle.
  3. Cliquez sur Valider pour enregistrer le script.

Exemple de script pour récupérer la version de Java :

#!/bin/bash
java -version 2>&1 | head -1

Exemple de script pour récupérer la date d’expiration d’un certificat TLS :

#!/bin/bash
echo | openssl s_client -connect localhost:443 2>/dev/null \
| openssl x509 -noout -enddate 2>/dev/null \
| cut -d= -f2

La valeur retournée par le script (stdout) est stockée comme valeur du champ pour l’agent concerné.

Dans la liste Champs, cliquez sur Supprimer à côté du champ à retirer. Cette action est immédiate et retire le champ du modèle.

Permet d’associer des agents au modèle. Seuls les agents liés exécuteront les scripts et feront remonter des données.

  1. Parcourez la liste des agents disponibles ou utilisez la barre de recherche et les filtres pour affiner la sélection.
  2. Cliquez sur une carte agent pour la sélectionner ou la désélectionner.
  3. Utilisez Tout sélectionner pour sélectionner tous les agents filtrés d’un coup.
  4. Cliquez sur Enregistrer pour appliquer les modifications.

Le badge affiché sur l’onglet indique le nombre d’agents actuellement sélectionnés.

Une fois les agents associés et les scripts configurés, les agents exécutent les scripts et remontent les valeurs. Pour consulter les résultats :

  1. Ouvrez le modèle concerné.
  2. Accédez à l’onglet Tableau.
  3. Le tableau affiche une ligne par agent et une colonne par champ.

Les données sont historisées : chaque collecte est conservée pour permettre un suivi dans le temps.

Pour accéder rapidement à un modèle depuis n’importe quelle page de la plateforme, vous pouvez l’épingler dans la ContextBar :

  1. Ouvrez le modèle.
  2. Cliquez sur le bouton Épingler dans l’en-tête.
  3. Le modèle est alors accessible depuis la ContextBar latérale (icône violette confirmant l’épinglage).

Cliquez à nouveau sur Épinglé pour désépingler.

Champ Script
Version Java java -version 2>&1 | head -1
Version Python python3 --version 2>&1
Version Nginx nginx -v 2>&1
Champ Script
Expiration certificat openssl x509 -enddate -noout -in /etc/ssl/certs/mon-cert.pem
Émetteur openssl x509 -issuer -noout -in /etc/ssl/certs/mon-cert.pem
Champ Script
CPU lscpu | grep 'Model name' | awk -F: '{print $2}' | xargs
RAM totale free -h | awk '/Mem:/{print $2}'
Espace disque df -h / | awk 'NR==2{print $4}'
  • Un script = une valeur simple : privilégiez des scripts qui retournent une valeur courte et lisible plutôt qu’un bloc de texte brut.
  • Gérez les erreurs : assurez-vous que votre script retourne une valeur cohérente même en cas d’échec (ex. : N/A ou un code d’erreur explicite).
  • Nommez clairement vos champs : le nom du champ sert d’en-tête de colonne dans le tableau — soyez précis (ex. : Version Java plutôt que version).
  • Limitez la taille des sorties : les valeurs supérieures à 200 caractères sont tronquées dans le tableau. Si vous avez besoin de données volumineuses, découpez l’information en plusieurs champs.