Vous êtes ici:

Menu


Stacks Image 8983
L'interface de Centreon permet l'affichage de graphes alimentés par les données de performances des plugins. Centreon utilise des bases de données métriques au format RRD (Round Robin Database) créé par Tobias Oetiker. Nous allons étudier la gestion de ces graphes et présenter quelques cas pratiques.

1 Les durées de rétention des données RRD

Centreon, par défaut, paramètre les durées de rétention des données de performances de la façon suivantes :
- un an en base de données dans la database centreon_storage
- six mois dans chaque graphe d'un service.
Vous pouvez changer ses valeurs en sélectionnant le menu Administration -> Paramètres -> Options
Stacks Image 12626
gestion de la durée de rétention des données
Si vous changez la durée de rétention des graphes en l'augmentant, il faudra relancer le broker rrd pour prendre en charge cette modification. En ligne de commande, lancez :
service cbd restart
De cette manière, tout nouveau graphe rrd sera créé avec la durée de rétention choisie. Mais que faire pour les graphes déjà créés avec une durée de rétention de 6 mois ? Car malheureusement, les fichiers RRD ne sont pas dynamiques, ils sont créés avec une taille fixe lors de leur initialisation. Ainsi, malgré une durée de rétention d'un an pour les graphes RRD, vous pouvez obtenir ce type de graphe.
Stacks Image 43683
Graphe RRD dont les données sont tronquées car le fichier avait été initialisé avec une durée de rétention de 6 mois.
Heureusement, Centreon permet la regénération des graphes RRD. Sélectionnez le menu Administration -> Paramètres -> Data
Stacks Image 12663
Reconstruire une base RRD
Recherchez le service en cause, sélectionnez-le et choisissez l'action "Regénérer les bases de données RRD" (rebuild RRD Database). Automatiquement, le service concerné sera flaggé "En attente de reconstruction" (Rebuild Waiting). C'est le broker RRD qui va gérer la reconstruction des bases en piochant les données dans la table data_bin de la base centreon_storage.
Stacks Image 12702
Le service est en attente de reconstruction
Après que le service broker termine sa reconstruction, vous pouvez visualiser votre graphe avec les données manquantes.
Stacks Image 43695
Graphe RRD complet.
La reconstruction de notre base RRD n'est pas sans conséquence dans ce sens ( six mois vers un an ). La taille des fichiers RRD aura doublé. Vous devrez en tenir compte. Nous allons d'ailleurs y revenir pour estimer la taille du disque qui hébergera ces données.

2 Réduire le nombre de métriques d'un plugin Centreon

Certains plugins Centreon affichent par défaut de nombreuses métriques. Prenons le cas du plugin Web Application Analytics (Selenium). Celui-ci affiche au minimum six métriques. A celles-ci, il faut rajouter une métrique par étapes du scénario et dans notre exemple, nous aurons douze métriques.
Stacks Image 12739
Exemple du plugin
Voici l'espace occupé pour un an de rétention et une vérification toutes les cinq minutes :
statut du service : 1 fichier de 911 Ko
12 métriques : 12 fichiers de 911 Ko
soit au total : environ 12 Mo
Pour économiser de l'espace disque, nous pouvons réduire les données de performances en n'affichant que les métriques pertinentes. Prenons l'exemple de notre scénario.
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::selenium::plugin --mode=scenario-katalon --selenium-hostname=127.0.0.1 --selenium-port=4444 --directory=/var/lib/centreon_waa --scenario=testcentreon --timeout=30 --warning-time-scenario=900 --critical-time-scenario=1200
OK: Successful steps : 6/6 (100.00%), Failed steps : 0/6 (0.00%), Total execution time : 412.29 ms - All steps state are ok | 'successful'=6;;;0;6 'successful_prct'=100.00%;;;0;100 'failed'=0;;;0;6 'failed_prct'=0.00%;;;0;100 'time_scenario'=412.29ms;0:900;0:1200;0; 'time_step_1'=246.17ms;;;0; 'time_step_2'=56.05ms;;;0; 'time_step_3'=28.57ms;;;0; 'time_step_4'=30.41ms;;;0; 'time_step_5'=23.14ms;;;0; 'time_step_6'=25.14ms;;;0;
Les informations qui me semblent les plus pertinentes sont le nombre d'étapes réussies, le nombre d'étapes en échec et le temps total du scénario, soit trois métriques. Nous utiliserons l'option filter-perfdata qui permet le filtrage des métriques. Cette option utilise les regexp de Perl, nous afficherons les métriques dont le nom correspond à la chaîne de caractère indiqué dans l'option. Nous rechercherons les métriques successful, failed et time_scenario. Voici la commande :
/usr/lib/centreon/plugins/centreon_plugins.pl --plugin=apps::selenium::plugin --mode=scenario-katalon --selenium-hostname=127.0.0.1 --selenium-port=4444 --directory=/var/lib/centreon_waa --scenario=testcentreon --timeout=30 --warning-time-scenario=900 --critical-time-scenario=1200 --filter-perfdata='^time_scenario$|^successful$|^failed$'
OK: Successful steps : 6/6 (100.00%), Failed steps : 0/6 (0.00%), Total execution time : 449.47 ms - All steps state are ok | 'successful'=6;;;0;6 'failed'=0;;;0;6 'time_scenario'=449.47ms;0:900;0:1200;0;
Modifions notre commande de vérification en rajoutant une macro $_SERVICEOPTION$. Avec cette méthode, il sera possible de rajouter plusieurs options en fonction de vos besoins.
Stacks Image 12775
commande de vérification
Saisissez les informations pour la macro OPTIONS dans le service ou le template de service si vous voulez appliquer la modification à tous les services utilisant la commande de vérification.
Stacks Image 12823
Modification du template
Appliquez la modification en générant la nouvelle configuration. Vérifiez que vous n'avez que trois métriques dans les données de performances.
Stacks Image 12842
réduction des métriques
Par contre, le graphe affiche toujours les douze métriques. Il faudra donc supprimer les métriques correspondantes. Sélectionnez le menu Administration -> Paramètres -> Data. Cliquez sur le service correspondant pour afficher les métriques du graphe. Cochez les métriques à supprimer et sélectionnez l'action Delete graphs.
Stacks Image 12859
Suppression des métriques inutiles
Il vous reste trois métriques.
Stacks Image 12876
Les trois métriques restantes
Voici le graphe avec les trois métriques. La taille totale du graphe sera de 3,6 Mo environ au lieu de 12 Mo.
Stacks Image 12893
le graphe avec ses trois métriques

