6.2. Métriques

La solution logicielle VITAM intègre une solution de monitoring des applications à l’aide de métriques. L’exploitant peut, s’il le souhaite, changer la configuration des remontées de métriques, ou bien utiliser celle par défaut proposée dans VITAM.

6.2.1. Configuration

6.2.1.1. Registres

Par défaut, 3 registres de métriques sont créés pour toutes les applications VITAM :

  • les métriques de Jersey
  • les métriques de la JVM (Java Virtual Machine)
  • les métriques « métier »

JERSEY : Les métriques Jersey correspondent à 3 métriques, des Timers, des Meters, et des ExceptionMeters qui vont être enregistrées pour chaque URI des API Rest de VITAM.

  • Les Meters font office de compteurs. Ils sont incrémentés de 1 chaque fois qu’une URI est requêtée.
  • Les Timers font office de chronomètres. Ils chronomètrent le temps de réponse d’une URI chaque fois que celle-ci est requêtée.
  • Les ExceptionMeters font office de compteurs. Ils sont incrémentés de 1 chaque fois qu’une URI soulève une Exception dans le code.

JVM : Les métriques JVM correspondent à des Gauges qui enregistrent des valeurs de ressources système utilisées par la Java Virtual Machine pour chaque application VITAM.

BUSINESS : Les métriques métiers correspondent à des métriques de n’importe quel type qui peuvent remonter toute donnée considérée utile dans une application VITAM.

6.2.1.2. Reporters

Par défaut, 2 reporters de métriques sont disponibles pour les applications VITAM. Les reporters de métriques sont en charge de collecter les valeurs des métriques à des intervalles réguliers.

LogBack : le reporter LogBack affiche les valeurs des métriques dans LogBack.

ELASTICSEARCH : le reporter ElasticSearch sauvegarde les valeurs des métriques dans une base de données ElasticSearch qui peut être configurée dans le fichier de configuration.

6.2.1.3. Fichier de configuration

Le fichier de configuration des métriques est situé dans /vitam/conf/<service_id>/vitam.metrics.conf. Ce fichier contient la documentation nécessaire pour configurer correctement les métriques. Une description des clés YAML y est disponible.

6.2.2. Métier

Aucun métrique n’a encore été défini à ce stade du projet.

6.2.3. Métriques techniques

6.2.3.1. Métriques système critiques

Aucun métrique n’a encore défini à ce stade du projet.

6.2.3.2. Indicateurs de SLA

Aucun indicateur n’a encore défini à ce stade du projet.

6.2.3.3. Indicateurs de performance

Aucun indicateur n’a encore défini à ce stade du projet.

6.2.4. Visualisation

Si un reporter de type ElasticSearch est configuré, alors les métriques peuvent être visualisées via l’application web Kibana.

L’application Kibana comporte 4 sections qui seront développées :

  • Discover
  • Visualize
  • Dashboards
  • Settings

Néanmoins si vous souhaitez travailler avec Kibana, il est judicieux de consulter la documentation officielle. Celle-ci n’ayant pour but qu’une présentation sommaire de l’outil.

6.2.4.1. Discover

La section Discover permet de consulter rapidement les données présentent dans un index d’ElasticSearch. Pour cela il suffit de séléctionner un index dans la barre latéral gauche, de choisir les champs que l’on souhaite consulter (optionnel) et les données apparraissent triées par ordre chronologique décroissant.

Il est possible d’effectuer des recherches poussées sur les documents, comme des expressions régulières, grace à la barre de recherche en haut de la page. Une fois la recherche executée, il peut être utile de la sauvegarder afin de la réutiliser pour des visualisations.

../_images/kibana-discover.png

6.2.4.2. Visualize

La section Visualize permet de consulter les données présentent dans ElasticSearch à travers différents graphiques statistiques. Les graphiques disponibles sont :

  • Area chart : utile pour un regroupement de séries chronologiques dans lequel le total des séries est plus important que la différence entre plusieurs séries.
  • Data table : un tableau de données classique.
  • Line chart : graphique pour des séries temporelles. Très utile pour comparer deux séries entre elles.
  • Markdown widget : utile pour insérer informations sur un dashboard Kibana.
  • Metric : représentation d’une aggrégation de données sous la forme d’un seul nombre.
  • Pie chart : un diagramme circulaire classique.
  • Tile map : représentation de coordonées géographiques sur une carte.
  • Vertical bar chart : un histogramme classique.

La barre latérale gauche du panneau de visualisation permet de configurer la donnée à représenter. Pour l’axe des Y, il est impératif d’utiliser un aggrégation (moyenne, minimum/maximum, écart type…) sur une valeur pour la représenter. En fonction du graphique sélectionné, il est possible de configurer l’axe des X, toujours au moyen d’aggrégations (dates, date range, terme…).

En haut se situe la même barre de recherche que sur la partie Discover, qui permet d’affiner son graphique en effectuant des tris sur sa donnée.

../_images/kibana-visualization.png

6.2.4.3. Dashboards

La section Dashboard permet de regrouper plusieurs graphiques pour constituer un dashboard. Pour ce faire il suffit d’importer des graphiques avec le bouton « + » en haut à droite.

../_images/kibana-dashboards.png