{"id":53531,"date":"2019-12-04T00:00:00","date_gmt":"2019-12-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej"},"modified":"2020-02-18T14:01:26","modified_gmt":"2020-02-18T11:01:26","slug":"ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","title":{"rendered":"Recherche d'anomalies et pr\u00e9vision des pannes \u00e0 l'aide de r\u00e9seaux neuronaux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/476a74b4808c9991139bb0d3c02762c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Le d\u00e9veloppement industriel des syst\u00e8mes logiciels n\u00e9cessite une attention particuli\u00e8re \u00e0 la r\u00e9silience du produit final, ainsi qu'une r\u00e9activit\u00e9 rapide en cas de pannes et d'incidents, s'ils surviennent n\u00e9anmoins. La surveillance aide, bien s\u00fbr, \u00e0 r\u00e9agir aux pannes et aux d\u00e9fauts de mani\u00e8re plus efficace et rapide, mais ce n'est pas suffisant. Tout d'abord, il est tr\u00e8s difficile de suivre un grand nombre de serveurs \u2014 un grand nombre de personnes est n\u00e9cessaire. Deuxi\u00e8mement, il faut bien comprendre comment l'application est structur\u00e9e pour pr\u00e9voir son \u00e9tat. Par cons\u00e9quent, il faut beaucoup de personnes qui comprennent bien les syst\u00e8mes que nous d\u00e9veloppons, leurs indicateurs et leurs particularit\u00e9s. Supposons que, m\u00eame si l'on trouve un nombre suffisant de personnes d\u00e9sireuses de s'en occuper, il faudra encore beaucoup de temps pour les former.<\/p>\n<p><\/p>\n<p>Que faire alors ? Ici, l'intelligence artificielle vient \u00e0 notre secours. Cet article parlera de <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Predictive_maintenance\">la maintenance pr\u00e9dictive<\/a><\/noindex> (predictive maintenance). Cette approche gagne en popularit\u00e9. Un grand nombre d'articles ont \u00e9t\u00e9 \u00e9crits \u00e0 ce sujet, y compris sur Habr. De grandes entreprises utilisent cette m\u00e9thode pour maintenir la fonctionnalit\u00e9 de leurs serveurs. Apr\u00e8s avoir \u00e9tudi\u00e9 de nombreux articles, nous avons d\u00e9cid\u00e9 d'essayer d'appliquer cette approche. Quels ont \u00e9t\u00e9 les r\u00e9sultats ? <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Introduction<\/h2>\n<p><\/p>\n<p>Un syst\u00e8me logiciel d\u00e9velopp\u00e9 est, t\u00f4t ou tard, mis en exploitation. Il est important pour l'utilisateur que le syst\u00e8me fonctionne sans interruptions. Si une situation exceptionnelle se produit, elle doit \u00eatre r\u00e9solue avec un minimum de d\u00e9lais. <\/p>\n<p><\/p>\n<p>Pour simplifier le support technique du syst\u00e8me logiciel, surtout lorsqu'il y a de nombreux serveurs, on utilise g\u00e9n\u00e9ralement des programmes de surveillance qui collectent des m\u00e9triques du syst\u00e8me logiciel en fonctionnement, permettant de diagnostiquer son \u00e9tat et aidant \u00e0 d\u00e9terminer ce qui a caus\u00e9 la panne. Ce processus est appel\u00e9 surveillance du syst\u00e8me logiciel.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/545e45775f8fc72a26f387234484fffc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Figure 1. Interface de surveillance Grafana<\/em><\/p>\n<p>Les m\u00e9triques sont divers indicateurs d'un syst\u00e8me logiciel, de son environnement d'ex\u00e9cution ou de la machine de calcul physique sur laquelle le syst\u00e8me fonctionne, avec un horodatage du moment o\u00f9 les m\u00e9triques ont \u00e9t\u00e9 obtenues. Dans l'analyse statique, les donn\u00e9es m\u00e9triques sont appel\u00e9es s\u00e9ries temporelles. Pour observer l'\u00e9tat du syst\u00e8me logiciel, les m\u00e9triques sont affich\u00e9es sous forme de graphiques : sur l'axe X, le temps, et sur l'axe Y, les valeurs (figure 1). Un syst\u00e8me logiciel op\u00e9rationnel peut enregistrer plusieurs milliers de m\u00e9triques (de chaque n\u0153ud). Celles-ci forment un espace de m\u00e9triques (s\u00e9ries temporelles multidimensionnelles). <\/p>\n<p><\/p>\n<p>\u00c9tant donn\u00e9 qu'un grand nombre de m\u00e9triques sont collect\u00e9es \u00e0 partir de syst\u00e8mes logiciels complexes, la surveillance manuelle devient une t\u00e2che difficile. Pour r\u00e9duire le volume des donn\u00e9es analys\u00e9es par l'administrateur, les outils de surveillance contiennent des m\u00e9canismes pour d\u00e9tecter automatiquement les probl\u00e8mes potentiels. Par exemple, il est possible de configurer un d\u00e9clencheur qui s'active lorsque l'espace disque libre chute en dessous d'un certain seuil. Il est \u00e9galement possible de diagnostiquer automatiquement l'arr\u00eat d'un serveur ou un ralentissement critique de la vitesse de service. En pratique, les outils de surveillance r\u00e9ussissent raisonnablement bien \u00e0 d\u00e9tecter les d\u00e9faillances d\u00e9j\u00e0 survenues ou \u00e0 identifier des sympt\u00f4mes simples de d\u00e9faillances futures, mais globalement, la pr\u00e9vision d'une d\u00e9faillance possible reste un d\u00e9fi. La pr\u00e9vision par une analyse manuelle des m\u00e9triques n\u00e9cessite l'intervention de sp\u00e9cialistes qualifi\u00e9s, ce qui n'est pas tr\u00e8s productif. La plupart des d\u00e9faillances potentielles peuvent passer inaper\u00e7ues.<\/p>\n<p><\/p>\n<p>R\u00e9cemment, parmi les grandes entreprises IT d\u00e9veloppant des logiciels, ce qu'on appelle la maintenance pr\u00e9dictive des syst\u00e8mes logiciels gagne en popularit\u00e9. L'essence de cette approche r\u00e9side dans la d\u00e9tection des probl\u00e8mes menant \u00e0 la d\u00e9gradation du syst\u00e8me \u00e0 un stade pr\u00e9coce, avant sa d\u00e9faillance, \u00e0 l'aide de l'intelligence artificielle. Cette approche n'\u00e9limine pas compl\u00e8tement la surveillance manuelle du syst\u00e8me. Elle est compl\u00e9mentaire au processus de surveillance dans son ensemble. <\/p>\n<p><\/p>\n<p>L'outil principal de la mise en \u0153uvre de la maintenance pr\u00e9dictive est la t\u00e2che de d\u00e9tection des anomalies dans les s\u00e9ries temporelles, car <strong>lorsqu'une anomalie se produit<\/strong> dans les donn\u00e9es, il y a de fortes chances qu'apr\u00e8s un certain temps <strong>une d\u00e9faillance ou un \u00e9chec surviendra<\/strong>. Une anomalie est une certaine d\u00e9viation des indicateurs d'un syst\u00e8me logiciel, comme la d\u00e9tection d'une d\u00e9gradation de la vitesse d'ex\u00e9cution d'un type de requ\u00eate ou une diminution du nombre moyen de demandes trait\u00e9es tout en maintenant un niveau constant de sessions clients.<\/p>\n<p><\/p>\n<p>La t\u00e2che de recherche d'anomalies dans les syst\u00e8mes logiciels a ses propres sp\u00e9cificit\u00e9s. En th\u00e9orie, pour chaque syst\u00e8me logiciel, il est n\u00e9cessaire de d\u00e9velopper ou d'adapter les m\u00e9thodes existantes, car la recherche d'anomalies d\u00e9pend fortement des donn\u00e9es dans lesquelles elle est effectu\u00e9e, et les donn\u00e9es des syst\u00e8mes logiciels varient \u00e9norm\u00e9ment en fonction des outils de mise en \u0153uvre du syst\u00e8me, jusqu'\u00e0 la machine de calcul sur laquelle il est ex\u00e9cut\u00e9.<\/p>\n<p><\/p>\n<h2>M\u00e9thodes de d\u00e9tection d'anomalies dans la pr\u00e9vision des d\u00e9faillances des syst\u00e8mes logiciels<\/h2>\n<p><\/p>\n<p>Tout d'abord, il convient de mentionner que l'id\u00e9e de pr\u00e9voir les d\u00e9faillances a \u00e9t\u00e9 inspir\u00e9e par l'article <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/netcracker\/blog\/442620\/\">\u00ab Apprentissage automatique dans la surveillance informatique \u00bb<\/a><\/noindex>. Pour v\u00e9rifier l'efficacit\u00e9 de l'approche de d\u00e9tection automatique d'anomalies, le syst\u00e8me logiciel \u00ab Web-Consolidation \u00bb a \u00e9t\u00e9 choisi, qui est l'un des projets de l'entreprise NPO \u00ab Krista \u00bb. Auparavant, il \u00e9tait soumis \u00e0 une surveillance manuelle bas\u00e9e sur les m\u00e9triques obtenues. \u00c9tant donn\u00e9 que le syst\u00e8me est assez complexe, un grand nombre de m\u00e9triques en sont extraites : indicateurs de la JVM (charge du ramasse-miettes), indicateurs du syst\u00e8me d'exploitation sous lequel le code s'ex\u00e9cute (m\u00e9moire virtuelle, % de charge du CPU), indicateurs de r\u00e9seau (charge r\u00e9seau), du serveur lui-m\u00eame (charge CPU, m\u00e9moire), m\u00e9triques wildfly et m\u00e9triques propres de l'application sur tous les sous-syst\u00e8mes critiques. <\/p>\n<p><\/p>\n<p>Toutes les m\u00e9triques sont extraites du syst\u00e8me \u00e0 l'aide de graphite. Initialement, une base whisper \u00e9tait utilis\u00e9e comme solution standard pour grafana, mais avec la croissance de la base client, graphite a cess\u00e9 de faire face, \u00e9puisant la capacit\u00e9 de la sous-solution de stockage du DC. Apr\u00e8s cela, il a \u00e9t\u00e9 d\u00e9cid\u00e9 de rechercher une solution plus efficace. Le choix s'est port\u00e9 sur <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/343928\/\">graphite+clickhouse<\/a><\/noindex>, ce qui a permis de r\u00e9duire l \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 sur la sous-solution de stockage d'un ordre de grandeur et de diminuer cinq \u00e0 six fois l'espace disque occup\u00e9. Ci-dessous est pr\u00e9sent\u00e9e le sch\u00e9ma du m\u00e9canisme de collecte des m\u00e9triques utilisant graphite+clickhouse (figure 2).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/9b57d61a3e1e5e87922832ca2fc18d6e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Figure 2. Sch\u00e9ma de collecte des m\u00e9triques<\/em><\/p>\n<p>Le sch\u00e9ma est extrait de la documentation interne. Il illustre l'\u00e9change de donn\u00e9es entre Grafana (l'interface utilisateur de surveillance que nous utilisons) et Graphite. La collecte des m\u00e9triques de l'application est effectu\u00e9e par un logiciel distinct \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jmxtrans\/jmxtrans\">jmxtrans<\/a><\/noindex>. Ce dernier les stocke dans Graphite.<br \/>\nLe syst\u00e8me \u00ab Web-Consolidation \u00bb pr\u00e9sente plusieurs particularit\u00e9s qui posent des probl\u00e8mes pour la pr\u00e9vision des pannes :<\/p>\n<p><\/p>\n<ol>\n<li>il y a souvent un changement de tendance. Diff\u00e9rentes versions de ce syst\u00e8me logiciel sont publi\u00e9es. Chacune d'elles entra\u00eene des modifications dans la partie logicielle du syst\u00e8me. Par cons\u00e9quent, les d\u00e9veloppeurs influencent directement les m\u00e9triques de ce syst\u00e8me et peuvent provoquer un changement de tendance ; <\/li>\n<li>la particularit\u00e9 de l'impl\u00e9mentation, ainsi que les objectifs d'utilisation par les clients de ce syst\u00e8me, d\u00e9clenchent souvent des anomalies sans d\u00e9gradation pr\u00e9alable ; <\/li>\n<li>le pourcentage d'anomalies par rapport \u00e0 l'ensemble des donn\u00e9es est faible (&lt; 5%) ; <\/li>\n<li>il peut y avoir des interruptions dans la collecte des indicateurs de syst\u00e8me. Pendant de courtes p\u00e9riodes, le syst\u00e8me de surveillance ne parvient pas \u00e0 obtenir des m\u00e9triques. Par exemple, si le serveur est surcharg\u00e9. Pour l'apprentissage du r\u00e9seau neuronal, c'est critique. Il est donc n\u00e9cessaire de remplir les lacunes de mani\u00e8re synth\u00e9tique ;<\/li>\n<li>Les cas d'anomalies sont g\u00e9n\u00e9ralement pertinents uniquement pour un nombre\/mois\/temps sp\u00e9cifique (saisonnalit\u00e9). Ce syst\u00e8me a un r\u00e8glement strict d'utilisation par ses utilisateurs. En cons\u00e9quence, les m\u00e9triques ne sont pertinentes que pour un moment pr\u00e9cis. Le syst\u00e8me peut ne pas \u00eatre utilis\u00e9 de mani\u00e8re constante, mais uniquement durant certains mois : s\u00e9lectivement en fonction de l'ann\u00e9e. Il y a des situations o\u00f9 le m\u00eame comportement des m\u00e9triques dans un cas peut entra\u00eener la d\u00e9faillance du syst\u00e8me logiciel, tandis que dans un autre, cela ne le fait pas.<br \/>\nPour commencer, les m\u00e9thodes de d\u00e9tection d'anomalies dans les donn\u00e9es de surveillance des syst\u00e8mes logiciels ont \u00e9t\u00e9 analys\u00e9es. Dans la documentation sur ce sujet, lorsque le pourcentage d'anomalies par rapport \u00e0 l'ensemble des donn\u00e9es est faible, il est souvent recommand\u00e9 d'utiliser des r\u00e9seaux neuronaux. <\/li>\n<\/ol>\n<p><\/p>\n<p>La logique principale de recherche d'anomalies \u00e0 l'aide de donn\u00e9es de r\u00e9seaux neuronaux est illustr\u00e9e dans la figure 3 :<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/4d636fae327bf2e66a4c90728e2de0ea.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Figure 3. Recherche d'anomalies \u00e0 l'aide d'un r\u00e9seau neuronal<\/em><\/p>\n<p>Le r\u00e9sultat de la pr\u00e9vision ou de la r\u00e9cup\u00e9ration d'une fen\u00eatre de flux de m\u00e9triques est calcul\u00e9 par rapport \u00e0 celui obtenu \u00e0 partir d'un syst\u00e8me logiciel en fonctionnement. En cas de grande diff\u00e9rence entre les m\u00e9triques obtenues du syst\u00e8me logiciel et celles du r\u00e9seau de neurones, on peut conclure \u00e0 l'anomalie de la tranche de donn\u00e9es actuelle. Cela soul\u00e8ve un certain nombre de probl\u00e8mes pour l'utilisation des r\u00e9seaux de neurones :<\/p>\n<p><\/p>\n<ol>\n<li>Pour un fonctionnement correct en mode streaming, les donn\u00e9es d'apprentissage des mod\u00e8les de r\u00e9seaux de neurones ne doivent inclure que des donn\u00e9es \u00ab normales \u00bb ; <\/li>\n<li>Il est n\u00e9cessaire d'avoir un mod\u00e8le \u00e0 jour pour une d\u00e9tection correcte. Un changement de tendance et de saisonnalit\u00e9 dans les m\u00e9triques peut provoquer de nombreux faux positifs dans le mod\u00e8le. Pour sa mise \u00e0 jour, il faut clairement d\u00e9finir le moment o\u00f9 le mod\u00e8le est obsol\u00e8te. Si le mod\u00e8le est mis \u00e0 jour trop tard ou trop t\u00f4t, il est probable qu'il en r\u00e9sulte un grand nombre de faux positifs.<br \/>\nIl ne faut pas non plus oublier de rechercher et de pr\u00e9venir la survenue fr\u00e9quente de faux positifs. On suppose qu'ils se produiront le plus souvent dans des situations anormales. Cependant, ils peuvent \u00e9galement \u00eatre le r\u00e9sultat d'une erreur du r\u00e9seau de neurones en raison d'un apprentissage insuffisant. Il est n\u00e9cessaire de minimiser le nombre de faux positifs du mod\u00e8le. Sinon, de fausses pr\u00e9visions prendront beaucoup de temps pour l'administrateur, qui est cens\u00e9 v\u00e9rifier le syst\u00e8me. T\u00f4t ou tard, cela conduira simplement \u00e0 ce que l'administrateur cesse de r\u00e9agir \u00e0 un syst\u00e8me de surveillance \u00ab parano\u00efaque \u00bb.<\/li>\n<\/ol>\n<p><\/p>\n<h2>R\u00e9seau de neurones r\u00e9current<\/h2>\n<p><\/p>\n<p>Pour la d\u00e9tection d'anomalies dans les s\u00e9ries temporelles, on peut appliquer <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C\">un r\u00e9seau de neurones r\u00e9current <\/a><\/noindex>avec des cellules de m\u00e9moire LSTM. Le probl\u00e8me est que cela ne peut \u00eatre utilis\u00e9 que pour des s\u00e9ries temporelles pr\u00e9dictibles. Dans notre cas, toutes les m\u00e9triques ne sont pas pr\u00e9dictibles. Une tentative d'appliquer un RNN LSTM \u00e0 une s\u00e9rie temporelle est pr\u00e9sent\u00e9e sur la figure 4.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/d1a79122bf1c98f20b5d8795e6a666fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Figure 4. Exemple de fonctionnement d'un r\u00e9seau de neurones r\u00e9current avec des cellules de m\u00e9moire LSTM<\/em><\/p>\n<p>Comme on peut le voir sur la figure 4, le RNN LSTM a r\u00e9ussi \u00e0 d\u00e9tecter une anomalie pendant cette p\u00e9riode. L\u00e0 o\u00f9 le r\u00e9sultat pr\u00e9sente une forte erreur de pr\u00e9vision (erreur moyenne), il y a effectivement eu une anomalie dans les indicateurs. L'utilisation d'un seul RNN LSTM sera clairement insuffisante, car il n'est applicable qu'\u00e0 un petit nombre de m\u00e9triques. On peut l'utiliser comme m\u00e9thode auxiliaire pour la d\u00e9tection d'anomalies. <\/p>\n<p><\/p>\n<h2>Autoencodeur pour la pr\u00e9vision des pannes<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B2%D1%82%D0%BE%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA\">Autoencodeur<\/a><\/noindex> \u2013 il s'agit en fait d'un r\u00e9seau de neurones artificiel. La couche d'entr\u00e9e est l'encodeur, la couche de sortie est le d\u00e9codeur. Le principal inconv\u00e9nient de tous les r\u00e9seaux neuronaux de ce type est qu'ils localisent mal les anomalies. L'architecture de l'autoencodeur synchrone a \u00e9t\u00e9 choisie.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/bdec355107f1e22a7b608fcf7dcb0cf7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Figure 5. Exemple de fonctionnement de l'autoencodeur<\/em><\/p>\n<p>Les autoencodeurs sont entra\u00een\u00e9s sur des donn\u00e9es normales et d\u00e9tectent ensuite quelque chose d'anormal dans les donn\u00e9es pr\u00e9sent\u00e9es au mod\u00e8le. C'est exactement ce qu'il faut pour cette t\u00e2che. Il reste seulement \u00e0 choisir quel autoencodeur conviendra \u00e0 cette probl\u00e9matique. La forme architecturalement la plus simple d'un autoencodeur est un r\u00e9seau de neurones direct et non r\u00e9current, tr\u00e8s similaire \u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D1%81%D0%BB%D0%BE%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%86%D0%B5%D0%BF%D1%82%D1%80%D0%BE%D0%BD_%D0%A0%D1%83%D0%BC%D0%B5%D0%BB%D1%8C%D1%85%D0%B0%D1%80%D1%82%D0%B0\">perceptron multicouche<\/a><\/noindex> (multilayer perceptron, MLP), avec un niveau d'entr\u00e9e, un niveau de sortie et une ou plusieurs couches cach\u00e9es les reliant.<br \/>\nCependant, les diff\u00e9rences entre les autoencodeurs et les MLP r\u00e9sident dans le fait que dans l'autoencodeur, le niveau de sortie a le m\u00eame nombre de n\u0153uds que l'entr\u00e9e, et que plut\u00f4t que d'apprendre \u00e0 pr\u00e9dire une valeur cible Y, donn\u00e9e par l'entr\u00e9e X, l'autoencodeur apprend \u00e0 reconstruire ses propres X. C'est pourquoi les autoencodeurs sont des mod\u00e8les d'apprentissage non supervis\u00e9s. <\/p>\n<p><\/p>\n<p>La t\u00e2che de l'autoencodeur consiste \u00e0 trouver les indices temporels r0 \u2026 rn correspondant aux \u00e9l\u00e9ments anormaux dans le vecteur d'entr\u00e9e X. Cet effet est obtenu gr\u00e2ce \u00e0 la recherche de l'erreur quadratique.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/f03800c42eb1998603c0ae217208d40a.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><em>Figure 6. Autoencodeur synchrone<\/em><\/p>\n<p>Une architecture <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/2017\/abstracts\/2938.html\">synchrone a \u00e9t\u00e9 choisie pour l'autoencodeur<\/a><\/noindex>. Ses avantages : la possibilit\u00e9 d'utiliser un mode de traitement en flux et un nombre relativement r\u00e9duit de param\u00e8tres du r\u00e9seau de neurones par rapport \u00e0 d'autres architectures.<\/p>\n<p><\/p>\n<h2>M\u00e9canisme de minimisation des fausses alertes<\/h2>\n<p><\/p>\n<p>\u00c9tant donn\u00e9 que diverses situations impr\u00e9vues peuvent survenir, ainsi que des lacunes potentielles dans l'entra\u00eenement du r\u00e9seau neuronal, il a \u00e9t\u00e9 d\u00e9cid\u00e9 pour le mod\u00e8le de d\u00e9tection des anomalies en cours de d\u00e9veloppement de cr\u00e9er un m\u00e9canisme pour minimiser les faux positifs. Ce m\u00e9canisme est bas\u00e9 sur une base de mod\u00e8les classifi\u00e9e par un administrateur. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%88%D0%BA%D0%B0%D0%BB%D1%8B\">Algorithme de transformation dynamique de l'\u00e9chelle temporelle<\/a><\/noindex> (L'algorithme DTW, abr\u00e9viation de dynamic time warping) permet de trouver une correspondance optimale entre des s\u00e9quences temporelles. Il a \u00e9t\u00e9 utilis\u00e9 pour la premi\u00e8re fois en reconnaissance vocale : utilis\u00e9 pour d\u00e9terminer comment deux signaux vocaux repr\u00e9sentent la m\u00eame phrase prononc\u00e9e. Son utilisation a ensuite \u00e9t\u00e9 \u00e9tendue \u00e0 d'autres domaines.<\/p>\n<p><\/p>\n<p>Le principe fondamental de minimisation des faux positifs repose sur la collecte d'une base d'\u00e9talons par un op\u00e9rateur qui classe les cas suspects identifi\u00e9s par les r\u00e9seaux neuronaux. Par la suite, l'\u00e9talon classifi\u00e9 est compar\u00e9 au cas d\u00e9tect\u00e9 par le syst\u00e8me, permettant de d\u00e9terminer si le cas est un faux positif ou une situation entra\u00eenant une d\u00e9faillance. C'est pr\u00e9cis\u00e9ment pour la comparaison de deux s\u00e9ries temporelles que l'algorithme DTW est utilis\u00e9. L'outil principal de minimisation reste la classification. Il est suppos\u00e9 qu'apr\u00e8s la collecte d'un grand nombre de cas d'\u00e9talons, le syst\u00e8me devra moins interroger l'op\u00e9rateur en raison de la similarit\u00e9 de la plupart des cas et de l'\u00e9mergence de cas similaires.<\/p>\n<p><\/p>\n<p>Ainsi, sur la base des m\u00e9thodes de r\u00e9seaux neuronaux d\u00e9crites ci-dessus, un programme exp\u00e9rimental a \u00e9t\u00e9 cr\u00e9\u00e9 pour pr\u00e9dire les pannes du syst\u00e8me \u00ab Web-Consolidation \u00bb. L'objectif de ce programme \u00e9tait, en utilisant l'archive existante des donn\u00e9es de surveillance et les informations concernant les pannes survenues, d'\u00e9valuer l'efficacit\u00e9 de cette approche pour nos syst\u00e8mes logiciels. Le sch\u00e9ma de fonctionnement du programme est pr\u00e9sent\u00e9 ci-dessous, dans la figure 7.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/08ad00dc7f8bd9463c786ce3d7469ed0.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><em>Figure 7. Sch\u00e9ma de pr\u00e9diction des pannes bas\u00e9 sur l'analyse de l'espace des m\u00e9triques<\/em><\/p>\n<p>Dans le sch\u00e9ma, deux blocs principaux peuvent \u00eatre identifi\u00e9s : la recherche de segments de temps anormaux dans le flux de donn\u00e9es de surveillance (m\u00e9triques) et le m\u00e9canisme de minimisation des faux positifs. Remarque : \u00e0 des fins exp\u00e9rimentales, les donn\u00e9es sont obtenues via une connexion JDBC \u00e0 la base de donn\u00e9es dans laquelle elles sont sauvegard\u00e9es par graphite.<br \/>\nCi-dessous se trouve l'interface r\u00e9sultante du syst\u00e8me de surveillance d\u00e9velopp\u00e9 (figure 8).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/e1123edf91c368a38151388a459514f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Figure 8. Interface du syst\u00e8me de surveillance exp\u00e9rimental<\/em><\/p>\n<p>L'interface affiche le pourcentage d'anomalie bas\u00e9 sur les m\u00e9triques re\u00e7ues. Dans notre cas, la r\u00e9ception est simul\u00e9e. Nous disposons d\u00e9j\u00e0 de toutes les donn\u00e9es de plusieurs semaines et les chargeons progressivement pour v\u00e9rifier le cas d'anomalie conduisant \u00e0 une panne. Dans la barre d'\u00e9tat inf\u00e9rieure, le pourcentage total d'anomalie des donn\u00e9es est affich\u00e9 \u00e0 un moment donn\u00e9, d\u00e9termin\u00e9 gr\u00e2ce \u00e0 un auto-encodeur. Pour les m\u00e9triques pr\u00e9vues, un pourcentage distinct est \u00e9galement affich\u00e9, calcul\u00e9 par un RNN LSTM.<\/p>\n<p><\/p>\n<p>Exemple de d\u00e9tection d'anomalie des indicateurs CPU \u00e0 l'aide d'un r\u00e9seau de neurones RNN LSTM (figure 9).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/b77517f01cb13031b28ae2ac7464fe19.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Figure 9. D\u00e9tection par RNN LSTM<\/em><\/p>\n<p>Un cas plut\u00f4t simple, en fait une simple anomalie, mais qui conduit \u00e0 une panne du syst\u00e8me, a \u00e9t\u00e9 correctement d\u00e9tect\u00e9 par le RNN LSTM. Le pourcentage d'anomalie \u00e0 ce moment donn\u00e9 est de 85 \u00e0 95%, tout ce qui est au-dessus de 80% (seuil d\u00e9fini exp\u00e9rimentalement) est consid\u00e9r\u00e9 comme une anomalie.<br \/>\nExemple de d\u00e9tection d'anomalie lorsque le syst\u00e8me n'a pas pu d\u00e9marrer apr\u00e8s une mise \u00e0 jour. Cette situation est d\u00e9tect\u00e9e par l'auto-encodeur (figure 10).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Recherche d&#039;anomalies et pr\u00e9vision des pannes \u00e0 l&#039;aide de r\u00e9seaux neuronaux\" src=\"\/wp-content\/uploads\/2019\/12\/cf2e38fc569b3a4f8a3f150b396853cc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Figure 10. Exemple de d\u00e9tection par l'auto-encodeur<\/em><\/p>\n<p>Comme on peut le voir sur la figure, PermGen est rest\u00e9 \u00e0 un niveau constant. L'auto-encodeur a jug\u00e9 cela \u00e9trange car il n'avait jamais rien vu de tel auparavant. Ici, l'anomalie est maintenue \u00e0 100% jusqu'au retour du syst\u00e8me \u00e0 un \u00e9tat fonctionnel. L'anomalie est affich\u00e9e dans toutes les m\u00e9triques. Comme mentionn\u00e9 pr\u00e9c\u00e9demment, l'auto-encodeur ne peut pas localiser les anomalies. L'op\u00e9rateur est cens\u00e9 remplir cette fonction dans ces situations.<\/p>\n<p><\/p>\n<h2>Conclusion<\/h2>\n<p><\/p>\n<p>Le PC \u00ab Web-Consid\u00e9ration \u00bb est en cours de d\u00e9veloppement depuis plusieurs ann\u00e9es. Le syst\u00e8me est dans un \u00e9tat suffisamment stable et le nombre d'incidents enregistr\u00e9s est faible. Cependant, il a \u00e9t\u00e9 possible de rep\u00e9rer des anomalies conduisant \u00e0 des pannes 5 \u00e0 10 minutes avant qu'elles ne se produisent. Dans certains cas, des alertes sur des pannes \u00e0 l'avance auraient permis d'\u00e9conomiser le temps allou\u00e9 pour effectuer des travaux de 'r\u00e9paration'.<\/p>\n<p><\/p>\n<p>Les exp\u00e9riences r\u00e9alis\u00e9es jusqu'\u00e0 pr\u00e9sent ne permettent pas encore de tirer des conclusions d\u00e9finitives. Pour l\u2019instant, les r\u00e9sultats sont contradictoires. D'une part, il est clair que les algorithmes bas\u00e9s sur des r\u00e9seaux neuronaux peuvent identifier des anomalies \u00ab utiles \u00bb. D'autre part, un pourcentage \u00e9lev\u00e9 de fausses alertes subsiste, et toutes les anomalies d\u00e9tect\u00e9es par un sp\u00e9cialiste qualifi\u00e9 ne peuvent pas \u00eatre identifi\u00e9es par le r\u00e9seau neuronal. Un inconv\u00e9nient est que le r\u00e9seau n\u00e9cessite actuellement un apprentissage supervis\u00e9 pour fonctionner correctement.<\/p>\n<p><\/p>\n<p>Pour le d\u00e9veloppement futur du syst\u00e8me de pr\u00e9vision des pannes et son am\u00e9lioration vers un \u00e9tat satisfaisant, plusieurs voies peuvent \u00eatre envisag\u00e9es. Cela inclut une analyse plus d\u00e9taill\u00e9e des cas d'anomalies menant \u00e0 des pannes, en compl\u00e9tant la liste des m\u00e9triques cruciales qui affectent l'\u00e9tat du syst\u00e8me et en \u00e9cartant celles qui n'ont pas d'impact. De plus, en suivant cette direction, on pourrait tenter de sp\u00e9cialiser les algorithmes sp\u00e9cifiquement pour nos cas d'anomalies entra\u00eenant des pannes. Une autre voie consiste \u00e0 am\u00e9liorer les architectures de r\u00e9seaux neuronaux, augmentant ainsi la pr\u00e9cision des d\u00e9tections tout en r\u00e9duisant le temps d'apprentissage.<\/p>\n<p><\/p>\n<p>Je tiens \u00e0 remercier mes coll\u00e8gues qui m'ont aid\u00e9 \u00e0 r\u00e9diger et \u00e0 maintenir la pertinence de cet article : <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/vektory79\/\">Viktor Verbitsky<\/a><\/noindex> et Sergey Finogenov.<\/p>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/krista\/blog\/478392\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u0438 \u0441\u0431\u043e\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0441\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u0438 \u0441\u0431\u043e\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u2013 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0443\u0436\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53531","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0449\u0435\u043c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0431\u043e\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Nous recherchons des anomalies et pr\u00e9disons des pannes \u00e0 l'aide de r\u00e9seaux neuronaux | ProHoster","description":"D\u00e9veloppement industriel.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0449\u0435\u043c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0431\u043e\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 | ProHoster","og:description":"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-03T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53531","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 07:46:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:23:55","updated":"2026-01-24 07:46:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/53531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=53531"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/53531\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=53531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=53531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=53531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}