Mise en Ɠuvre typique de la surveillance. Nikolay Sivko

DĂ©codage du rapport «Mise en Ɠuvre type du suivi» par Nikolay Sivko.


Je m'appelle Nikolai Sivko. Je fais aussi du monitoring. Okmeter est la surveillance que je fais. J'ai dĂ©cidĂ© que je sauverais tout le monde de l'enfer de la surveillance et nous sauverions quelqu'un de cette souffrance. J'essaie toujours de ne pas annoncer d'okmĂštre dans mes prĂ©sentations. Naturellement, les photos seront de lĂ . Mais l'idĂ©e de ce que je veux dire est que nous faisons de la surveillance une approche lĂ©gĂšrement diffĂ©rente de ce que tout le monde fait habituellement. Nous en parlons beaucoup. Lorsque nous essayons de convaincre chaque individu en cela, il devient finalement convaincu. Je veux parler de notre approche prĂ©cisĂ©ment pour que si vous faites le suivi vous-mĂȘme, pour Ă©viter notre rĂąteau.




À propos de l'Okmeter en bref. Nous faisons la mĂȘme chose que vous, mais il y a toutes sortes de puces. Chips:


  • dĂ©tailler;
  • un grand nombre de dĂ©clencheurs prĂ©configurĂ©s basĂ©s sur les problĂšmes de nos clients;
  • Configuration automatique


Un client typique vient Ă  nous. Il a deux tĂąches:


1) comprendre que tout est tombé en panne de surveillance, alors qu'il n'y a rien du tout.


2) le réparer rapidement.


Il vient surveiller les réponses de ce qui lui arrive.



La premiÚre chose que font les gens qui n'ont rien est de mettre https://www.pingdom.com/ et d'autres services pour vérification. L'avantage de cette solution est qu'elle peut se faire en 5 minutes. Vous ne découvrirez plus le problÚme lors des appels des clients. Il y a des problÚmes de précision pour qu'ils sautent les problÚmes. Mais pour les sites simples, cela suffit.



La deuxiÚme chose que nous préconisons est de compter par les logs selon les statistiques des utilisateurs réels. C'est combien un utilisateur particulier obtient des erreurs 5xx. Quel est le temps de réponse des utilisateurs. Il y a des inconvénients, mais en général, une telle chose fonctionne.



À propos de nginx: nous avons fait en sorte que tout client qui vient immĂ©diatement place l'agent sur le frontend et que tout soit automatiquement captĂ© par lui, il commence l'analyse, les erreurs commencent Ă  apparaĂźtre, etc. Il n'a presque rien Ă  configurer.



Mais la plupart des clients n'ont pas de temporisateur dans les journaux nginx standard. Ces 90% de clients ne souhaitent pas connaĂźtre le temps de rĂ©ponse de leur site. Nous sommes constamment confrontĂ©s Ă  cela. Il est nĂ©cessaire d'Ă©tendre le journal nginx. Ensuite, hors de la boĂźte, nous commençons automatiquement Ă  afficher les histogrammes hors de la boĂźte. Il s'agit probablement d'un aspect important du fait que le temps doit ĂȘtre mesurĂ©.



Que retirons-nous de lĂ ? Dans la pratique, nous prenons des mesures dans de telles dimensions. Ce ne sont pas des mesures plates. La mĂ©trique est appelĂ©e index.request.rate - le nombre de requĂȘtes par seconde. Il est dĂ©taillĂ© par:


  • l'hĂŽte duquel vous avez supprimĂ© les journaux;
  • le journal d'oĂč ces donnĂ©es ont Ă©tĂ© extraites;
  • http par mĂ©thode;
  • statut http;
  • Ă©tat du cache.

Ce n'est PAS chaque URL spécifique avec tous les arguments. Nous ne voulons pas supprimer 100 000 mesures du journal.



Nous voulons prendre 1000 métriques. Par conséquent, nous essayons de normaliser l'URL, si possible. Prenez l'URL du haut. Et pour les URL significatives, nous montrons un graphique à barres séparé, séparément 5xx.



Voici un exemple de la façon dont cette métrique simple se transforme en graphiques utilisables. C'est notre DSL en haut. J'ai essayé cette DSL pour expliquer la logique approximative. Nous avons pris toutes les demandes de nginx par seconde et les avons disposées sur toutes les machines que nous avons. J'ai des connaissances sur la façon dont nous équilibrons, combien nous avons RPS total (demande par seconde, demandes par seconde).



