Utiliser les modèles de données
Introduction
Section titled “Introduction”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.
Concepts clés
Section titled “Concepts clés”| 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. |
Créer un modèle
Section titled “Créer un modèle”- Rendez-vous dans la section Modèles de la plateforme.
- Cliquez sur Ajouter un modèle.
- Renseignez les champs suivants :
- Nom : identifiant du modèle (ex. :
Inventaire applicatif) - Description : courte description de la finalité du modèle
- Nom : identifiant du modèle (ex. :
- Validez en cliquant sur Ajouter.
Le modèle apparaît ensuite dans la liste. Cliquez sur Modifier pour accéder à sa configuration complète.
Configurer un modèle
Section titled “Configurer un modèle”La vue de configuration d’un modèle comporte trois onglets :
Onglet Tableau
Section titled “Onglet Tableau”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.
Onglet Configuration
Section titled “Onglet Configuration”Permet de modifier les informations générales du modèle et de gérer ses champs.
Modifier le nom et la description
Section titled “Modifier le nom et la description”Mettez à jour le Nom et la Description du modèle, puis cliquez sur Enregistrer.
Ajouter un champ
Section titled “Ajouter un champ”- Dans la section Ajouter un champ, saisissez le Nom du champ (ex. :
Version Java). - Cliquez sur Ajouter (ou appuyez sur Entrée).
Le champ apparaît dans la liste des champs existants.
Configurer le script d’un champ
Section titled “Configurer le script d’un champ”Chaque champ dispose d’un script de collecte indépendant :
- Dans la liste Champs, cliquez sur un champ pour l’éditer.
- Rédigez votre script de collecte dans l’éditeur. Le script sera exécuté sur chaque agent lié au modèle.
- Cliquez sur Valider pour enregistrer le script.
Exemple de script pour récupérer la version de Java :
#!/bin/bashjava -version 2>&1 | head -1Exemple de script pour récupérer la date d’expiration d’un certificat TLS :
#!/bin/bashecho | openssl s_client -connect localhost:443 2>/dev/null \ | openssl x509 -noout -enddate 2>/dev/null \ | cut -d= -f2La valeur retournée par le script (stdout) est stockée comme valeur du champ pour l’agent concerné.
Supprimer un champ
Section titled “Supprimer un champ”Dans la liste Champs, cliquez sur Supprimer à côté du champ à retirer. Cette action est immédiate et retire le champ du modèle.
Onglet Agents
Section titled “Onglet Agents”Permet d’associer des agents au modèle. Seuls les agents liés exécuteront les scripts et feront remonter des données.
- Parcourez la liste des agents disponibles ou utilisez la barre de recherche et les filtres pour affiner la sélection.
- Cliquez sur une carte agent pour la sélectionner ou la désélectionner.
- Utilisez Tout sélectionner pour sélectionner tous les agents filtrés d’un coup.
- Cliquez sur Enregistrer pour appliquer les modifications.
Le badge affiché sur l’onglet indique le nombre d’agents actuellement sélectionnés.
Consulter les données collectées
Section titled “Consulter les données collectées”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 :
- Ouvrez le modèle concerné.
- Accédez à l’onglet Tableau.
- 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.
Épingler un modèle dans la ContextBar
Section titled “Épingler un modèle dans la ContextBar”Pour accéder rapidement à un modèle depuis n’importe quelle page de la plateforme, vous pouvez l’épingler dans la ContextBar :
- Ouvrez le modèle.
- Cliquez sur le bouton Épingler dans l’en-tête.
- 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.
Exemples d’utilisation
Section titled “Exemples d’utilisation”Inventaire des versions applicatives
Section titled “Inventaire des versions applicatives”| Champ | Script |
|---|---|
| Version Java | java -version 2>&1 | head -1 |
| Version Python | python3 --version 2>&1 |
| Version Nginx | nginx -v 2>&1 |
Suivi des certificats TLS
Section titled “Suivi des certificats TLS”| 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 |
Inventaire matériel
Section titled “Inventaire matériel”| 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}' |
Bonnes pratiques
Section titled “Bonnes pratiques”- 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/Aou 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 Javaplutôt queversion). - 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.