3 Calculer la taille des fichiers RRD

La taille des fichiers RRD dépend de la durée de rétention des données et de l'intervalle de vérification du service. Voici un tableau qui vous permet de comparer la taille des fichiers RRD.
Stacks Image 43720
Au minimum par service, vous aurez un fichier RRD pour les statuts stocké dans /var/lib/centreon/status et un fichier RRD pour une métrique stocké dans /var/lib/centreon/metrics. Je préfère allouer une moyenne de 2 métriques par défaut pour un service pour essayer de déterminer une prévision d'espace à prévoir pour les dossiers RRD. L'espace disque peut être calculé de la façon suivante :
Stacks Image 43725
Bien sûr, c'est une estimation approximative.

4 Quelques commandes RRD intéressantes

Voici quelques commandes intéressantes pour vos fichiers RRD. Afficher les informations d'un fichier RRD.
rrdtool info /var/lib/centreon/metrics/643.rrd | more
filename = "/var/lib/centreon/metrics/643.rrd"
rrd_version = "0003"
step = 1
last_update = 1534247258
header_size = 752
ds[value].index = 0
ds[value].type = "GAUGE"
ds[value].minimal_heartbeat = 3000
ds[value].min = NaN
ds[value].max = NaN
ds[value].last_ds = "52.000000"
ds[value].value = 0,0000000000e+00
ds[value].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 105121
rra[0].cur_row = 63934
rra[0].pdp_per_row = 300
rra[0].xff = 5,0000000000e-01
rra[0].cdp_prep[0].value = 8,2160000000e+03
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 8761
rra[1].cur_row = 5434
rra[1].pdp_per_row = 3600
rra[1].xff = 5,0000000000e-01
rra[1].cdp_prep[0].value = 1,4587800000e+05
rra[1].cdp_prep[0].unknown_datapoints = 0
Afficher toutes les valeurs enregistrées dans un fichier RRD au format XML.
rrdtool dump /var/lib/centreon/metrics/643.rrd | more




	0003
	1 
	1534247258 

	
		 value 
		 GAUGE 
		3000
		NaN
		NaN

		
		52.000000
		0.0000000000e+00
		 0 
	

	
	
		AVERAGE
		300 

		
		5.0000000000e-01
		
		
			
			5.1473333333e+01
			5.2000000000e+01
			8.2160000000e+03
			0
			
		
		
			 NaN
			 NaN
			 NaN
			 NaN
			 NaN
Afficher la date de la première valeur enregistrée dans un fichier RRD. Cela permet de voir rapidement, la durée de rétention des données d'un fichier RRD.
date -d @`rrdtool first /var/lib/centreon/metrics/637.rrd`
lundi 14 août 2017, 09:40:00 (UTC+0200)
Afficher la date de la dernière valeur enregistrée dans un fichier RRD
date -d @`rrdtool last /var/lib/centreon/metrics/637.rrd`
mardi 14 août 2018, 09:40:31 (UTC+0200)
Vous trouverez d'autres informations sur les fichier RRD sur cette page Gérer le graphe.
comments powered by Disqus
 Vous êtes ici: