En phase de debug du Scheduler, on peut être amené à vérifier si les ordonnancement de checks sont corrects, et surtout bien étalés dans le temps. Si nous avons des pics d'ordonnancement, c'est très dangereux pour la stabilité de la plateforme.
Pour cela, nous allons extraire des informations issues de la commande shinken-scheduler-export-data afin d'avoir:
Pour cela, nous allons avoir besoin d'un dump de données avec en option une prévision de la charge sur une période, disons par exemple 1 heure. Il suffit alors de lancer la commande comme ceci:
shinken-scheduler-export-data --full --expand-on-period=3600 |
Cette simulation ne prend pas en compte les période de vérification et les intervalle de nouvelles tentatives de confirmations d'état ( retry_interval ) donc les valeurs donnée par cette simulation ne seront pas exacte. |
Avec ce lancement les noms (hôte, check, commandes et royaumes) seront présents dans l'export. Il est tout à fait possible de faire l'analyse sur un export en "anonyme" ( sans l'option --full ), des hash des noms des royaumes seront utilisés au lieu des noms finaux. Pour retrouver le nom des royaumes, le client pourra prendre l'UUID d'un hôte qui a ce royaume, et trouver son nom via l'interface de visualisation ou de configuration, comme indiqué sur la page TIPS - Récupérer l'UUID d'un élément ( Cluster / Hôte / Check ) |
L'importation du fichier .csv généré est décrit dans FOR SHINKEN TEAM - shinken-scheduler-export-data : export des données du Scheduler
A noter également: c'est une limitation connue que pour l'instant le Scheduler fait un ordonnancement basés sur le nombre de checks et NON sur leur temps CPU consommé. Il peux être donc utile de faire une représentation basé sur le temps CPU consommé, mais pour l'instant ( février 2023 ) le Scheduler n'a pas de moyen de jouer sur cet ordonnancement là.
Nous allons avoir besoin d'une consolidation de données pour avoir le nombres de checks par secondes. Pour l'instant, avec le chargement standard de Excel, on remarque que le champ scheduled_date est affiché en minute, ce qui est trop large pour notre analyse.
|
Pour modifier le format de la colonne scheduled_date, il faut sélectionner la colonne et choisir "Format de cellule" dans le menu déroulant
|
Le format Date étant trop limité, on doit:
|
On obtient bien l'affichage souhaité:
|
Une fois que nos colonnes sont valides, on passe à la création proprement dite du tableau croisé dynamique, par "Insertion → Tableau croisé dynamique"
|
Dans notre consolidation, nous avons besoin d'avoir par seconde le nombre de checks.
Le champ scheduled_date sera donc notre première colonne:
|
Puis on rajoute pour chaque seconde le nombre de checks qu'il y avait à cette seconde.
Donc ça sera notre seconde colonne: le nombres de fois où on a eu les valeurs de scheduled_date
|
Le tableau est prêt, on passe à la création du graphique:
|
On obtient alors notre diagramme final:
|