D'un autre cĂŽtĂ©, nous pouvons filtrer cette mĂ©trique et afficher uniquement 4xx. Sur un graphique 4xx, ils peuvent ĂȘtre disposĂ©s en fonction de l'Ă©tat rĂ©el. Je vous rappelle que c'est la mĂȘme mĂ©trique.



Sur le graphique, vous pouvez afficher 4xx par URL. Il s'agit de la mĂȘme mesure.



Nous tirons également un histogramme à partir des journaux. Un histogramme est la métrique response_time.histrogram, qui est en fait RPS avec un paramÚtre de niveau supplémentaire. Il s'agit simplement d'une coupure de temps dans laquelle le compartiment obtient la demande.



Nous dessinons une demande: résumons l'histogramme entier et le trions en niveaux:


  • Demandes lentes
  • demandes rapides;
  • requĂȘtes moyennes;

Nous avons une image qui a dĂ©jĂ  Ă©tĂ© rĂ©sumĂ©e par les serveurs. La mĂ©trique est la mĂȘme. Sa signification physique est comprĂ©hensible. Mais nous en profitons de maniĂšres complĂštement diffĂ©rentes.



Sur le graphique, vous pouvez afficher l'histogramme uniquement par URL commençant par "/ api". Ainsi, nous regardons l'histogramme sĂ©parĂ©ment. Nous regardons combien en ce moment. Nous voyons combien de RPS Ă©taient dans l'URL "/ api". La mĂȘme mĂ©trique, mais une application diffĂ©rente.



Quelques mots sur les timings dans nginx. Il y a request_time, qui inclut le temps entre le dĂ©but de la demande et le transfert du dernier octet au socket au client. Et il y a upstream_response_time. Ils doivent ĂȘtre mesurĂ©s Ă  la fois. Si nous supprimons simplement request_time, alors vous verrez des retards dus Ă  des problĂšmes de connectivitĂ© client avec votre serveur, vous y verrez des retards si nous avons configurĂ© la demande de limitation c burst et le client dans le bain. Vous ne comprendrez pas si vous devez rĂ©parer le serveur ou appeler l'hĂ©bergeur. En consĂ©quence, nous supprimons les deux et il est Ă  peu prĂšs clair ce qui se passe.



Avec la tùche de comprendre si le site fonctionne ou non, je pense que nous avons plus ou moins compris. Il y a des erreurs. Il y a des inexactitudes. Les principes généraux sont les suivants.


Maintenant sur la surveillance de l'architecture Ă  plusieurs niveaux. Parce que mĂȘme la boutique en ligne la plus simple a au moins une interface, suivie d'une bitrix et d'une base. C'est dĂ©jĂ  beaucoup de liens. Le point gĂ©nĂ©ral est que vous devez tirer quelques indicateurs de chaque niveau. Autrement dit, l'utilisateur pense Ă  l'interface. Frontend pense au backend. Le backend pense au backend voisin. Et ils pensent tous Ă  la base. Donc, par couches, par dĂ©pendances, on passe. Nous couvrons tout avec une sorte de mĂ©trique. Nous obtenons quelque chose Ă  la sortie.



Pourquoi ne pas se limiter Ă  une seule couche? En rĂšgle gĂ©nĂ©rale, entre les couches se trouve un rĂ©seau. Un grand rĂ©seau sous charge est une substance extrĂȘmement instable. Par consĂ©quent, tout se passe lĂ -bas. De plus, ces mesures que vous faites sur quelle couche peut se trouver. Si vous prenez des mesures sur la couche «A» et la couche «B», et si elles interagissent entre elles via le rĂ©seau, vous pouvez comparer leurs lectures, trouver des anomalies et des incohĂ©rences.



À propos du backend. Nous voulons comprendre comment surveiller le backend. Que faire avec pour comprendre rapidement ce qui se passe. Je vous rappelle que nous sommes dĂ©jĂ  passĂ©s Ă  la tĂąche de minimiser les temps d'arrĂȘt. Et Ă  propos du backend, nous suggĂ©rons gĂ©nĂ©ralement de comprendre:


  • Combien cette ressource mange-t-elle?
  • Sommes-nous heurtĂ©s Ă  une limite?
  • Que se passe-t-il avec le runtime? Par exemple, la plate-forme d'exĂ©cution JVM, l'environnement d'exĂ©cution Golang et d'autres environnements d'exĂ©cution.
  • Lorsque nous avons dĂ©jĂ  couvert tout cela, il est intĂ©ressant pour nous dĂ©jĂ  plus proche de notre code. Nous pouvons soit utiliser l'intrumĂ©trie automatique (statsd, * -metric), qui nous montrera tout cela. Ou informez-vous en rĂ©glant des minuteries, des compteurs, etc.


À propos des ressources. Notre agent standard supprime la consommation de ressources par tous les processus. Par consĂ©quent, pour le backend, nous n'avons pas besoin de capturer sĂ©parĂ©ment les donnĂ©es. Nous prenons et voyons combien le CPU consomme le processus, par exemple Python sur les serveurs masquĂ©s. Nous montrons tous les serveurs du cluster sur le mĂȘme graphique, car nous voulons comprendre si nous avons des dĂ©sĂ©quilibres et si quelque chose a explosĂ© sur la mĂȘme machine. Nous voyons la consommation totale d'hier Ă  aujourd'hui.



Il en va de mĂȘme pour la mĂ©moire. Quand on le dessine comme ça. Nous sĂ©lectionnons Python RSS (RSS est la taille des pages mĂ©moire allouĂ©es au processus par le systĂšme d'exploitation et actuellement situĂ©es dans la RAM). Somme par hĂŽte. Nous ne regardons nulle part oĂč la mĂ©moire coule. Partout la mĂ©moire est rĂ©partie uniformĂ©ment. En principe, nous avons reçu une rĂ©ponse Ă  nos questions.



Exemple d'exécution. Notre agent est écrit à Golang. L'agent Golang s'envoie des métriques de son runtime. Il s'agit en particulier du nombre de secondes passées par le ramasse-miettes de Golang sur la collecte des ordures par seconde. Nous voyons ici que certains serveurs ont des métriques différentes des autres serveurs. Nous avons vu une anomalie. Nous essayons d'expliquer cela.



Il existe une autre mesure d'exécution. La quantité de mémoire allouée par unité de temps. Nous voyons que les agents de type supérieur allouent plus de mémoire que les agents inférieurs. Vous trouverez ci-dessous des agents avec un garbage collector moins agressif. C'est logique. Plus la mémoire qui vous traverse est allouée, libérée, plus la charge sur le garbage collector est importante. De plus, selon nos métriques internes, nous comprenons pourquoi nous voulons autant de mémoire sur ces machines et moins sur ces machines.



Quand on parle d'instrumentation, toutes sortes d'outils comme http://pinba.org/ pour php arrivent. Pinba est une extension pour php de Badoo, que vous installez et connectez-vous à php. Il vous permet de supprimer et d'envoyer immédiatement le protobuf via UDP. Ils ont un serveur pinba. Mais nous avons créé un serveur Pinba intégré dans l'agent. PHP s'envoie combien il a dépensé de CPU et de mémoire pour de tels scripts, combien de trafic est donné par ces scripts, etc. Voici un exemple avec Pinba. Nous montrons les 5 meilleurs scripts sur la consommation du processeur. Nous voyons une valeur violette aberrante qui est un point barbouillé de PHP. Nous allons réparer le point souillé de PHP ou comprendre pourquoi il mange le CPU. Nous avons déjà réduit la portée du problÚme afin de comprendre les étapes suivantes. Nous allons regarder le code et le réparer.



Il en va de mĂȘme pour le trafic. Nous regardons les 5 meilleurs scripts de trafic. Si c'est important pour nous, alors nous allons comprendre.



Il s'agit d'un tableau sur nos outils internes. Lorsque nous avons réglé le minuteur via statsd et mesuré les métriques. Nous avons fait en sorte que le temps total passé dans le CPU ou en prévision d'une ressource soit défini selon le gestionnaire que nous traitons actuellement, et selon les étapes importantes de votre code: ils ont attendu la cassander, attendu elasticsearch. Le graphique présente les 5 premiÚres étapes du gestionnaire / metric / query. Sur le graphique, vous pouvez afficher les 5 meilleurs gestionnaires pour la consommation du processeur, donc ce qui se passe à l'intérieur. Il est clair que corriger.


À propos du backend, vous pouvez aller plus loin. Il y a des choses qui font le traçage. Autrement dit, vous pouvez voir cette demande d'utilisateur particuliĂšre avec un cookie tel ou tel et une telle ou telle adresse IP gĂ©nĂ©rĂ©e tant de demandes Ă  la base de donnĂ©es, ils ont attendu tellement de temps. Nous ne sommes pas en mesure de retracer. Nous ne traçons pas. Nous pouvons toujours croire que nous ne faisons pas d'applications ni de surveillance des performances.



À propos de la base de donnĂ©es. La mĂȘme chose. Les bases de donnĂ©es sont le mĂȘme processus. Il consomme des ressources. Si la base est trĂšs sensible Ă  la latence, il existe des fonctionnalitĂ©s lĂ©gĂšrement diffĂ©rentes. Nous suggĂ©rons de vĂ©rifier qu'il n'y a pas moins de ressources, pas de dĂ©gradation des ressources. Il est idĂ©al de comprendre que si la base commence Ă  consommer plus qu'elle n'en consomme, alors comprenez exactement ce qui a changĂ© dans votre code.



À propos des ressources. De la mĂȘme maniĂšre, nous regardons combien le processus MySQL gĂ©nĂšre sur notre disque. On voit qu'en moyenne il y en a tellement, mais certains pics se produisent. Par exemple, beaucoup d'insert arrive et il commence Ă  Ă©crire sur le disque Ă  15h15, 16h15, 17h15.



A propos de la dĂ©gradation des ressources. Par exemple, une batterie RAID est passĂ©e en mode maintenance. Elle a cessĂ© d'ĂȘtre un contrĂŽleur comme une batterie sous tension. À ce stade, le cache d'Ă©criture est dĂ©connectĂ©, la latence des disques d'Ă©criture augmente. À ce stade, si la base de donnĂ©es a commencĂ© Ă  s'Ă©mousser en attendant le disque et que vous savez approximativement qu'avec la mĂȘme charge sur votre Ă©criture, la latence du disque Ă©tait diffĂ©rente, vĂ©rifiez la batterie en RAID.



Ressources Ă  la demande. Ce n'est pas si simple ici. DĂ©pend de la base. La base doit pouvoir parler d'elle-mĂȘme: quelles demandes elle dĂ©pense en ressources, etc. Le leader dans ce domaine est PostgreSQL. Il a pg_stat_statements. Vous pouvez comprendre le type de demande que vous avez en utilisant beaucoup de CPU, de disque de lecture et d'Ă©criture et de trafic.


Dans MySQL, pour ĂȘtre honnĂȘte, tout est bien pire. Il a performance_schema. Cela fonctionne en quelque sorte Ă  partir de la version 5.7. Contrairement Ă  une seule vue dans PostgreSQL, performance_schema est une table de vue systĂšme 27 ou 23 dans MySQL. Parfois, si vous faites des requĂȘtes sur les mauvaises tables (sur la mauvaise vue), vous pouvez dilapider MySQL.


Redis a des statistiques sur l'Ă©quipe. Vous voyez qu'une certaine commande utilise beaucoup de CPU, etc.


Cassandra dispose de temps pour interroger des tables spĂ©cifiques. Mais comme la cassandra est conçue pour qu'un seul type de requĂȘte soit fait sur la table, cela suffit pour la surveillance.



Voici Redis. Nous voyons que le violet utilise beaucoup de CPU. Le violet est un setex. Setex - enregistrement clĂ© avec installation TTL. Si c'est important pour nous, allons-y. Si cela n'est pas important pour nous, nous savons simplement oĂč vont toutes les ressources.



Cassandra. Nous voyons les 5 premiers tableaux pour les demandes de lecture par le temps de rĂ©ponse total. Nous voyons cette montĂ©e subite. Ce sont des requĂȘtes Ă  la table, et nous comprenons Ă  peu prĂšs qu'une requĂȘte Ă  cette table fait un morceau de code. Cassandra n'est pas une base de donnĂ©es SQL dans laquelle nous pouvons effectuer diffĂ©rentes requĂȘtes sur des tables. Cassandra est de plus en plus misĂ©rable.



Quelques mots sur le workflow avec les incidents. Comme je le vois.


À propos de l'alerte. Notre vision du flux de travail des incidents est diffĂ©rente de ce qui est gĂ©nĂ©ralement acceptĂ©.



Severy Critical. Nous vous informons par SMS et tous les canaux de communication en temps réel.


Severy Info est une ampoule qui peut vous aider avec quelque chose lorsque vous travaillez avec des incidents. L'information n'est notifiée nulle part. Info se bloque simplement et vous indique que quelque chose se passe.


Severy Warning est quelque chose qui peut ĂȘtre notifiĂ©, peut-ĂȘtre pas.



Exemples critiques.


Le site ne fonctionne pas du tout. Par exemple, 5xx 100% ou le temps de réponse a augmenté et les utilisateurs ont commencé à partir.


Erreurs de logique métier. Ce qui est critique. Il faut mesurer l'argent par seconde. L'argent par seconde est une bonne source de données pour Critical. Par exemple, le nombre de commandes, la promotion d'annonces et autres.



Workflow avec Critical de sorte que cet incident ne puisse pas ĂȘtre reportĂ©. Vous ne pouvez pas cliquer sur OK et rentrer chez vous. Si Critical est venu vers vous et que vous prenez le mĂ©tro, vous devez sortir du mĂ©tro, sortir, prendre un banc et commencer Ă  rĂ©parer. Sinon, ce n'est pas critique. À partir de ces considĂ©rations, nous construisons la gravitĂ© restante pour l'attribut rĂ©siduel.



Attention. Exemples d'avertissement.


  • L'espace disque est Ă©puisĂ©.
  • Le service interne fonctionne depuis longtemps, mais si vous n'avez pas Critical, cela signifie que vous ĂȘtes quand mĂȘme conditionnel.
  • Beaucoup d'erreurs sur l'interface rĂ©seau.
  • Le plus controversĂ© est que le serveur n'est pas disponible. En fait, si vous avez plusieurs serveurs et que le serveur n'est pas disponible, il s'agit d'un avertissement. Si vous n'avez pas 1 backend sur 100, alors c'est stupide de se rĂ©veiller des SMS et vous obtiendrez des administrateurs nerveux.

Tous les autres Severy sont conçus pour vous aider à gérer les critiques.



Attention. Nous préconisons cette approche pour travailler avec Warning. De préférence avertissement fermé pendant la journée. La plupart de nos clients ont désactivé la notification d'avertissement. Ainsi, ils ne disposent pas de la soi-disant surveillance de la cécité. Cela signifie plier des lettres dans le courrier sans lire un répertoire séparé. Les clients ont désactivé l'alerte d'avertissement.


(Si je comprends bien, la surveillance pure est des alertes et des déclencheurs inutiles ajoutés aux exceptions - note de l'auteur de l'article)


Si vous utilisez la technique de surveillance pure, si vous avez 5 nouveaux avertissements, vous pouvez les rĂ©parer en mode silencieux. Ils n’ont pas eu le temps de le rĂ©parer aujourd’hui, mais ils l’ont reportĂ© Ă  demain, sinon de maniĂšre critique. Si l'avertissement s'allume et s'Ă©teint, cela doit ĂȘtre tordu dans la surveillance afin que vous ne vous dĂ©rangiez pas Ă  nouveau. Ensuite, vous serez plus tolĂ©rant envers eux et, en consĂ©quence, la vie s'amĂ©liorera.



Exemples d'informations. Il est discutable que l'utilisation élevée du processeur de nombreux Critical. En fait, si rien n'affecte, vous pouvez ignorer cette notification.



Attention (peut-ĂȘtre que je vois Info - une note de l'auteur du post) ce sont les lumiĂšres qui s'allument lorsque vous venez rĂ©parer le Critical. Vous voyez deux panneaux d'avertissement cĂŽte Ă  cĂŽte (il y a peut-ĂȘtre un lien Info - note de l'auteur du message). Ils peuvent vous aider Ă  rĂ©soudre l'incident avec Critical. Pourquoi il n'est pas clair sur l'utilisation Ă©levĂ©e du processeur sĂ©parĂ©ment dans SMS ou dans une lettre.


L'information inutile est Ă©galement mauvaise. Si vous les configurez comme exception, vous allez trop aimer Info.



Principes généraux de conception des alertes. L'alerte doit indiquer la raison. C'est parfait. Mais cela est difficile à réaliser. Ici, nous travaillons à plein temps sur une tùche et elle se révÚle avec un certain succÚs.


Tout le monde parle du besoin de dépendance, d'auto-magie. En fait, si vous ne recevez pas de notifications pour quelque chose qui ne vous intéresse pas, il n'y en aura pas trop. Dans ma pratique, les statistiques montrent qu'une personne regardera au moment d'un incident critique avec ses yeux une centaine d'ampoules en diagonale. Il trouvera la bonne là-bas et ne pensera pas que la dépendance a caché des ampoules qui pourraient m'aider maintenant. En pratique, cela fonctionne. Il vous suffit de nettoyer les alertes inutiles.



(Ici la vidéo sautée - note de l'auteur de l'article)



Ce serait bien de classer ces temps d'arrĂȘt afin de pouvoir travailler avec eux plus tard. Par exemple, tirez des conclusions organisationnelles. Vous devez comprendre pourquoi vous mentiez. Nous proposons de classer / diviser dans les classes suivantes:


  • crĂ©Ă© par l'homme
  • mise en place d'hĂ©bergeur
  • est venu des bots

Si vous les classifiez, alors tout le monde sera content.



Le SMS est arrivĂ©. On fait quoi? Nous courons d'abord pour tout rĂ©parer. Jusqu'Ă  prĂ©sent, rien n'est important pour nous, Ă  l'exception du temps d'arrĂȘt. Parce que nous sommes motivĂ©s Ă  mentir moins. Ensuite, lorsque l'incident est clos, il doit ĂȘtre fermĂ© au systĂšme de surveillance. Nous pensons que l'incident doit ĂȘtre contrĂŽlĂ© par surveillance. Si votre surveillance n'est pas configurĂ©e, il suffit de vous assurer que le problĂšme est rĂ©solu. Cela doit ĂȘtre tordu. Une fois l'incident clos, il n'est pas rĂ©ellement clos. Il attend pendant que vous arrivez au fond de la raison. En fait, tout dirigeant doit d’abord s’assurer que les problĂšmes ne se reproduisent pas. Pour que les problĂšmes ne se reproduisent pas, il faut aller au fond de la raison. Une fois que nous sommes arrivĂ©s au fond de la raison, nous avons des donnĂ©es pour les classer. Nous analysons les raisons. Ensuite, alors que nous arrivons au fond de la raison, nous devons le faire Ă  l'avenir pour que l'incident ne se reproduise pas:


  • il faut deux personnes par quart pour Ă©crire telle ou telle logique dans le backend.
  • besoin de mettre plus de rĂ©pliques.

Il est nĂ©cessaire de s'assurer que le mĂȘme incident ne se produit pas exactement. Lorsque vous travaillez dans un tel flux de travail Ă  travers N itĂ©rations, le bonheur vous attend, une bonne disponibilitĂ©.


Pourquoi les avons-nous classĂ©s? Nous pouvons prendre les statistiques du trimestre et comprendre quel temps d'arrĂȘt vous a le plus apportĂ©. Travaillez ensuite dans cette direction. Vous pouvez travailler sur tous les fronts ne sera pas trĂšs efficace, surtout si vous avez peu de ressources lĂ -bas.



Nous avons calculĂ© que nous restions lĂ  pendant tellement de temps, par exemple 90% Ă  cause de l'hĂ©bergeur. Nous facturons nous changeons cet hĂ©bergeur. Si les gens jouent avec nous, nous les envoyons aux cours. , - — . . , . , .



. :


  • .
  • .

, , . , , .



: , . : , , . False Positive ( ), , . ?


: . 10- frontend , . 9 frontend nginx, 10- , warning alert . . , . . .


: . , , load avarage 4 , - load avarage 20 .


: load avarage. 100 . CPU usage Hadoop . . . . , , . PostgreSQL autovacuum, worker autovacuum . 99 . Warning . Critical . Critical 10 5 , Critical.


Question: À quel moment et comment le seuil est-il dĂ©terminĂ©? Qui fait ça?


RĂ©ponse: Vous venez chez nous et dites: nous voulons demander Ă  certains critiques de notre projet. Si vous mettez 10 5xx par seconde maintenant, alors combien de notifications vous recevriez il y a une semaine.


Question: Quel est le poids de tout ce bon suivi?


Réponse: En moyenne, il est généralement invisible. Mais si vous analysez 50 000 RPS, ce sera de 1% à 10% d'un processeur. Comme nous ne faisons que du suivi, nous avons optimisé notre agent. Nous mesurons les performances des agents. Si vous n'avez pas les ressources à surveiller sur le serveur, vous faites quelque chose de mal. Il devrait toujours y avoir des ressources à surveiller. Si vous ne le faites pas, vous serez aussi aveugle au toucher pour administrer votre projet.

Source: https://habr.com/ru/post/fr473728/


All Articles