{"id":31864,"date":"2019-10-31T21:43:33","date_gmt":"2019-10-31T18:43:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/monitoring-myortv-da-zdravstvuet-monitoring\/"},"modified":"2019-10-31T21:43:33","modified_gmt":"2019-10-31T18:43:33","slug":"monitoring-myortv-da-zdravstvuet-monitoring","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","title":{"rendered":"Surveillance des morts ? \u2014 Vive la surveillance","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Surveillance des morts ? \u2014 Vive la surveillance\" src=\"\/wp-content\/uploads\/2019\/04\/13453bb7025a6bf3d1c7a3dc6d038d16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNotre entreprise g\u00e8re principalement l'infrastructure et le support technique 24\/7 pour des projets web depuis 2008 : nous avons plus de 400 clients, ce qui repr\u00e9sente environ 15 % du commerce \u00e9lectronique en Russie. Par cons\u00e9quent, le support a une architecture tr\u00e8s diverse. Si quelque chose tombe, nous devons le r\u00e9parer dans les 15 minutes. Mais pour comprendre qu'une panne a eu lieu, il faut surveiller le projet et r\u00e9agir aux incidents. Mais comment faire cela ? <\/p>\n<p>Je pense qu'une mauvaise organisation du syst\u00e8me de surveillance entra\u00eene des probl\u00e8mes. S'il n'y avait pas de probl\u00e8mes, mon discours se r\u00e9sumerait \u00e0 un seul point : \u00ab Installez, s'il vous pla\u00eet, Prometheus + Grafana et les plugins 1, 2, 3 \u00bb. Malheureusement, ce n'est plus suffisant. Et le principal probl\u00e8me est que tout le monde continue de croire en quelque chose qui existait en 2008, du point de vue des composants logiciels. <\/p>\n<p>En ce qui concerne l'organisation du syst\u00e8me de surveillance, je prends le risque de dire qu'il n'existe pas de projets avec une surveillance correcte. Et la situation est si mauvaise que si quelque chose tombe, il y a un risque que cela passe inaper\u00e7u \u2014 apr\u00e8s tout, tout le monde est convaincu que \u00ab tout est surveill\u00e9 \u00bb.<br \/>\nPeut-\u00eatre que tout est surveill\u00e9. Mais comment ? <\/p>\n<p>Nous avons tous \u00e9t\u00e9 confront\u00e9s \u00e0 une histoire comme celle-ci : un devops, un admin travaillent, une \u00e9quipe de d\u00e9veloppeurs vient et dit : \u00ab Nous avons d\u00e9ploy\u00e9, maintenant surveille-le \u00bb. Qu'est-ce qu'il faut surveiller ? Comment cela fonctionne ?<\/p>\n<p>Ok. On fait la surveillance \u00e0 l'ancienne. Mais cela change d\u00e9j\u00e0, et il s'av\u00e8re que vous surveillez le service A, qui est devenu le service B, qui interagit avec le service C. Mais l'\u00e9quipe de d\u00e9veloppeurs vous dit : \u00ab Installez le logiciel, il doit tout surveiller ! \u00bb<\/p>\n<p>Alors, qu'est-ce qui a chang\u00e9 ? \u2014 Tout a chang\u00e9 !<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>2008. Tout va bien<\/h4>\n<p>\nIl y a quelques d\u00e9veloppeurs, un serveur, un serveur DB. Tout commence ici. Nous avons certaines informations, nous installons zabbix, Nagios, cacti. Ensuite, nous \u00e9tablissons des alertes claires pour le CPU, pour le fonctionnement des disques, pour l'espace disque. Nous effectuons aussi quelques v\u00e9rifications manuelles, pour voir si le site r\u00e9pond et si les commandes arrivent dans la base. Et voil\u00e0 \u2013 nous sommes plus ou moins prot\u00e9g\u00e9s. <\/p>\n<p>Si l'on compare le volume de travail qu'un administrateur devait faire \u00e0 l'\u00e9poque pour assurer la surveillance, 98 % \u00e9taient automatis\u00e9s : la personne charg\u00e9e de la surveillance doit comprendre comment installer Zabbix, comment le configurer et param\u00e9trer les alertes. Et 2 % concernent les v\u00e9rifications externes : si le site r\u00e9pond et effectue des requ\u00eates dans la base de donn\u00e9es, si de nouvelles commandes sont arriv\u00e9es.<\/p>\n<p><img decoding=\"async\" alt=\"Surveillance des morts ? \u2014 Vive la surveillance\" src=\"\/wp-content\/uploads\/2019\/04\/3563dda4d025fd18200d6410d7d065ed.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>L'ann\u00e9e 2010. La charge augmente.<\/h4>\n<p>\nNous commen\u00e7ons \u00e0 faire \u00e9voluer nos sites web, ajoutons un moteur de recherche. Nous voulons nous assurer que le catalogue des produits contient tous les articles. Et que la recherche fonctionne. Que la base fonctionne, que les commandes sont pass\u00e9es, que le site r\u00e9pond \u00e0 l'ext\u00e9rieur et r\u00e9pond de deux mani\u00e8res. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/fr\/server\/\"   title=\"serveurs\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1314\">serveurs<\/a> Et l'utilisateur n'est pas \u00e9ject\u00e9 du site pendant qu'il est r\u00e9\u00e9quilibr\u00e9 sur un autre serveur, etc. Le nombre d'entit\u00e9s augmente. <\/p>\n<p>De plus, l'entit\u00e9 li\u00e9e \u00e0 l'infrastructure reste toujours la plus importante dans l'esprit du gestionnaire. L'id\u00e9e persiste que la personne charg\u00e9e de la surveillance est celle qui installera Zabbix et sera capable de le configurer.<\/p>\n<p>Mais en m\u00eame temps, de nouveaux travaux apparaissent, tels que la r\u00e9alisation de v\u00e9rifications externes, la cr\u00e9ation d'un ensemble de scripts de requ\u00eates pour l'indexation des recherches, un ensemble de scripts pour v\u00e9rifier que la recherche \u00e9volue au cours de l'indexation, et un ensemble de scripts qui v\u00e9rifient que les articles sont transmis au service de livraison, etc.<\/p>\n<p><img decoding=\"async\" alt=\"Surveillance des morts ? \u2014 Vive la surveillance\" src=\"\/wp-content\/uploads\/2019\/04\/afa94a3156a24a81ab359b430341f27d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRemarquez : j'ai \u00e9crit \u00ab ensemble de scripts \u00bb trois fois. Cela signifie que la personne responsable de la surveillance n'est plus simplement celle qui installe Zabbix. C'est une personne qui commence \u00e0 programmer. Mais, dans l'esprit de l'\u00e9quipe, rien ne change encore. <\/p>\n<p>En revanche, le monde change, se compliquant de plus en plus. Une couche de virtualisation et plusieurs nouveaux syst\u00e8mes sont ajout\u00e9s. Ils commencent \u00e0 interagir les uns avec les autres. Qui a dit \u00ab cela sent les microservices ? \u00bb Mais chaque service appara\u00eet toujours comme un site distinct. Nous pouvons y acc\u00e9der et comprendre qu'il fournit les informations n\u00e9cessaires et fonctionne par lui-m\u00eame. Et si vous \u00eates un administrateur, qui traite un projet qui \u00e9volue depuis 5, 7, 10 ans, ce savoir s'accumule : un nouveau niveau appara\u00eet \u2014 vous l'avez saisi, un autre niveau appara\u00eet \u2014 vous l'avez saisi... <\/p>\n<p><img decoding=\"async\" alt=\"Surveillance des morts ? \u2014 Vive la surveillance\" src=\"\/wp-content\/uploads\/2019\/04\/3578182594d012732afde7849b75322a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMais il est rare que quelqu'un accompagne un projet pendant 10 ans.<\/p>\n<h3>R\u00e9sum\u00e9 du surveillant<\/h3>\n<p>\nSupposons que vous rejoigniez une nouvelle startup qui a imm\u00e9diatement recrut\u00e9 20 d\u00e9veloppeurs, \u00e9crit 15 microservices, et vous \u00eates l'administrateur \u00e0 qui l'on dit : \"Construisez CI\/CD. S'il vous pla\u00eet.\" Vous avez construit CI\/CD et tout \u00e0 coup vous entendez : \"Nous avons du mal \u00e0 travailler avec la production dans le 'cube', sans comprendre comment l'application fonctionnera dedans. Cr\u00e9ez-nous un bac \u00e0 sable dans ce m\u00eame 'cube'.\"<br \/>\n Vous cr\u00e9ez un bac \u00e0 sable dans ce cube. On vous dit tout de suite : \"Nous voulons une base de donn\u00e9es de stage, qui se met \u00e0 jour tous les jours avec la production, pour comprendre que \u00e7a fonctionne sur cette base de donn\u00e9es, sans pour autant endommager la base de donn\u00e9es de production.\"<\/p>\n<p>Vous vivez tout cela. Il reste 2 semaines avant la sortie, on vous dit : \"Maintenant il faudrait tout surveiller...\" C'est-\u00e0-dire surveiller l'infrastructure de cluster, surveiller l'architecture microservices, surveiller les interactions avec des services externes... <\/p>\n<p>Et des coll\u00e8gues sortent de la t\u00eate un sch\u00e9ma habituel et disent : \"Donc ici tout est clair ! Installe un programme qui surveillera tout \u00e7a.\" Oui, oui : Prometheus + Grafana + plugins. <br \/>\nEt ils ajoutent en m\u00eame temps : \"Tu as deux semaines, fais en sorte que tout soit fiable.\"<\/p>\n<p>Dans la multitude de projets que nous voyons, on attribue une personne \u00e0 la surveillance. Imaginez que nous voulons embaucher quelqu'un pour 2 semaines, pour s'occuper de la surveillance, et nous lui r\u00e9digeons un CV. Quelles comp\u00e9tences cette personne doit-elle avoir, en tenant compte de tout ce que nous avons dit pr\u00e9c\u00e9demment ?<\/p>\n<ul>\n<li>Elle doit comprendre la surveillance et la sp\u00e9cificit\u00e9 de l'infrastructure mat\u00e9rielle.<\/li>\n<li>Elle doit comprendre la sp\u00e9cificit\u00e9 de la surveillance de Kubernetes (tout le monde veut aller dans le 'cube', car on peut s'abstraire de tout, se cacher, le reste, l'administrateur s'en occupera) \u2014 en soi, son infrastructure, et comprendre comment surveiller les applications \u00e0 l'int\u00e9rieur.<\/li>\n<li>Elle doit comprendre que les services communiquent de mani\u00e8res particuli\u00e8res et conna\u00eetre les sp\u00e9cificit\u00e9s de l'interaction entre les services. Il est tout \u00e0 fait possible de voir un projet o\u00f9 une partie des services communique de mani\u00e8re synchrone, car autrement ce n'est pas possible. Par exemple, le backend utilise REST, gRPC pour le service catalogue, r\u00e9cup\u00e8re la liste des produits et renvoie la r\u00e9ponse. Ici, on ne peut pas attendre. Et avec d'autres services, il travaille de mani\u00e8re asynchrone. Passer une commande \u00e0 un service de livraison, envoyer un e-mail, etc.<br \/>\nVous, vous \u00eates probablement d\u00e9j\u00e0 perdu avec tout \u00e7a ? Mais l'administrateur qui doit le surveiller est encore plus perdu. <\/li>\n<li>Il doit \u00eatre capable de planifier et de planifier correctement, car le travail augmente de plus en plus. <\/li>\n<li>Il doit donc cr\u00e9er une strat\u00e9gie \u00e0 partir du service cr\u00e9\u00e9 pour comprendre comment le surveiller concr\u00e8tement. Il a besoin de comprendre l'architecture du projet et son d\u00e9veloppement, ainsi que les technologies utilis\u00e9es dans le d\u00e9veloppement. <\/li>\n<\/ul>\n<p>\nRappelons un cas tout \u00e0 fait normal : une partie des services est en php, une autre en Go, et une autre en JS. Ils fonctionnent ensemble d'une certaine mani\u00e8re. D'o\u00f9 le terme \u00ab microservice \u00bb : il y a tant de syst\u00e8mes distincts que les d\u00e9veloppeurs ne peuvent pas comprendre le projet dans son ensemble. Une partie de l'\u00e9quipe \u00e9crit des services en JS, qui fonctionnent de mani\u00e8re autonome et ne savent pas comment le reste du syst\u00e8me fonctionne. Une autre partie \u00e9crit des services en Python et ne s'int\u00e9resse pas \u00e0 la fa\u00e7on dont fonctionnent les autres services, ils sont isol\u00e9s dans leur domaine. La troisi\u00e8me partie \u00e9crit des services en php ou dans d'autres langages. <br \/>\nTous ces 20 personnes sont r\u00e9parties sur 15 services, et il n'y a qu'un seul administrateur qui doit tout comprendre. Attendez ! Nous venons de diviser le syst\u00e8me en 15 microservices, car 20 personnes ne peuvent pas comprendre l'ensemble du syst\u00e8me. <\/p>\n<p>Cependant, il faut trouver un moyen de le surveiller...<\/p>\n<p>Quel est le r\u00e9sultat ? Au final, il y a une personne qui retient tout ce qu'une \u00e9quipe enti\u00e8re de d\u00e9veloppeurs ne peut pas comprendre, et en plus, elle doit conna\u00eetre et ma\u00eetriser ce que nous avons indiqu\u00e9 ci-dessus : l'infrastructure mat\u00e9rielle, l'infrastructure Kubernetes, etc.<\/p>\n<p>Que dire... Houston, nous avons un probl\u00e8me.<\/p>\n<h3>La surveillance d'un projet logiciel moderne est en soi un projet logiciel.<\/h3>\n<p>\nSous l'illusion que la surveillance est un logiciel, nous d\u00e9veloppons une foi en des miracles. Et malheureusement, il n'y a pas de miracles. On ne peut pas installer zabbix et s'attendre \u00e0 ce que tout fonctionne. Il n'y a pas de sens \u00e0 installer Grafana et esp\u00e9rer que tout ira bien. La plupart du temps sera consacr\u00e9 \u00e0 l'organisation des v\u00e9rifications du fonctionnement des services et de leur interaction, ainsi que des v\u00e9rifications du fonctionnement des syst\u00e8mes externes. En fait, 90 % du temps sera consacr\u00e9 \u00e0 la cr\u00e9ation de logiciels et cela doit \u00eatre fait par une \u00e9quipe qui comprend le fonctionnement du projet. <br \/>\nSi dans cette situation, une seule personne est affect\u00e9e \u00e0 la surveillance, cela va mal tourner. Ce qui arrive malheureusement partout.<\/p>\n<p>Par exemple, il existe plusieurs services qui communiquent entre eux via Kafka. Une commande arrive, nous envoyons le message de commande \u00e0 Kafka. Il y a un service qui \u00e9coute les informations sur la commande et organise l'exp\u00e9dition des marchandises. Il y a un autre service qui \u00e9coute les informations sur la commande et envoie un e-mail \u00e0 l'utilisateur. Puis d'autres services apparaissent, et nous commen\u00e7ons \u00e0 nous embrouiller.<\/p>\n<p>Et si vous confiez cela \u00e0 un administrateur et aux d\u00e9veloppeurs \u00e0 un moment o\u00f9 il reste peu de temps avant la sortie, la personne devra comprendre tout ce protocole. Autrement dit, un projet de cette ampleur prend un temps consid\u00e9rable, et cela doit \u00eatre pris en compte dans le d\u00e9veloppement du syst\u00e8me. <br \/>\nMais tr\u00e8s souvent, surtout dans les startups, nous voyons comment la surveillance est remise \u00e0 plus tard. \u00ab Nous allons d'abord r\u00e9aliser un Proof of Concept, le lancer, qu'il \u00e9choue \u2013 nous sommes pr\u00eats \u00e0 faire des sacrifices. Et ensuite, nous ferons toute la surveillance \u00bb. Quand (ou si) le projet commence \u00e0 rapporter de l'argent, l'entreprise souhaite ajouter encore plus de fonctionnalit\u00e9s \u2014 puisque \u00e7a commence \u00e0 fonctionner, il faut aller plus loin ! Et vous vous retrouvez \u00e0 un point o\u00f9 vous devez d'abord surveiller tout ce qui a pr\u00e9c\u00e9d\u00e9, ce qui prend non pas 1 % du temps, mais beaucoup plus. Et en passant, des d\u00e9veloppeurs seront n\u00e9cessaires pour la surveillance, et il est plus facile de les affecter \u00e0 de nouvelles fonctionnalit\u00e9s. En fin de compte, de nouvelles fonctionnalit\u00e9s sont \u00e9crites, tout se complique et vous vous trouvez en une boucle sans fin.<\/p>\n<p>Alors, comment surveiller un projet depuis le d\u00e9but, et que faire si vous h\u00e9ritez d'un projet qui doit \u00eatre surveill\u00e9 et que vous ne savez pas par o\u00f9 commencer ?<\/p>\n<p>Tout d'abord, il faut planifier. <\/p>\n<p><i>Une parenth\u00e8se : tr\u00e8s souvent, on commence par surveiller l'infrastructure. Par exemple, nous avons Kubernetes. Commen\u00e7ons par installer Prometheus avec Grafana, ajoutons des plugins pour surveiller le \u00ab cube \u00bb. Non seulement les d\u00e9veloppeurs, mais aussi les administrateurs ont la triste habitude suivante : \u00ab Nous allons installer ce plugin, et le plugin doit savoir comment le faire \u00bb. Les gens aiment commencer par des actions simples et compr\u00e9hensibles, plut\u00f4t que par des actions importantes. Et la surveillance de l'infrastructure est simple.<\/i><\/p>\n<p>Pour commencer, d\u00e9terminez ce que vous souhaitez surveiller et comment, puis choisissez un outil, car d'autres personnes ne peuvent pas r\u00e9fl\u00e9chir \u00e0 votre place. Et devraient-elles? D'autres personnes ont pens\u00e9 \u00e0 elles, \u00e0 un syst\u00e8me universel \u2014 ou n'ont tout simplement pas r\u00e9fl\u00e9chi lors de l'\u00e9criture de ce plugin. Et le fait que ce plugin ait 5000 utilisateurs ne signifie pas qu'il apporte une quelconque valeur. Il est possible que vous soyez le 5001\u00e8me simplement parce qu'il y avait d\u00e9j\u00e0 5000 personnes avant vous. <\/p>\n<p>Si vous avez commenc\u00e9 \u00e0 surveiller l'infrastructure et que le backend de votre application a cess\u00e9 de r\u00e9pondre, tous les utilisateurs perdront la connexion avec l'application mobile. Une petite erreur appara\u00eetra. On viendra vous dire : \u00ab L'application ne fonctionne pas, que faites-vous ? \u00bb \u2014 \u00ab Nous faisons de la surveillance. \u00bb \u2014 \u00ab Comment pouvez-vous surveiller si vous ne voyez m\u00eame pas que l'application ne fonctionne pas ?! \u00bb <\/p>\n<ol>\n<li>Je pense qu'il est essentiel de commencer la surveillance \u00e0 partir du point d'entr\u00e9e de l'utilisateur. Si l'utilisateur ne voit pas que l'application fonctionne \u2014 c'est un \u00e9chec. Et le syst\u00e8me de surveillance doit alerter \u00e0 ce sujet en premier lieu. <\/li>\n<li>Ce n'est qu'ensuite que nous pouvons surveiller l'infrastructure. Ou le faire en parall\u00e8le. Avec l'infrastructure, c'est plus simple \u2014 ici, nous pouvons enfin installer Zabbix. <\/li>\n<li>Et maintenant, il faut plonger dans les racines de l'application pour comprendre o\u00f9 \u00e7a ne fonctionne pas.<\/li>\n<\/ol>\n<p>\nMa principale id\u00e9e est que la surveillance doit aller de pair avec le processus de d\u00e9veloppement. Si vous d\u00e9tournez l'\u00e9quipe de surveillance vers d'autres t\u00e2ches (cr\u00e9ation de CI\/CD, bac \u00e0 sable, r\u00e9organisation de l'infrastructure), la surveillance commencera \u00e0 prendre du retard et vous ne serez peut-\u00eatre jamais en mesure de rattraper le d\u00e9veloppement (ou il faudra tarde ou t\u00f4t l'arr\u00eater).<\/p>\n<h3>Tout par niveaux<\/h3>\n<p>\nVoici comment je vois l'organisation du syst\u00e8me de surveillance.<\/p>\n<p>1) Niveau de l'application :<\/p>\n<ul>\n<li>surveiller la logique m\u00e9tier de l'application ;<\/li>\n<li>surveiller les m\u00e9triques de sant\u00e9 des services ;<\/li>\n<li>surveillance d'int\u00e9gration.<\/li>\n<\/ul>\n<p>\n2) Niveau de l'infrastructure :<\/p>\n<ul>\n<li>surveillance du niveau d'orchestration ;<\/li>\n<li>surveillance des logiciels syst\u00e8me ;<\/li>\n<li>surveillance du mat\u00e9riel.<\/li>\n<\/ul>\n<p>\n3) Encore au niveau de l'application \u2014 mais d\u00e9j\u00e0 comme produit d'ing\u00e9nierie :<\/p>\n<ul>\n<li>collecte et observation des journaux de l'application ;<\/li>\n<li>APM ;<\/li>\n<li>tracing.<\/li>\n<\/ul>\n<p>\n4) Alerting :<\/p>\n<ul>\n<li>organisation du syst\u00e8me de notifications ;<\/li>\n<li>organisation du syst\u00e8me de gardes ;<\/li>\n<li>organisation de la \u00ab base de connaissances \u00bb et du flux de traitement des incidents.<\/li>\n<\/ul>\n<p>\n<b>Important<\/b>: nous atteignons l'alerte imm\u00e9diatement, pas apr\u00e8s coup ! Il ne faut pas lancer la surveillance et \u00ab r\u00e9fl\u00e9chir plus tard \u00bb \u00e0 qui recevra les alertes. Car l'objectif de la surveillance est de comprendre o\u00f9 quelque chose ne fonctionne pas dans le syst\u00e8me et d'en informer les bonnes personnes. Si cela est laiss\u00e9 \u00e0 la derni\u00e8re minute, les personnes concern\u00e9es n'apprendreont que lorsque \u00ab rien ne fonctionne chez nous \u00bb.<\/p>\n<h3>Niveau d'application \u2014 surveillance de la logique m\u00e9tier<\/h3>\n<p>\nIl s'agit ici de v\u00e9rifier que l'application fonctionne pour l'utilisateur.<\/p>\n<p>Ce niveau doit \u00eatre mis en place au stade du d\u00e9veloppement. Par exemple, nous avons un Prometheus fictif : il acc\u00e8de au serveur qui r\u00e9alise les v\u00e9rifications, fait la demande \u00e0 l'endpoint, et cet endpoint v\u00e9rifie l'API.<\/p>\n<p>Lorsque l'on demande souvent de surveiller la page d'accueil pour s'assurer que le site fonctionne, les d\u00e9veloppeurs donnent une requ\u00eate qu'il est possible d'interroger chaque fois qu'il faut v\u00e9rifier que l'API fonctionne. Pendant ce temps, les d\u00e9veloppeurs \u00e9crivent aussi \/api\/test\/helloworld. <br \/>\nLe seul moyen de v\u00e9rifier que tout fonctionne ? \u2014 Non !<\/p>\n<ul>\n<li>La cr\u00e9ation de telles v\u00e9rifications est, en fait, la t\u00e2che des d\u00e9veloppeurs. Les tests unitaires doivent \u00eatre \u00e9crits par les programmeurs qui codent. Parce que, si vous confiez cela \u00e0 l'administrateur \u00ab H\u00e9, voici la liste des protocoles API de toutes les 25 fonctions, s'il te pla\u00eet, surveille tout ! \u00bb \u2014 cela ne fonctionnera pas. <\/li>\n<li>Si vous faites print \u201chello world\u201d, personne ne saura jamais que l'API doit fonctionner r\u00e9ellement. Chaque changement d'API doit \u00eatre accompagn\u00e9 d'un changement des v\u00e9rifications. <\/li>\n<li>Si vous \u00eates d\u00e9j\u00e0 dans cette situation \u2014 arr\u00eatez les fonctionnalit\u00e9s et mobilisez les d\u00e9veloppeurs pour qu'ils \u00e9crivent ces v\u00e9rifications, ou acceptez les pertes, acceptez que rien ne soit v\u00e9rifi\u00e9 et que cela va \u00e9chouer.<\/li>\n<\/ul>\n<p>\nConseils techniques :<\/p>\n<ul>\n<li>Organisez imp\u00e9rativement un serveur externe pour mettre en place des v\u00e9rifications \u2014 vous devez \u00eatre s\u00fbr que votre projet est accessible au monde ext\u00e9rieur.<\/li>\n<li>Organisez la v\u00e9rification sur l'ensemble du protocole API, et non pas uniquement sur des endpoints s\u00e9par\u00e9s.<\/li>\n<li>Cr\u00e9ez un endpoint prometheus avec les r\u00e9sultats des v\u00e9rifications.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveau d'application \u2014 surveillance des m\u00e9triques de sant\u00e9<\/h3>\n<p>\nIl s'agit maintenant des m\u00e9triques de sant\u00e9 externes des services. <\/p>\n<p>Nous avons d\u00e9cid\u00e9 que tous les \u00ab points de contr\u00f4le \u00bb de l'application seraient surveill\u00e9s gr\u00e2ce \u00e0 des v\u00e9rifications externes que nous appelons depuis un syst\u00e8me de monitoring externe. Mais ce sont pr\u00e9cis\u00e9ment ces \u00ab points de contr\u00f4le \u00bb que l'utilisateur \u00ab voit \u00bb. Nous voulons nous assurer que nos services fonctionnent. Ici, l'histoire est un peu meilleure : dans K8s, il existe des checks de sant\u00e9 pour que, au moins, le \u00ab cube \u00bb s'assure que le service fonctionne. Mais la moiti\u00e9 des checks que j'ai vus, c'est le m\u00eame print \u00ab hello world \u00bb. C'est-\u00e0-dire qu'il est d\u00e9clench\u00e9 une fois apr\u00e8s le d\u00e9ploiement, il a re\u00e7u une r\u00e9ponse disant que tout va bien \u2014 et c'est tout. Or, pour un service qui expose son API via REST, il existe un grand nombre de points d'entr\u00e9e de cette API qui doivent \u00e9galement \u00eatre surveill\u00e9s, car nous voulons savoir qu'il fonctionne. Et nous le surveillons d\u00e9j\u00e0 de l'int\u00e9rieur. <\/p>\n<p>Comment le mettre en \u0153uvre correctement sur le plan technique : chaque service expose un endpoint sur son \u00e9tat de fonctionnement actuel, et dans les graphiques Grafana (ou toute autre application), nous voyons l'\u00e9tat de tous les services.<\/p>\n<ul>\n<li>Chaque modification de l'API doit entra\u00eener une modification des v\u00e9rifications. <\/li>\n<li>Cr\u00e9ez un nouveau service avec des m\u00e9triques de sant\u00e9 d\u00e8s le d\u00e9part.<\/li>\n<li>L'administrateur peut venir voir les d\u00e9veloppeurs et demander \u00ab ajoutez-moi quelques fonctionnalit\u00e9s pour que je comprenne tout et que j'ajoute ces informations \u00e0 mon syst\u00e8me de monitoring \u00bb. Mais les d\u00e9veloppeurs r\u00e9pondent g\u00e9n\u00e9ralement \u00ab Nous ne rajouterons rien deux semaines avant la sortie \u00bb.<br \/>\nQue les chefs de projet sachent qu'il y aura de telles pertes, que la direction des chefs de projet le sache aussi. Parce que, quand tout s'effondrera, quelqu'un appellera et exigera de surveiller le \u00ab service qui tombe constamment \u00bb (c) <\/li>\n<li>Au fait, d\u00e9diez des d\u00e9veloppeurs \u00e0 l'\u00e9criture de plugins pour Grafana \u2014 ce sera une bonne aide pour les administrateurs.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveau de l'application \u2014 Monitoring d'int\u00e9gration<\/h3>\n<p>\nLe monitoring d'int\u00e9gration se concentre sur la surveillance de la communication entre les syst\u00e8mes critiques pour l'entreprise.<\/p>\n<p>Par exemple, il y a 15 services qui communiquent entre eux. Ce ne sont plus des sites distincts. C'est-\u00e0-dire que nous ne pouvons pas juste interroger un service, obtenir \/helloworld et comprendre que le service fonctionne. Parce que le service de commande doit envoyer des informations de commande au bus \u2014 et du bus, le service de gestion des stocks doit recevoir ce message et travailler avec. Et le service d'envoi d'e-mails doit traiter cela d'une certaine mani\u00e8re, etc. <\/p>\n<p>Par cons\u00e9quent, nous ne pouvons pas comprendre, en testant chaque service individuel, comment tout cela fonctionne. Car nous avons un certain bus par lequel tout communique et interagit.<br \/>\nAinsi, cette \u00e9tape doit repr\u00e9senter la phase de test des services en interaction avec d'autres services. Il n'est pas possible, en surveillant le courtier de messages, d'organiser la surveillance de la communication. S'il y a un service qui fournit des donn\u00e9es et un autre qui les re\u00e7oit, en surveillant le courtier, nous ne verrons que les donn\u00e9es qui circulent d'un c\u00f4t\u00e9 \u00e0 l'autre. M\u00eame si nous parvenons \u00e0 surveiller l'interaction de ces donn\u00e9es \u00e0 l'int\u00e9rieur \u2014 c'est-\u00e0-dire qu'un producteur publie des donn\u00e9es, que quelqu'un les lit, que ce flux continue dans Kafka \u2014 cela ne nous donnera pas d'informations si un service a envoy\u00e9 un message dans une version et qu'un autre service ne s'attendait pas \u00e0 cette version et l'a ignor\u00e9. Nous ne le saurons pas, car les services nous diront que tout fonctionne. <\/p>\n<p>Voici comment je recommande de proc\u00e9der :<\/p>\n<ul>\n<li>Pour la communication synchrone : le point de terminaison effectue des requ\u00eates aux services associ\u00e9s. C'est-\u00e0-dire que nous prenons ce point de terminaison, nous ex\u00e9cutons un petit script \u00e0 l'int\u00e9rieur du service, qui passe par tous les points et dit : \u00ab Je peux jeter un coup d'\u0153il ici, et l\u00e0, je peux jeter un coup d'\u0153il\u2026 \u00bb<\/li>\n<li>Pour la communication asynchrone : les messages entrants \u2014 le point de terminaison v\u00e9rifie le bus \u00e0 la recherche de messages de test et fournit un statut de traitement. <\/li>\n<li>Pour la communication asynchrone : les messages sortants \u2014 le point de terminaison envoie des messages de test sur le bus.<\/li>\n<\/ul>\n<p>\nComme cela se passe g\u00e9n\u00e9ralement : nous avons un service qui envoie des donn\u00e9es dans le bus. Nous allons dans ce service et demandons de nous parler de sa sant\u00e9 d'int\u00e9gration. Et si le service doit produire un message quelque part (WebApp), il produit ce message de test. Et si nous sollicitons le service du c\u00f4t\u00e9 de OrderProcessing, il publie d'abord ce qu'il peut publier ind\u00e9pendamment, et s'il y a des \u00e9l\u00e9ments d\u00e9pendants \u2014 alors il lit sur le bus un ensemble de messages de test, comprend ce qu'il peut traiter, en informe et, si n\u00e9cessaire, les publie plus loin, et \u00e0 ce sujet, il dit \u2014 tout va bien, je suis vivant. <\/p>\n<p>Nous entendons souvent la question : \u00ab comment pouvons-nous tester cela sur des donn\u00e9es de production ? \u00bb Par exemple, il s'agit du m\u00eame service de commandes. Une commande envoie des messages \u00e0 l'entrep\u00f4t, o\u00f9 les produits sont d\u00e9duits : nous ne pouvons pas tester cela sur des donn\u00e9es de production, car \u00ab mes produits vont \u00eatre d\u00e9duits ! \u00bb La solution : \u00e0 un stade pr\u00e9coce, planifiez tout ce test. Vous avez des tests unitaires qui font des mocks. Effectuez cela \u00e0 un niveau plus profond, o\u00f9 votre canal de communication passera sans nuire au fonctionnement de l'entreprise. <\/p>\n<h3>Niveau d'infrastructure<\/h3>\n<p>\nLa surveillance de l'infrastructure est consid\u00e9r\u00e9e depuis longtemps comme la vraie surveillance. <\/p>\n<ul>\n<li>Il est possible et n\u00e9cessaire de lancer la surveillance de l'infrastructure en tant que processus distinct.<\/li>\n<li>Il ne faut pas commencer par la surveillance de l'infrastructure dans un projet en cours, m\u00eame si l'envie est forte. C'est une maladie pour tous les DevOps. \u00ab D'abord je vais surveiller le cluster, je vais surveiller l'infrastructure \u00bb \u2013 c'est-\u00e0-dire qu'il commencera par ce qui est en bas et ne s'int\u00e9ressera pas \u00e0 l'application. Parce que l'application est une chose confuse pour le DevOps. Il lui a \u00e9t\u00e9 remis, et il ne comprend pas comment cela fonctionne. Mais il comprend l'infrastructure et commence par cela. Non, il faut toujours commencer par surveiller l'application. <\/li>\n<li>Ne surchargez pas le nombre de notifications. \u00c9tant donn\u00e9 la complexit\u00e9 des syst\u00e8mes modernes, les alertes arrivent en continu, et il faut vivre avec cette multitude d'alertes. Une personne de garde, en voyant une centaine de nouvelles alertes, pensera \u00ab je ne veux pas en parler \u00bb. Les alertes doivent informer uniquement des choses critiques. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Niveau de l'application en tant qu'unit\u00e9 commerciale<\/h3>\n<p>\nPoints cl\u00e9s :<\/p>\n<ul>\n<li>ELK. C'est la norme industrielle. Si, pour une raison quelconque, vous n'agr\u00e9gez pas les logs, commencez d'urgence \u00e0 le faire.<\/li>\n<li>APM. Les APM externes permettent de rapidement \u00e9tablir la surveillance de l'application (NewRelic, BlackFire, Datadog). Vous pouvez temporairement installer cet outil pour essayer de comprendre ce qui se passe chez vous. <\/li>\n<li>Tracing. Dans des dizaines de microservices, vous devez tracer tout, car la requ\u00eate ne vit plus par elle-m\u00eame. Ajouter cela par la suite est tr\u00e8s difficile, donc il vaut mieux planifier le tracing d\u00e8s le d\u00e9veloppement \u2013 c'est du travail et un outil pour les d\u00e9veloppeurs. Si ce n'est pas encore en place, impl\u00e9mentez-le ! Voir Jaeger\/Zipkin.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alerte<\/h3>\n<p><\/p>\n<ul>\n<li>Organisation du syst\u00e8me d'alerte : dans un environnement de surveillance de plusieurs \u00e9l\u00e9ments, il doit y avoir un syst\u00e8me unifi\u00e9 d'envoi d'alertes. Cela peut \u00eatre fait avec Grafana. En Occident, tout le monde utilise PagerDuty. Les alertes doivent \u00eatre claires (par exemple, d'o\u00f9 elles proviennent\u2026). Il est \u00e9galement souhaitable de contr\u00f4ler que les alertes parviennent effectivement \u00e0 leur destination. <\/li>\n<li>Organisation du syst\u00e8me de gardes : les alertes ne doivent pas \u00eatre envoy\u00e9es \u00e0 tout le monde (sinon, tout le monde r\u00e9agira en m\u00eame temps, ou personne ne r\u00e9agira). Les d\u00e9veloppeurs doivent \u00e9galement \u00eatre en astreinte : d\u00e9finissez clairement les zones de responsabilit\u00e9, \u00e9tablissez des instructions claires et indiquez \u00e0 qui exactement t\u00e9l\u00e9phoner le lundi et le mercredi, et \u00e0 qui le mardi et le vendredi (autrement, personne ne saura appeler m\u00eame en cas de grave probl\u00e8me \u2014 ils auront peur de r\u00e9veiller ou de d\u00e9ranger : les gens n'aiment g\u00e9n\u00e9ralement pas appeler ou r\u00e9veiller les autres, surtout la nuit). Et expliquez que demander de l'aide n'est pas un signe d'incomp\u00e9tence (\u00ab demander de l'aide signifie que je suis un mauvais travailleur \u00bb), encouragez les demandes d'aide.<\/li>\n<li>Organisation de la \u00ab base de connaissances \u00bb et du workflow de traitement des incidents : pour chaque incident s\u00e9rieux, un post-mortem doit \u00eatre planifi\u00e9, et en tant que mesure temporaire, les actions qui r\u00e9solvent l'incident doivent \u00eatre document\u00e9es. Et mettez en place une pratique selon laquelle les alertes r\u00e9p\u00e9t\u00e9es sont \u00e0 proscrire ; elles doivent \u00eatre corrig\u00e9es dans le code ou les travaux d'infrastructure. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Environnement technologique<\/h3>\n<p>\nImaginons que notre environnement soit le suivant : <\/p>\n<ul>\n<li>collecte de donn\u00e9es \u2014 Prometheus + Grafana;<\/li>\n<li>analyse des journaux \u2014 ELK;<\/li>\n<li>pour APM ou Tracing \u2014 Jaeger (Zipkin).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Surveillance des morts ? \u2014 Vive la surveillance\" src=\"\/wp-content\/uploads\/2019\/04\/af26d3c0ba781cd856d220515788b5eb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe choix des options n'est pas critique. Parce que, si au d\u00e9but vous comprenez comment surveiller le syst\u00e8me et que vous \u00e9laborez un plan, ensuite vous commencez \u00e0 choisir les outils en fonction de vos exigences. La question est de savoir ce que vous avez choisi de surveiller au d\u00e9part. Parce qu'il est possible que l'outil que vous avez choisi au d\u00e9but ne soit pas du tout adapt\u00e9 \u00e0 vos exigences. <\/p>\n<p>Quelques points techniques que je constate partout ces derniers temps :<\/p>\n<p><i>Prometheus est int\u00e9gr\u00e9 \u00e0 Kubernetes \u2014 qui a eu cette id\u00e9e ?!<\/i> Que ferez-vous si votre cluster s'effondre ? Si vous avez un cluster complexe \u00e0 l'int\u00e9rieur, il doit y avoir un certain syst\u00e8me de surveillance interne au cluster, et un autre externe qui collectera des donn\u00e9es \u00e0 partir du cluster. <\/p>\n<p><i>\u00c0 l'int\u00e9rieur du cluster, nous recueillons les journaux et tout le reste.<\/i> Mais le syst\u00e8me de surveillance doit \u00eatre externe. Tr\u00e8s souvent, dans un cluster o\u00f9 se trouve Prometheus, install\u00e9 en interne, des syst\u00e8mes qui effectuent des v\u00e9rifications externes du site sont \u00e9galement pr\u00e9sents. Et si votre connexion vers l'ext\u00e9rieur \u00e9choue et que l'application ne fonctionne pas ? Cela signifie que tout va bien \u00e0 l'int\u00e9rieur, mais cela ne facilite pas la t\u00e2che des utilisateurs.<\/p>\n<h3>Conclusions<\/h3>\n<p><\/p>\n<ul>\n<li>Le d\u00e9veloppement de la surveillance n'est pas l'installation d'outils, mais le d\u00e9veloppement d'un produit logiciel. 98 % de la surveillance actuelle est du codage. Du codage dans les services, du codage pour les v\u00e9rifications externes, des v\u00e9rifications des services externes, et ainsi de suite. <\/li>\n<li>Ne n\u00e9gligez pas le temps des d\u00e9veloppeurs pour la surveillance : cela peut repr\u00e9senter jusqu'\u00e0 30 % de leur travail, mais cela en vaut la peine.<\/li>\n<li>DevOps, ne vous inqui\u00e9tez pas si vous n'arrivez pas \u00e0 surveiller quelque chose, car certaines choses rel\u00e8vent totalement d'une autre fa\u00e7on de penser. Vous n'\u00e9tiez pas programmeur, et le travail de surveillance est pr\u00e9cis\u00e9ment leur domaine.<\/li>\n<li>Si le projet fonctionne d\u00e9j\u00e0 et n'est pas surveill\u00e9 (et que vous \u00eates le manager) \u2014 allouez des ressources pour la surveillance.<\/li>\n<li>Si le produit est d\u00e9j\u00e0 en production et que vous \u00eates DevOps, \u00e0 qui on a demand\u00e9 de \u00ab configurer la surveillance \u00bb \u2014 essayez d'expliquer \u00e0 la direction ce dont j'ai parl\u00e9 tout au long de ces lignes.<\/li>\n<\/ul>\n<p>\n<i>C'est une version \u00e9tendue de la pr\u00e9sentation faite lors de la conf\u00e9rence Saint Highload++.<\/i><\/p>\n<p>Si mes id\u00e9es et r\u00e9flexions sur l'IT et les sujets connexes vous int\u00e9ressent, vous pouvez <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/eapotapov_channel\">lire le canal <\/a><\/noindex>\ud83d\ude42<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/448602\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u0448\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0441 2008 \u0433\u043e\u0434\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438 \u0438 \u043a\u0440\u0443\u0433\u043b\u043e\u0441\u0443\u0442\u043e\u0447\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0435\u0431-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432: \u0443 \u043d\u0430\u0441 \u0431\u043e\u043b\u0435\u0435 400 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u044d\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 15% \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u0420\u043e\u0441\u0441\u0438\u0438. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0434\u0430\u0435\u0442, \u043c\u044b \u043e\u0431\u044f\u0437\u0430\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 15 \u043c\u0438\u043d\u0443\u0442 \u044d\u0442\u043e \u043f\u043e\u0447\u0438\u043d\u0438\u0442\u044c. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0430\u0432\u0430\u0440\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442\u044b. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31864","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\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\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\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\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\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-10-31T18:43:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:43:33+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\udd47La surveillance est-elle morte ? \u2014 Vive la surveillance | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043c\u0451\u0440\u0442\u0432? \u2014 \u0414\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 | ProHoster","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","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-10-31T18:43:33+00:00","article:modified_time":"2019-10-31T18:43:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31864","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-02-09 17:01:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:09:27","updated":"2026-02-09 17:01:09","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\/31864","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=31864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/31864\/revisions"}],"predecessor-version":[{"id":158558,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/31864\/revisions\/158558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/23731"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=31864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=31864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=31864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}