Stockage des motifs de causalité observés dans un log
Dans ce chapitre, nous proposons une représentation causale d’un log d’alarmes. En par ticulier, nous souhaitons stocker grâce à cette représentation les motifs de causalités basées sur les caractéristiques spatiales (machine ou fonctionnalités impactées) et temporelles (date de début et de fin) des alarmes, et, éventuellement, les connaissances a priori de l’expert. Du fait de ces caractéristiques, la représentation causale d’un log requiert une structure plus complexe que celle d’une suite temporelle.
Tout d’abord, nous lions les événements d’un log par une relation de causalités potentielles. Cela nous permet de modéliser le log en une structure de graphe causale. L’ensemble des chaînes de causalité potentielle observées sont alors stockées dans une structure appelée DIG-DAG dont la construction est inspirée de l’algorithme d’Ukkonen [Ukkonen, 1995]. Ces deux travaux construisent une structure de données en traitant en ligne une chaîne de caractères : alors que l’algorithme d’Ukkonen construit un arbre suffixe, notre proposition construit un DAG proche d’un automate fini déterministe.
La structure obtenue se veut interprétable afin d’être utilisée par un opérateur humain pour la gestion de réseaux. Le fait que la construction soit en ligne permet notam ment l’utilisation de cette structure pour la prédiction d’alarmes. L’ensemble des travaux présentés dans ce chapitre ont été présentés à la conférence CNSM [Bouillard et al., 2018].
Dans la section 3.1, nous introduisons une relation de causalité potentielle entre les événements d’un fichier de trace. Puis, dans la section 3.2, nous stockons à la volée l’ensemble des motifs de causalité observés dans une structure de graphe appelée DIG-DAG. Enfin, la 61 section 3.3 propose diverses variantes et extensions.
Représentation d’un log d’alarmes
Afin d’administrer un réseau, une pratique essentielle est de consigner tout événement dans un fichier de trace, ou log d’alarmes. Un tel fichier peut alors être utilisé pour suivre le bon fonctionnement du réseau, pour identifier efficacement la cause racine d’une panne, ou encore prédire des pannes futures.
Un log d’alarmes est une collection d’événements classés dans l’ordre chronologique (voir exemple 3). Notre but est de trouver toutes les chaînes de causalité potentielle entre les événements à partir de plusieurs logs d’alarmes, traités en ligne. Cette section est dédiée à la représentation d’un log à travers la notion d’événements et la définition d’une relation de causalité entre ces derniers
Même après en avoir simplifié la forme (certaines entrées du log sont écartées), la lecture et l’exploitation d’un log restent difficiles, surtout si le log en question est de grande taille. Nous présentons la notion d’événement dans le paragraphe 3.1.1.
Puis, dans le para graphe 3.1.2, nous définissons une relation de causalité potentielle entre deux événements. Dans le paragraphe 3.1.3, nous donnons deux représentations d’un log d’alarmes : une pre mière représentation à la fois graphique et intuitive, appelée graphe orienté d’intervalle (DIG), et une seconde sous forme de mot, plus pratique pour une utilisation à la volée.
Enfin, dans le paragraphe 3.1.4, nous définissons formellement l’ensemble des chaînes de causalité à stocker. Remarque générale sur les notations employées Dans les chapitres 3 à 5, nous utiliserons les notations de la théorie des langages. Étant donné un ensemble fini Σ, nous notons Σ∗ l’ensemble des suites finies sur Σ appelées mots; en particulier, ε définit le mot vide. Si w est un mot et σ ∈ Σ une lettre, |w|σ est le nombre d’occurrences de σ dans w. Le préfixe de w de longueur k ∈ N est noté w≤k
