{"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\/de\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","title":{"rendered":"Monitoring tot? \u2014 Es lebe das Monitoring","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Monitoring tot? \u2014 Es lebe das Monitoring\" src=\"\/wp-content\/uploads\/2019\/04\/13453bb7025a6bf3d1c7a3dc6d038d16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUnser Unternehmen besch\u00e4ftigt sich seit 2008 \u00fcberwiegend mit dem Management von Infrastruktur und rund um die Uhr technischem Support f\u00fcr Webprojekte. Wir haben mehr als 400 Kunden, was etwa 15 % des E-Commerce in Russland ausmacht. Dementsprechend haben wir einen sehr vielf\u00e4ltigen Support. Wenn etwas ausf\u00e4llt, sind wir verpflichtet, dies innerhalb von 15 Minuten zu beheben. Um festzustellen, ob eine St\u00f6rung aufgetreten ist, m\u00fcssen wir das Projekt \u00fcberwachen und auf Vorf\u00e4lle reagieren. Aber wie macht man das? <\/p>\n<p>Ich denke, dass in der Organisation eines effektiven Monitoring-Systems ein gro\u00dfes Problem besteht. Wenn es dieses Problem nicht g\u00e4be, w\u00fcrde meine Rede nur aus einem Satz bestehen: \"Bitte installieren Sie Prometheus + Grafana und die Plugins 1, 2, 3.\" Leider funktioniert es heutzutage nicht mehr so. Das Hauptproblem liegt darin, dass alle weiterhin an etwas glauben, das seit 2008 existiert, wenn man die Softwarekomponenten betrachtet. <\/p>\n<p>Wenn es um den Aufbau eines \u00dcberwachungssystems geht, w\u00fcrde ich sagen, dass... es so gut wie keine Projekte mit vern\u00fcnftiger \u00dcberwachung gibt. Die Lage ist so schlecht, dass, wenn etwas ausf\u00e4llt, die Gefahr besteht, dass dies unbemerkt bleibt - schlie\u00dflich sind alle \u00fcberzeugt, dass \"alles \u00fcberwacht wird\".<br \/>\nM\u00f6glicherweise wird alles \u00fcberwacht. Aber wie? <\/p>\n<p>Wir alle haben Geschichten wie die folgende erlebt: Ein DevOps-Engineer oder ein Administrator arbeitet, und dann kommt ein Entwicklerteam und sagt - \u201eWir haben released, jetzt \u00fcberwache bitte\u201c. Was soll ich \u00fcberwachen? Wie funktioniert das?<\/p>\n<p>Okay. Wir \u00fcberwachen die alte Art und Weise. Aber es hat sich bereits etwas ge\u00e4ndert, und es stellt sich heraus, dass du den Dienst A \u00fcberwacht hast, der jetzt zu Dienst B wurde, der mit Dienst C interagiert. Aber das Entwicklerteam sagt dir: \u201eInstalliere die Software, sie sollte alles \u00fcberwachen!\u201c<\/p>\n<p>Was hat sich ge\u00e4ndert? - Alles hat sich ge\u00e4ndert!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>2008. Alles ist gro\u00dfartig.<\/h4>\n<p>\nEs gibt ein paar Entwickler, einen Server und einen Datenbankserver. Darauf basiert alles. Wir haben einige Informationen, installieren Zabbix, Nagios und Cacti. Dann stellen wir verst\u00e4ndliche Alarme f\u00fcr CPU, Festplattensysteme und Speicherplatz auf den Festplatten ein. Au\u00dferdem f\u00fchren wir ein paar manuelle \u00dcberpr\u00fcfungen durch, um sicherzustellen, dass die Webseite reagiert und Bestellungen in die Datenbank eingehen. Und das war's \u2013 wir sind mehr oder weniger gesch\u00fctzt. <\/p>\n<p>Wenn man das Arbeitsvolumen vergleicht, das der Administrator damals f\u00fcr die \u00dcberwachung geleistet hat, war es zu 98 % automatisiert: Die Person, die f\u00fcr die \u00dcberwachung zust\u00e4ndig ist, muss verstehen, wie man Zabbix installiert, es konfiguriert und die Alarme einstellt. Die restlichen 2 % entfallen auf externe \u00dcberpr\u00fcfungen: ob die Webseite reagiert und Anfragen an die Datenbank sendet, ob neue Bestellungen eingegangen sind.<\/p>\n<p><img decoding=\"async\" alt=\"Monitoring tot? \u2014 Es lebe das Monitoring\" src=\"\/wp-content\/uploads\/2019\/04\/3563dda4d025fd18200d6410d7d065ed.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h4>2010. Die Last w\u00e4chst.<\/h4>\n<p>\nWir beginnen, die Webserver zu skalieren und f\u00fcgen eine Suchmaschine hinzu. Wir wollen sicherstellen, dass der Produktkatalog alle Produkte enth\u00e4lt. Und dass die Produktsuche funktioniert. Dass die Datenbank l\u00e4uft, Bestellungen bearbeitet werden, dass die Webseite extern reagiert und von zwei Seiten antwortet. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/de\/server\/\"   title=\"Server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1314\">Server<\/a> und der Nutzer nicht von der Seite geworfen wird, w\u00e4hrend er auf einen anderen Server umgeschaltet wird, usw. Die Entit\u00e4ten nehmen zu. <\/p>\n<p>Die Beziehung zur Infrastruktur bleibt nach wie vor das zentrale Thema im Kopf des Managers. Es existiert immer noch die Vorstellung, dass die Person, die f\u00fcr das Monitoring verantwortlich ist, einfach Zabbix installiert und konfigurieren kann.<\/p>\n<p>Gleichzeitig entstehen jedoch Arbeiten f\u00fcr externe Pr\u00fcfungen, um eine Reihe von Skripten zur Abfrage von Suchindizierern zu erstellen, sowie Skripte zur \u00dcberpr\u00fcfung, dass sich das Suchverhalten w\u00e4hrend der Indizierung \u00e4ndert, und Skripte, die sicherstellen, dass die Waren an den Lieferservice \u00fcbergeben werden, und so weiter.<\/p>\n<p><img decoding=\"async\" alt=\"Monitoring tot? \u2014 Es lebe das Monitoring\" src=\"\/wp-content\/uploads\/2019\/04\/afa94a3156a24a81ab359b430341f27d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBeachten Sie: Ich habe dreimal \u00abSatz von Skripten\u00bb geschrieben. Das bedeutet, dass der Verantwortliche f\u00fcr das Monitoring nicht mehr nur derjenige ist, der Zabbix installiert. Es ist jemand, der anf\u00e4ngt zu programmieren. Aber im Kopf des Teams hat sich bisher nichts ge\u00e4ndert. <\/p>\n<p>Die Welt ver\u00e4ndert sich und wird zunehmend komplexer. Es kommen Schichten der Virtualisierung hinzu, mehrere neue Systeme. Diese beginnen, miteinander zu interagieren. Wer hat gesagt \"Es riecht nach Microservices?\" Aber jeder Service sieht immer noch aus wie eine separate Website. Wir k\u00f6nnen darauf zugreifen und verstehen, dass er die ben\u00f6tigten Informationen bereitstellt und f\u00fcr sich selbst funktioniert. Und wenn Sie ein Administrator sind, der st\u00e4ndig an einem Projekt arbeitet, das sich \u00fcber 5, 7 oder 10 Jahre entwickelt hat, sammeln sich diese Kenntnisse an: Ein neues Niveau erscheint \u2014 Sie haben es erkannt, ein weiteres Niveau erscheint \u2014 Sie haben es erkannt\u2026 <\/p>\n<p><img decoding=\"async\" alt=\"Monitoring tot? \u2014 Es lebe das Monitoring\" src=\"\/wp-content\/uploads\/2019\/04\/3578182594d012732afde7849b75322a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAber selten begleitet jemand ein Projekt \u00fcber 10 Jahre.<\/p>\n<h3>Zusammenfassung des Monitoring-Profis<\/h3>\n<p>\nStellen Sie sich vor, Sie kommen in ein neues Start-up, das sofort 20 Entwickler eingestellt hat und 15 Microservices geschrieben hat, und Sie sind der Administrator, der gesagt bekommt: \"Bitte bauen Sie CI\/CD.\" Sie haben CI\/CD aufgebaut und pl\u00f6tzlich h\u00f6ren Sie: \"Es f\u00e4llt uns schwer, mit der Produktion im 'Kubernetes' zu arbeiten, ohne zu verstehen, wie die Anwendung darin l\u00e4uft. Erstellen Sie uns eine Sandbox im selben 'Kubernetes'.\"<br \/>\n Sie richten eine Sandbox in diesem Cube ein. Sofort h\u00f6ren Sie: \u201eWir ben\u00f6tigen eine Datenbank-Stage, die t\u00e4glich aus der Produktion aktualisiert wird, um sicherzustellen, dass alles auf der Datenbank funktioniert, ohne die Produktionsdatenbank zu beeintr\u00e4chtigen.\u201c<\/p>\n<p>Sie sind mittendrin. Zwei Wochen bis zum Release, und man sagt Ihnen: \u201eJetzt m\u00fcssen wir alles \u00fcberwachen\u2026\u201c Das hei\u00dft, die Clusterinfrastruktur \u00fcberwachen, die Microservices-Architektur \u00fcberwachen, die Interaktion mit externen Services \u00fcberwachen\u2026 <\/p>\n<p>Und die Kollegen ziehen dabei ihre gewohnte Vorgehensweise hervor und sagen: \u201eHier ist doch alles klar! Installieren Sie ein Programm, das das alles \u00fcberwacht.\u201c Ja, genau: Prometheus + Grafana + Plugins. <br \/>\nUnd sie f\u00fcgen hinzu: \u201eDu hast zwei Wochen, mach es so, dass alles zuverl\u00e4ssig ist.\u201c<\/p>\n<p>In vielen Projekten, die wir sehen, wird eine Person f\u00fcr das Monitoring zugewiesen. Stellen Sie sich vor, wir m\u00f6chten jemanden f\u00fcr zwei Wochen einstellen, der sich um das Monitoring k\u00fcmmert, und wir erstellen seinen Lebenslauf. \u00dcber welche F\u00e4higkeiten sollte diese Person verf\u00fcgen, wenn wir alles, was wir zuvor gesagt haben, ber\u00fccksichtigen?<\/p>\n<ul>\n<li>Er oder sie sollte die \u00dcberwachung und die Besonderheiten der Hardware-Infrastruktur verstehen.<\/li>\n<li>Er sollte die Besonderheiten des Kubernetes-Monitorings verstehen (jeder m\u00f6chte in \"Kube\", weil man sich davon abstrahieren kann, sich verstecken kann, w\u00e4hrend der Admin sich um den Rest k\u00fcmmert) \u2013 sowohl vom Kubernetes selbst als auch von seiner Infrastruktur, und wissen, wie man Anwendungen darin \u00fcberwacht.<\/li>\n<li>Er muss verstehen, dass Dienste auf spezielle Weisen miteinander kommunizieren und die Besonderheiten der Interaktion zwischen den Diensten kennen. Es ist durchaus m\u00f6glich, ein Projekt zu sehen, in dem einige Dienste synchron kommunizieren, weil es anders nicht funktioniert. Zum Beispiel kommuniziert das Backend \u00fcber REST, geht \u00fcber gRPC zum Katalogdienst, erh\u00e4lt die Liste der Produkte und gibt sie zur\u00fcck. Hier kann man nicht warten. Mit anderen Diensten hingegen arbeitet er asynchron. Eine Bestellung an den Lieferdienst \u00fcbermitteln, eine E-Mail versenden usw.<br \/>\nSie sind wahrscheinlich schon von alldem verwirrt? Und der Admin, der das \u00fcberwachen muss, ist noch verwirrter. <\/li>\n<li>Er sollte in der Lage sein zu planen und das richtig zu tun \u2013 da die Aufgaben immer mehr werden. <\/li>\n<li>Daher muss er eine Strategie f\u00fcr den entwickelten Service erstellen, um zu verstehen, wie man ihn konkret \u00fcberwachen kann. Er ben\u00f6tigt ein Verst\u00e4ndnis f\u00fcr die Projektarchitektur und deren Entwicklung sowie f\u00fcr die Technologien, die bei der Entwicklung verwendet werden. <\/li>\n<\/ul>\n<p>\nBetrachten wir einen absolut normalen Fall: Einige Dienste sind auf PHP, andere auf Go und wieder andere auf JS programmiert. Sie arbeiten irgendwie zusammen. Daher stammt der Begriff \u201eMikroservice\u201c: Es gibt so viele separate Systeme, dass die Entwickler das Projekt als Ganzes nicht mehr verstehen k\u00f6nnen. Ein Teil des Teams schreibt Dienste in JS, die autonom arbeiten, ohne zu wissen, wie der Rest des Systems funktioniert. Ein anderer Teil entwickelt Dienste in Python und besch\u00e4ftigt sich nicht damit, wie die anderen Dienste arbeiten; sie sind in ihrem Bereich isoliert. Ein dritter Teil schreibt Dienste in PHP oder in einer anderen Sprache. <br \/>\nAll diese 20 Personen sind auf 15 Dienste verteilt, und es gibt nur einen Administrator, der das alles verstehen muss. Halt! Wir haben gerade das System in 15 Mikroservices unterteilt, weil 20 Personen das gesamte System nicht verstehen k\u00f6nnen. <\/p>\n<p>Aber wir m\u00fcssen es irgendwie \u00fcberwachen...<\/p>\n<p>Was bleibt am Ende? Am Ende gibt es eine Person, die alles versteht, was ein ganzes Entwicklerteam nicht begreifen kann, und die gleichzeitig das Wissen und die F\u00e4higkeiten besitzen muss, die wir oben erw\u00e4hnt haben \u2013 eine robuste Infrastruktur, Kubernetes-Infrastruktur usw.<\/p>\n<p>Was soll man sagen... Houston, wir haben ein Problem.<\/p>\n<h3>Die \u00dcberwachung eines modernen Softwareprojekts ist an sich ein Softwareprojekt.<\/h3>\n<p>\nAus der falschen \u00dcberzeugung, dass Monitoring nur Software ist, entsteht der Glaube an Wunder. Doch Wunder gibt es leider nicht. Man kann Zabbix installieren und nicht erwarten, dass alles reibungslos l\u00e4uft. Es macht keinen Sinn, Grafana einzurichten und zu hoffen, dass alles gut l\u00e4uft. Der Gro\u00dfteil der Zeit wird damit verbracht, die Funktionsweise der Dienste und deren Interaktion zu organisieren sowie die Funktionsweise externer Systeme zu \u00fcberpr\u00fcfen. Tats\u00e4chlich werden 90 % der Zeit nicht f\u00fcr das Schreiben von Skripten, sondern f\u00fcr die Softwareentwicklung ben\u00f6tigt. Und daf\u00fcr sollte ein Team zust\u00e4ndig sein, das die Funktionsweise des Projekts versteht. <br \/>\nWenn in dieser Situation eine Person mit dem Monitoring beauftragt wird, wird es Probleme geben. So l\u00e4uft es \u00fcberall.<\/p>\n<p>Zum Beispiel gibt es mehrere Dienste, die \u00fcber Kafka miteinander kommunizieren. Eine Bestellung wird aufgegeben, und wir senden die Bestellung als Nachricht an Kafka. Es gibt einen Dienst, der die Informationen zur Bestellung \u00fcberwacht und die Ware versendet. Ein anderer Dienst h\u00f6rt die Informationen zur Bestellung und sendet eine E-Mail an den Benutzer. Dann kommen noch viele weitere Dienste hinzu, und wir beginnen, den \u00dcberblick zu verlieren.<\/p>\n<p>Und wenn Sie das noch an den Administrator und die Entwickler \u00fcbergeben, wenn bis zur Ver\u00f6ffentlichung nicht mehr viel Zeit bleibt, muss die Person das gesamte Protokoll verstehen. Das hei\u00dft, ein Projekt in diesem Ma\u00dfstab ben\u00f6tigt erheblich Zeit, und dies sollte in der Systementwicklung eingeplant werden. <br \/>\nDoch ganz oft, insbesondere in der Gr\u00fcndungsphase, erleben wir, dass das Monitoring aufgeschoben wird. \u201eZun\u00e4chst erstellen wir ein Proof of Concept, starten damit und lassen es abst\u00fcrzen \u2013 wir sind bereit, daf\u00fcr zu opfern. Und sp\u00e4ter werden wir alles monitoren.\u201c Wenn (oder falls) das Projekt anf\u00e4ngt, Geld zu bringen, m\u00f6chte das Unternehmen immer mehr Funktionen entwickeln \u2013 denn es funktioniert nun, also muss man weiter anbringen! Doch Sie befinden sich an dem Punkt, an dem zun\u00e4chst alles Vorangegangene \u00fcberwacht werden muss, was nicht nur 1% der Zeit in Anspruch nimmt, sondern erheblich mehr. Und \u00fcbrigens, f\u00fcr das Monitoring ben\u00f6tigen Sie Entwickler, die stattdessen einfacher f\u00fcr neue Funktionen eingesetzt werden k\u00f6nnen. Am Ende werden neue Features entwickelt, alles wird angesto\u00dfen, und Sie geraten in eine endlose Sackgasse.<\/p>\n<p>Wie kann man also das Projekt von Anfang an monitoren, und was tun, wenn Ihnen ein Projekt zugeteilt wurde, das \u00fcberwacht werden muss, und Sie nicht wissen, wo Sie beginnen sollen?<\/p>\n<p>Zun\u00e4chst m\u00fcssen Sie planen. <\/p>\n<p><i>Lyrisches Einschub: Oft beginnt man mit der \u00dcberwachung der Infrastruktur. Zum Beispiel haben wir Kubernetes. Lassen Sie uns zun\u00e4chst Prometheus mit Grafana installieren und die Plugins zur \u00dcberwachung des \"K\u00fcbels\" hinzuf\u00fcgen. Es gibt eine bedauerliche Praxis sowohl bei Entwicklern als auch bei Administratoren: \"Wir installieren dieses Plugin, denn es scheint zu wissen, wie es geht.\" Menschen neigen dazu, mit einfachen und verst\u00e4ndlichen Dingen zu beginnen, anstatt mit den wichtigen T\u00e4tigkeiten. Und die \u00dcberwachung der Infrastruktur ist einfach.<\/i><\/p>\n<p>Zun\u00e4chst sollten Sie entscheiden, was und wie Sie \u00fcberwachen m\u00f6chten, und dann das richtige Werkzeug ausw\u00e4hlen. Denn andere Menschen k\u00f6nnen nicht f\u00fcr Sie denken. Sollten sie es auch? Andere dachten an sich selbst, an ein universelles System \u2013 oder dachten \u00fcberhaupt nicht dar\u00fcber nach, als sie dieses Plugin schrieben. Und nur weil dieses Plugin 5000 Nutzer hat, bedeutet das nicht, dass es irgendeinen Nutzen bringt. M\u00f6glicherweise werden Sie der 5001. Nutzer, weil es zuvor schon 5000 gab. <\/p>\n<p>Wenn Sie mit der \u00dcberwachung der Infrastruktur begonnen haben und das Backend Ihrer Anwendung nicht mehr reagiert, verlieren alle Benutzer den Zugriff auf die mobile Anwendung. Es wird zu einem Fehler kommen. Sie werden zu Ihnen kommen und sagen: \u201eDie Anwendung funktioniert nicht, was machen Sie hier?\u201c \u2013 \u201eWir \u00fcberwachen.\u201c \u2013 \u201eWie k\u00f6nnen Sie \u00fcberwachen, wenn Sie nicht sehen, dass die Anwendung nicht funktioniert?!\u201c <\/p>\n<ol>\n<li>Ich denke, dass man mit der \u00dcberwachung genau am Eintrittspunkt des Benutzers beginnen sollte. Wenn der Benutzer nicht sieht, dass die Anwendung funktioniert \u2013 ist alles verloren. Und das \u00dcberwachungssystem sollte in erster Linie darauf hinweisen. <\/li>\n<li>Und erst danach k\u00f6nnen wir die Infrastruktur \u00fcberwachen. Oder das parallel machen. Mit der Infrastruktur ist es einfacher \u2013 hier k\u00f6nnen wir schlie\u00dflich einfach Zabbix installieren. <\/li>\n<li>Und jetzt m\u00fcssen wir in die Wurzeln der Anwendung gehen, um zu verstehen, wo etwas nicht funktioniert.<\/li>\n<\/ol>\n<p>\nMein zentraler Gedanke ist \u2013 die \u00dcberwachung sollte parallel zum Entwicklungsprozess laufen. Wenn Sie das \u00dcberwachungsteam mit anderen Aufgaben ablenken (z.B. CI\/CD, Sandbox-Erstellung, Umstrukturierung der Infrastruktur), wird die \u00dcberwachung hinterherhinken, und m\u00f6glicherweise werden Sie die Entwicklung nie wieder einholen (oder m\u00fcssen sie irgendwann stoppen).<\/p>\n<h3>Alles auf verschiedenen Ebenen.<\/h3>\n<p>\nSo sehe ich die Organisation des Monitoring-Systems.<\/p>\n<p>1) Anwendungsebene:<\/p>\n<ul>\n<li>\u00dcberwachung der Gesch\u00e4ftslogik der Anwendung;<\/li>\n<li>\u00dcberwachung der Gesundheitsmetriken der Dienste;<\/li>\n<li>Integrations\u00fcberwachung.<\/li>\n<\/ul>\n<p>\n2) Infrastrukturebene:<\/p>\n<ul>\n<li>\u00dcberwachung der Orchestrierungsebene;<\/li>\n<li>\u00dcberwachung der Systemsoftware;<\/li>\n<li>\u00dcberwachung der Hardwareebene.<\/li>\n<\/ul>\n<p>\n3) Wieder Anwendungsebene \u2014 jedoch als ingenieurtechnisches Produkt:<\/p>\n<ul>\n<li>Sammlung und Beobachtung der Anwendungsprotokolle;<\/li>\n<li>APM;<\/li>\n<li>Tracing.<\/li>\n<\/ul>\n<p>\n4) Alerting:<\/p>\n<ul>\n<li>Organisation des Alarmsystems;<\/li>\n<li>Organisation des Bereitschaftsdienstes;<\/li>\n<li>Aufbau einer Wissensdatenbank und Workflow f\u00fcr die Bearbeitung von Vorf\u00e4llen.<\/li>\n<\/ul>\n<p>\n<b>Wichtig<\/b>: Wir kommen nicht erst zum Alerting, sondern gleich zu Beginn! Es ist nicht notwendig, die \u00dcberwachung zu starten und 'irgendwann sp\u00e4ter' zu \u00fcberlegen, wer die Alerts erh\u00e4lt. Denn was ist das Ziel des Monitorings: herauszufinden, wo in der System etwas nicht funktioniert, und die n\u00f6tigen Personen dar\u00fcber zu informieren. Wenn man das bis zuletzt aufschiebt, erfahren die entsprechenden Personen nur \u00fcber den Anruf: 'Bei uns funktioniert nichts'.<\/p>\n<h3>Anwendungsebene \u2014 \u00dcberwachung der Gesch\u00e4ftslogik<\/h3>\n<p>\nHier geht es darum, zu \u00fcberpr\u00fcfen, ob die Anwendung f\u00fcr den Benutzer funktioniert.<\/p>\n<p>Diese Stufe sollte in der Entwicklungsphase umgesetzt werden. Nehmen wir an, wir haben ein hypothetisches Prometheus: Es greift auf einen Server zu, der \u00dcberpr\u00fcfungen durchf\u00fchrt, ruft den Endpoint auf, und dieser Endpoint pr\u00fcft dann die API.<\/p>\n<p>Wenn h\u00e4ufig darum gebeten wird, die Hauptseite zu \u00fcberwachen, um sicherzustellen, dass die Website funktioniert, geben die Programmierer einen Hook, den man jedes Mal ziehen kann, wenn man \u00fcberpr\u00fcfen m\u00f6chte, ob die API funktioniert. In diesem Moment schreiben die Programmierer zudem \"\/api\/test\/helloworld\". <br \/>\nDer einzige Weg, um sicherzustellen, dass alles funktioniert? \u2013 Nein!<\/p>\n<ul>\n<li>Die Erstellung solcher \u00dcberpr\u00fcfungen ist im Grunde genommen die Aufgabe der Entwickler. Unit-Tests sollten von den Programmierern geschrieben werden, die den Code erstellen. Denn wenn Sie dies an den Admin weitergeben mit: \u201eHey, hier ist eine Liste der API-Protokolle aller 25 Funktionen, bitte \u00fcberwache alles!\u201c \u2013 wird das nicht funktionieren. <\/li>\n<li>Wenn Sie \"print 'hello world'\" machen, wird niemand jemals erfahren, dass die API tats\u00e4chlich funktioniert. Jede \u00c4nderung an der API sollte eine entsprechende \u00c4nderung der \u00dcberpr\u00fcfungen nach sich ziehen. <\/li>\n<li>Wenn Sie bereits ein solches Problem haben \u2013 halten Sie die Funktionen an und setzen Sie Entwickler ein, die diese \u00dcberpr\u00fcfungen schreiben, oder akzeptieren Sie die Verluste und damit, dass nichts \u00fcberwacht wird und alles abst\u00fcrzt.<\/li>\n<\/ul>\n<p>\nTechnische Tipps:<\/p>\n<ul>\n<li>Stellen Sie sicher, dass Sie einen externen Server f\u00fcr die \u00dcberpr\u00fcfungen einrichten \u2013 Sie m\u00fcssen sicher sein, dass Ihr Projekt f\u00fcr die Au\u00dfenwelt zug\u00e4nglich ist.<\/li>\n<li>F\u00fchren Sie eine \u00dcberpr\u00fcfung \u00fcber das gesamte API-Protokoll durch und nicht nur \u00fcber einzelne Endpunkte.<\/li>\n<li>Erstellen Sie einen Prometheus-Endpunkt mit den Ergebnissen der \u00dcberpr\u00fcfungen.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Anwendungsebene \u2013 \u00dcberwachung der Health-Metriken<\/h3>\n<p>\nJetzt konzentrieren wir uns auf die externen Health-Metriken der Dienste. <\/p>\n<p>Wir haben beschlossen, alle \u201eEndpoints\u201c der Anwendung mithilfe externer \u00dcberpr\u00fcfungen zu \u00fcberwachen, die wir aus einem externen \u00dcberwachungssystem abrufen. Dabei handelt es sich um die \u201eEndpoints\u201c, die der Benutzer sieht. Wir m\u00f6chten jedoch sicherstellen, dass die Dienste selbst funktionieren. Hier sieht die Situation besser aus: In K8s gibt es Health-Checks, damit zumindest der \u201ePod\u201c best\u00e4tigen kann, dass der Dienst funktioniert. Aber die H\u00e4lfte der Checks, die ich gesehen habe, sind genau diese Print-\u201eHello World\u201c. Das bedeutet, es wird einmal nach dem Deployment abgefragt, und wenn die Antwort gut ist, war's das. Aber ein Dienst, der \u00fcber REST seine API bereitstellt, hat eine Vielzahl von Eingangs-\/Ausgangspunkten dieser API, die ebenfalls \u00fcberwacht werden m\u00fcssen, weil wir wissen m\u00f6chten, dass sie funktioniert. Und das \u00fcberwachen wir bereits intern. <\/p>\n<p>Wie dies technisch richtig umgesetzt werden kann: Jeder Dienst stellt einen Endpoint f\u00fcr seinen aktuellen Betriebsstatus bereit, und in Grafana-Diagrammen (oder einer anderen Anwendung) sehen wir den Status aller Dienste.<\/p>\n<ul>\n<li>Jede \u00c4nderung der API sollte eine Anpassung der Pr\u00fcfungen nach sich ziehen. <\/li>\n<li>Erstellen Sie neuen Dienst sofort mit Health-Metriken.<\/li>\n<li>Ein Administrator kann zu den Entwicklern kommen und bitten: 'F\u00fcgen Sie mir ein paar Funktionen hinzu, damit ich alles verstehe und diese Informationen in mein Monitoringsystem integrieren kann'. Doch die Entwickler antworten normalerweise: 'Wir werden zwei Wochen vor dem Release nichts mehr hinzuf\u00fcgen.'<br \/>\nLassen Sie die Entwicklungsmanager wissen, dass solche Verluste auftreten werden, und auch das Management der Entwicklungsmanager sollte dar\u00fcber informiert sein. Denn wenn alles ausf\u00e4llt, wird jemand trotzdem anrufen und verlangen, den 'st\u00e4ndig ausfallenden Dienst' zu \u00fcberwachen. <\/li>\n<li>\u00dcbrigens, weisen Sie Entwickler an, Plugins f\u00fcr Grafana zu schreiben \u2013 das wird eine gro\u00dfe Unterst\u00fctzung f\u00fcr die Administratoren sein.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Anwendungsebene \u2013 Integrationsmonitoring<\/h3>\n<p>\nDas Integrationsmonitoring konzentriert sich auf die \u00dcberwachung der Kommunikation zwischen gesch\u00e4ftskritischen Systemen.<\/p>\n<p>Zum Beispiel gibt es 15 Dienste, die miteinander kommunizieren. Es handelt sich nicht mehr um separate Webseiten. Das bedeutet, dass wir nicht einfach einen Dienst isoliert aufrufen und \/helloworld \u00fcberpr\u00fcfen k\u00f6nnen, um zu sehen, ob er funktioniert. Denn der Webservice zur Auftragsbearbeitung muss Informationen \u00fcber die Bestellung an den Bus senden \u2014 dieser Bus muss das Nachrichtensignal an den Lagerdienst weiterleiten, damit dieser damit arbeiten kann. Der E-Mail-Versanddienst muss dies weiterverarbeiten, und so weiter. <\/p>\n<p>Daher k\u00f6nnen wir nicht verstehen, indem wir jeden einzelnen Dienst aufrufen, ob das gesamte System funktioniert. Denn wir haben einen zentralen Bus, \u00fcber den alle kommunizieren und interagieren.<br \/>\nDaher sollte dieser Schritt den Test der Dienste im Hinblick auf die Interaktion mit anderen Diensten umfassen. Es ist nicht m\u00f6glich, durch die \u00dcberwachung des Nachrichtensystems die Kommunikation zu \u00fcberwachen. Wenn es einen Dienst gibt, der Daten bereitstellt, und einen Dienst, der diese annimmt, werden wir beim Monitoring des Brokers nur die Daten sehen, die hin und her flie\u00dfen. Selbst wenn wir es schaffen, die Interaktion dieser Daten intern zu \u00fcberwachen \u2013 dass ein Producer Daten ver\u00f6ffentlicht und jemand sie liest, w\u00e4hrend dieser Fluss weiterhin in Kafka abl\u00e4uft \u2013 erhalten wir trotzdem keine Informationen, falls ein Dienst die Nachricht in einer Version gesendet hat und der andere Dienst diese Version nicht erwartet hat und sie daher \u00fcberspringt. Das werden wir nicht erfahren, da uns die Dienste sagen werden, dass alles funktioniert. <\/p>\n<p>Wie ich empfehle, vorzugehen:<\/p>\n<ul>\n<li>F\u00fcr die synchronisierte Kommunikation: der Endpoint f\u00fchrt Anfragen an verbundene Dienste aus. Das hei\u00dft, wir nehmen diesen Endpoint, f\u00fchren ein Skript innerhalb des Dienstes aus, das alle Punkte durchl\u00e4uft und sagt: \u201eIch kann dort anfragen, und dort anfragen, ich kann dort anfragen\u2026\u201c<\/li>\n<li>F\u00fcr asynchrone Kommunikation: Eingehende Nachrichten \u2013 der Endpunkt \u00fcberpr\u00fcft den Bus auf Testnachrichten und gibt den Verarbeitungsstatus zur\u00fcck. <\/li>\n<li>F\u00fcr asynchrone Kommunikation: Ausgehende Nachrichten \u2013 der Endpunkt sendet Testnachrichten an den Bus.<\/li>\n<\/ul>\n<p>\nWie gewohnt l\u00e4uft es ab: Wir haben einen Service, der Daten in den Bus einspeist. Wir wenden uns an diesen Service und fragen nach seinem Integrationsstatus. Wenn der Service eine Nachricht an eine andere Stelle (WebApp) weiterleiten soll, produziert er diese Testnachricht. Wenn wir den Service in der Auftragsbearbeitung ansprechen, ver\u00f6ffentlicht er zun\u00e4chst die unabh\u00e4ngigen Daten, die er hat. Falls es abh\u00e4ngige Elemente gibt, liest er eine Reihe von Testnachrichten aus dem Bus, versteht, welche er verarbeiten kann, gibt dies bekannt und ver\u00f6ffentlicht sie weiter, wenn n\u00f6tig. Er sagt dann, alles in Ordnung, ich bin verf\u00fcgbar. <\/p>\n<p>Sehr oft h\u00f6ren wir die Frage: \"Wie k\u00f6nnen wir das mit echten Daten testen?\" Nehmen wir als Beispiel den Bestellservice. Eine Bestellung sendet Nachrichten an das Lager, in dem die Produkte abgebucht werden: Wir k\u00f6nnen das nicht mit echten Daten testen, denn \"Ich habe Produkte, die abgebucht werden!\" Die L\u00f6sung: Planen Sie diesen Test von Anfang an. Sie haben Unit-Tests, die Mock-Daten verwenden. Also f\u00fchren Sie das auf einer tieferen Ebene durch, wo Sie einen Kommunikationskanal haben, der den Gesch\u00e4ftsbetrieb nicht st\u00f6rt. <\/p>\n<h3>Infrastrukturebene<\/h3>\n<p>\nInfrastrukturmonitoring gilt seit langem als das eigentliche Monitoring. <\/p>\n<ul>\n<li>Infrastrukturmonitoring sollte als separater Prozess gestartet werden.<\/li>\n<li>Beginnen Sie nicht mit der \u00dcberwachung der Infrastruktur in einem laufenden Projekt, auch wenn die Versuchung gro\u00df ist. Das ist ein h\u00e4ufiges Problem f\u00fcr alle DevOps-Profis. \"Zuerst \u00fcberwache ich den Cluster, dann die Infrastruktur\" \u2013 das hei\u00dft, man k\u00fcmmert sich zuerst um die Grundlagen und vernachl\u00e4ssigt die Anwendung. Denn die Anwendung ist f\u00fcr den DevOps-Experten oft ein schwarzes Loch. Er hat sie geliefert bekommen und versteht nicht, wie sie funktioniert. Die Infrastruktur ist dagegen klarer und darauf konzentriert man sich. Aber nein \u2013 immer zuerst die Anwendung \u00fcberwachen. <\/li>\n<li>Vermeiden Sie es, die Anzahl der Benachrichtigungen zu \u00fcbertreiben. Angesichts der Komplexit\u00e4t moderner Systeme kommen die Alarme st\u00e4ndig, und man muss lernen, mit diesem Berg an Alarme zu leben. Ein On-Call-Mitarbeiter, der sich eine Hundertschaft von Alarmen anschaut, denkt sich: \"Ich m\u00f6chte dar\u00fcber nicht nachdenken.\" Alarme sollten nur \u00fcber kritische Ereignisse informieren. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Die Anwendungsebene als Gesch\u00e4ftseinheit<\/h3>\n<p>\nWichtige Punkte:<\/p>\n<ul>\n<li>ELK. Das ist der Industriestandard. Wenn Sie aus irgendeinem Grund keine Logs aggregieren, sollten Sie das dringend tun.<\/li>\n<li>APM. Externe APMs sind eine schnelle L\u00f6sung, um die Anwendungs\u00fcberwachung zu schlie\u00dfen (NewRelic, BlackFire, Datadog). Sie k\u00f6nnen dieses Tool vor\u00fcbergehend einsetzen, um wenigstens einen Eindruck davon zu bekommen, was bei Ihnen vor sich geht. <\/li>\n<li>Tracing. In vielen Mikrodiensten m\u00fcssen Sie alles nachverfolgen, da eine Anfrage nicht mehr alleine besteht. Es ist sehr schwierig, sp\u00e4ter etwas hinzuzuf\u00fcgen, daher ist es besser, das Tracing bereits in der Entwicklung einzuplanen \u2013 das ist die Aufgabe und das Werkzeug der Entwickler. Wenn Sie es noch nicht implementiert haben, tun Sie es jetzt! Siehe Jaeger\/Zapkin.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alerting<\/h3>\n<p><\/p>\n<ul>\n<li>Organisation des Alarmierungssystems: Bei der \u00dcberwachung zahlreicher Aspekte sollte es ein einheitliches System f\u00fcr die Versendung von Alarmen geben. Dies kann in Grafana realisiert werden. Im Westen verwenden alle PagerDuty. Die Alarme sollten klar verst\u00e4ndlich sein (z. B. woher sie stammen\u2026). Es ist au\u00dferdem w\u00fcnschenswert, sicherzustellen, dass die Alarme tats\u00e4chlich ankommen. <\/li>\n<li>Organisation des Bereitschaftsdienstes: Die Alarme sollten nicht an alle gesendet werden (sonst reagieren alle zusammen oder keiner reagiert). Auch Entwickler m\u00fcssen im Bereitschaftsdienst sein: Definieren Sie unbedingt die Verantwortungsbereiche, erstellen Sie eine klare Anleitung und vermerken Sie, an wen genau man sich am Montag und Mittwoch wenden soll, und an wen am Dienstag und Freitag (ansonsten wird im Falle eines gro\u00dfen Problems niemand anrufen \u2013 sie haben Angst, andere zu wecken; Menschen m\u00f6gen es nicht, andere zu st\u00f6ren, insbesondere nachts). Erkl\u00e4ren Sie, dass die Bitte um Hilfe kein Zeichen von Inkompetenz ist (\"Ich bitte um Hilfe, also bin ich ein schlechter Mitarbeiter\"), und f\u00f6rdern Sie Hilfsanfragen.<\/li>\n<li>Organisation einer \"Wissensdatenbank\" und der Workflow zur Bearbeitung von Vorf\u00e4llen: F\u00fcr jeden schwerwiegenden Vorfall muss eine Nachbesprechung eingeplant werden, als vor\u00fcbergehende Ma\u00dfnahme m\u00fcssen die Ma\u00dfnahmen dokumentiert werden, die den Vorfall l\u00f6sen. Etablieren Sie die Praxis, dass wiederkehrende Alarme ein Fehler sind; diese sollten im Code oder in der Infrastruktur bearbeitet werden. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Technologischer Stack<\/h3>\n<p>\nLassen Sie uns annehmen, dass unser Stack folgenderma\u00dfen aussieht: <\/p>\n<ul>\n<li>Datensammlung \u2013 Prometheus + Grafana;<\/li>\n<li>Protokollanalyse \u2013 ELK;<\/li>\n<li>f\u00fcr APM oder Tracing \u2013 Jaeger (Zipkin).<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Monitoring tot? \u2014 Es lebe das Monitoring\" src=\"\/wp-content\/uploads\/2019\/04\/af26d3c0ba781cd856d220515788b5eb.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Wahl der Optionen ist nicht kritisch. Wenn Sie zu Beginn verstanden haben, wie Sie Ihr System \u00fcberwachen k\u00f6nnen und einen Plan erstellt haben, k\u00f6nnen Sie danach die Werkzeuge entsprechend Ihren Anforderungen ausw\u00e4hlen. Die Frage ist, was Sie anfangs \u00fcberwachen wollen. Denn vielleicht passt das Werkzeug, das Sie zun\u00e4chst ausgew\u00e4hlt haben, \u00fcberhaupt nicht zu Ihren Anforderungen. <\/p>\n<p>Einige technische Punkte, die ich in letzter Zeit \u00fcberall sehe:<\/p>\n<p><i>Prometheus wird in Kubernetes integriert \u2013 wer hat sich das ausgedacht?!<\/i> Was machen Sie, wenn Ihr Cluster ausf\u00e4llt? Wenn Sie einen komplexen Cluster im Inneren haben, sollte ein \u00dcberwachungssystem innerhalb des Clusters und eines au\u00dferhalb funktionieren, das Daten aus dem Inneren des Clusters sammelt. <\/p>\n<p><i>Innerhalb des Clusters sammeln wir Protokolle und alles andere.<\/i> Aber das \u00dcberwachungssystem sollte extern sein. Sehr oft gibt es in einem Cluster, in dem Prometheus installiert ist, Systeme, die externe \u00dcberpr\u00fcfungen der Webseitenfunktionalit\u00e4t durchf\u00fchren. Und was passiert, wenn Ihre Verbindungen zur Au\u00dfenwelt abgebrochen sind und die Anwendung nicht funktioniert? Es stellt sich heraus, dass innerhalb alles in Ordnung ist, aber das hilft den Nutzern nicht.<\/p>\n<h3>Fazit<\/h3>\n<p><\/p>\n<ul>\n<li>Die Entwicklung von Monitoring ist nicht nur die Installation von Tools, sondern die Schaffung eines Softwareprodukts. 98 % des heutigen Monitorings besteht aus Programmierung: Programmierung f\u00fcr Dienste, externe Pr\u00fcfungen, \u00dcberpr\u00fcfungen von externen Services und vieles mehr. <\/li>\n<li>Schonen Sie die Zeit Ihrer Entwickler beim Monitoring nicht: Es kann bis zu 30 % ihrer Arbeit in Anspruch nehmen, aber es ist es wert.<\/li>\n<li>DevOps, macht euch keine Sorgen, wenn ihr etwas nicht \u00fcberwachen k\u00f6nnt, denn einige Dinge erfordern eine v\u00f6llig andere Denkweise. Ihr seid keine Programmierer, und das Monitoring ist genau deren Aufgabe.<\/li>\n<li>Wenn das Projekt bereits l\u00e4uft und noch nicht \u00fcberwacht wird (und ihr der Manager seid) \u2013 stellt Ressourcen f\u00fcr das Monitoring bereit.<\/li>\n<li>Wenn das Produkt bereits in Produktion ist und ihr ein DevOps seid, dem gesagt wurde, er solle das Monitoring einrichten \u2013 versucht, der F\u00fchrungskraft zu erkl\u00e4ren, wor\u00fcber ich hier schreibe.<\/li>\n<\/ul>\n<p>\n<i>Dies ist die erweiterte Version eines Vortrags auf der Konferenz Saint Highload++.<\/i><\/p>\n<p>Wenn euch meine Ideen und Gedanken zu IT und verwandten Themen interessieren, k\u00f6nnt ihr hier <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/eapotapov_channel\">den Kanal lesen. <\/a><\/noindex>\ud83d\ude42<br \/>\n<br \/>Quelle: <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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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.\" \/>\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\/de\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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:description\" content=\"\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/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\udd47Monitoring tot? \u2013 Es lebe das Monitoring | ProHoster","description":"Seit 2008 konzentriert sich unser Unternehmen haupts\u00e4chlich auf das Management von Infrastrukturen und die rund um die Uhr verf\u00fcgbare technische Unterst\u00fctzung von Webprojekten: Wir betreuen \u00fcber 400 Kunden, was etwa 15 % des E-Commerce in Russland ausmacht. Dementsprechend ist unsere Support-Infrastruktur sehr vielf\u00e4ltig. Wenn ein Problem auftritt, sind wir verpflichtet, es innerhalb von 15 Minuten zu beheben. Um jedoch festzustellen, dass ein Ausfall passiert ist, ist eine fortlaufende \u00dcberwachung des Projekts notwendig, um auf Vorf\u00e4lle zu reagieren.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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:description":"\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.","og:url":"https:\/\/prohoster.info\/de\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=31864"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31864\/revisions"}],"predecessor-version":[{"id":158558,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/31864\/revisions\/158558"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/23731"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=31864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=31864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=31864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}