Sur les grands environnements, la majorité de la charge CPU va être consommée par les sondes de supervision. Quand elles sont nombreuses et qu'elles sont ordonnancées avec des intervalles de temps différents, il peut être difficile :
C'est pour répondre à ces problématiques que nous avons crée cette commande.
Vous trouverez des exemple d'analyses de résultat de la commande dans les pages suivantes :
Cette commande interroge les Schedulers, car ce sont eux qui centralisent les informations de temps d'exécution des sondes de supervision.
La commande "shinken-scheduler-export-data" est seulement utilisable sur le serveur de l'Arbiter. En effet, elle se connecte sur tous les Schedulers, et c'est le seul démon habilité à cela.
La commande va lire la configuration depuis /etc/shinken et va pouvoir se connecter sur tous les Schedulers qui sont définis dans l'architecture. La récupération peut se faire de deux manières différentes :
Il est possible de désactiver l'extraction pour un Scheduler via l'option défini dans son fichier de configuration dans la clé : scheduler__export_data__enabled. ( Voir la page Le Scheduler )
La commande accepte les options suivantes :
Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Entier | sec | 10 | Permets de configurer le temps d'attente acceptée sur les appels des Schedulers avant de retourner une erreur. | ||
| Booléen | --- | False | L'export se fait de façon anonyme, c'est-à-dire que les noms des éléments ne seront pas visibles. Si activé, l'export demandera également les noms des éléments ( Pour ce faire, il utilisera la variable scheduler__export_data__password qui devra être configurée dans les .cfg des Schedulers, voir la page Le Scheduler ). | ||
| Texte | --- | Prends le nom du royaume que l'on souhaite utiliser comme filtre afin de n'avoir que des Schedulers de ce royaume dans notre extraction de données. ( on ne peut mettre qu'un seul royaume dans le filtre ) | |||
| Entier | sec | 0 | Cette option permet à partir de la date du check suivant et du check_interval d'un élément d'extrapoler sur la période fourni l'exécution des checks. Cela permet de simuler l'exécution des checks sur une période.
Par exemple avec --simulation-extra-period à 3600 un check avec un intervalle de vérification à une minute génèrera 60 lignes. Avec une ligne qui représente une exécution de check.
| ||
| Booléen | --- | False | Si activé, la commande ne s’arrêtera plus si un ou plusieurs Scheduler est éteint/mal configuré, ou s'il ne répond pas ( timeout ). | ||
| --- | --- | --- | Rajout des données exportées dans le terminal. |
Le lancement de la commande fera deux choses :
Deux exemples seront fournis pour agrémenter la documentation:
Exemple 1 : exécution avec toutes les données ( --full ) et sans simulation dans le futur.
shinken-scheduler-export-data --full |
Exemple 2 : exécution anonyme avec une demande de simulation d'une heure supplémentaire ( --simulation-extra-period=3600 )
shinken-scheduler-export-data --simulation-extra-period=3600 |
Le retour donne :
|
|
À noter que dans l'exemple 2, le nombre de lignes est bien plus élevée à causes des nombreuses lignes de la simulation ( 3163 au lieu de 55 dans notre exemple ).
Elle va générer un fichier csv dans le répertoire /tmp du serveur dont le nom va dépendre des options utilisées :
/tmp/dump-schedulers--not-expanded--with-names--2023-01-31-14h32m54s.csv
/tmp/dump-schedulers--expanded-3600s--anonymous--2023-01-31-14h31m32s.csv
Dans le fichier CSV, on a les données suivantes :
Les fichiers CSV générés peuvent être importés dans un tableur comme Excel.
|
Vu que le fichier a une première ligne avec la description des champs, il faut bien activer "Mes données ont des en-têtes".
|
Sur la phase suivante, il faut bien placer le séparateur sur "Virgule".
|
Si la majorité des champs sont des formats simples ( chaines de caractères ou entier ), deux colonnes sont particulières et on doit indiquer à Excel comment les interpréter :
|
|
Excel nous demande alors où charger ces données. Il est plus simple et lisible de le charger dans une "Nouvelle feuille de calcul" que l'on pourra renommer facilement.
|
Voici un exemple de ce qu'on obtient finalement :
|