{"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 Infrastrukturen und der 24\/7 technischen Unterst\u00fctzung von Webprojekten: Wir haben \u00fcber 400 Kunden, was etwa 15 % des elektronischen Gesch\u00e4fts in Russland ausmacht. Entsprechend ist die Architektur der Unterst\u00fctzung sehr vielf\u00e4ltig. Wenn etwas abst\u00fcrzt, sind wir verpflichtet, es innerhalb von 15 Minuten zu reparieren. Aber um zu verstehen, dass ein Vorfall eingetreten ist, muss man das Projekt \u00fcberwachen und auf Vorf\u00e4lle reagieren. Und wie macht man das? <\/p>\n<p>Ich denke, dass im Rahmen der Organisation eines richtigen Monitoring-Systems etwas schiefgeht. W\u00e4re dies nicht der Fall, w\u00fcrde meine Rede aus einem einzigen Punkt bestehen: \u201eBitte installieren Sie Prometheus + Grafana sowie die Plugins 1, 2, 3\u201c. Leider funktioniert es jetzt so nicht. Das Hauptproblem besteht darin, dass alle weiterhin an etwas glauben, das es 2008 gab, was die Softwarekomponenten betrifft. <\/p>\n<p>Was die Organisation des Monitoring-Systems angeht, wage ich zu behaupten, dass\u2026 es keine Projekte mit richtigem Monitoring gibt. Und die Situation ist so schlecht, dass, wenn etwas ausf\u00e4llt, die Gefahr besteht, dass es unbemerkt bleibt \u2014 schlie\u00dflich sind alle \u00fcberzeugt, dass \u201ealles \u00fcberwacht wird\u201c.<br \/>\nVielleicht wird alles \u00fcberwacht. Aber wie? <\/p>\n<p>Wir alle haben \u00e4hnliche Situationen erlebt: Ein DevOps oder ein Administrator erh\u00e4lt von einem Entwicklerteam die R\u00fcckmeldung \u2014 \u201ewir haben uns ver\u00f6ffentlicht, jetzt \u00fcberwache bitte\u201c. Was soll ich \u00fcberwachen? Wie funktioniert das?<\/p>\n<p>Okay. Wir \u00fcberwachen auf die alte Art. Doch es hat sich bereits ge\u00e4ndert, und es stellt sich heraus, dass du den Dienst A \u00fcberwacht hast, der zu Dienst B geworden ist, der mit Dienst C interagiert. Aber das Entwicklerteam sagt dir: \u201eInstalliere die Software, die sollte doch alles \u00fcberwachen!\u201c<\/p>\n<p>Was hat sich also ge\u00e4ndert? \u2014 Alles hat sich ge\u00e4ndert!<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>2008. Alles ist wunderbar.<\/h4>\n<p>\nEs gibt ein paar Entwickler, einen Server, einen Datenbankserver. Von hier aus f\u00e4ngt alles an. Wir haben einige Informationen, wir installieren Zabbix, Nagios, Cacti. Und dann stellen wir verst\u00e4ndliche Alarme f\u00fcr die CPU, die Festplatte und den Speicherplatz auf den Festplatten ein. Au\u00dferdem f\u00fchren wir ein paar manuelle \u00dcberpr\u00fcfungen durch, um sicherzustellen, dass die Website reagiert und dass Bestellungen in die Datenbank eingehen. Und das war's \u2014 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 die \u00dcberwachung \u00fcbernimmt, muss verstehen, wie man Zabbix installiert, es konfiguriert und die Alarme einstellt. Und 2 % entfallen auf externe Pr\u00fcfungen: ob die Website antwortet und eine Abfrage 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 steigt.<\/h4>\n<p>\nWir beginnen, die Webservices zu skalieren, f\u00fcgen eine Suchmaschine hinzu. Wir wollen sicherstellen, dass der Produktkatalog alle Produkte enth\u00e4lt. Und dass die Produktsuche funktioniert. Dass die Datenbank funktioniert, Bestellungen gemacht werden, die Website extern antwortet und mit zwei <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 dass der Benutzer nicht von der Website geworfen wird, w\u00e4hrend er auf einen anderen Server umgeschaltet wird, usw. Die Anzahl der Entit\u00e4ten w\u00e4chst. <\/p>\n<p>Die mit der Infrastruktur verbundene Entit\u00e4t bleibt nach wie vor die gr\u00f6\u00dfte in den K\u00f6pfen der Manager. Es bleibt die Idee im Kopf, dass die Person, die die \u00dcberwachung macht, diejenige ist, die Zabbix installiert und konfigurieren kann.<\/p>\n<p>Gleichzeitig entstehen Aufgaben f\u00fcr externe Pr\u00fcfungen, f\u00fcr die Erstellung eines Sets von Skripten f\u00fcr die Abfragen des Suchindex, eines Sets von Skripten zur \u00dcberpr\u00fcfung, dass sich die Suche w\u00e4hrend der Indizierung \u00e4ndert, eines Sets von Skripten, die \u00fcberpr\u00fcfen, dass die Produkte an den Lieferservice \u00fcbermittelt werden, usw.<\/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 \u201eSet von Skripten\u201c geschrieben. Das bedeutet, dass die Person, die f\u00fcr die \u00dcberwachung verantwortlich ist, nicht mehr nur diejenige ist, die Zabbix installiert. Es ist jemand, der anf\u00e4ngt zu programmieren. Aber in den K\u00f6pfen des Teams hat sich bisher nichts ge\u00e4ndert. <\/p>\n<p>Daf\u00fcr ver\u00e4ndert sich die Welt und wird immer komplexer. Eine Schicht Virtualisierung wird hinzugef\u00fcgt, mehrere neue Systeme. Sie beginnen, miteinander zu interagieren. Wer hat gesagt, dass es nach Mikrodiensten riecht? Aber jeder Dienst sieht immer noch f\u00fcr sich allein wie eine Website aus. Wir k\u00f6nnen darauf zugreifen und verstehen, dass er die notwendigen Informationen bereitstellt und von selbst funktioniert. Und wenn du ein Administrator bist, der ein Projekt betreut, das seit 5-7-10 Jahren w\u00e4chst, sammelst du dieses Wissen: Es entsteht eine neue Ebene \u2013 du hast sie erkannt, dann entsteht eine weitere Ebene \u2013 du hast sie 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 10 Jahre lang.<\/p>\n<h3>Zusammenfassung des \u00dcberwachungsexperten<\/h3>\n<p>\nAngenommen, Sie sind in ein neues Startup gekommen, das sofort 20 Entwickler eingestellt und 15 Mikrodienste geschrieben hat, und Sie sind der Administrator, dem gesagt wird: \u201eBaue bitte CI\/CD.\u201c Sie haben CI\/CD aufgebaut und pl\u00f6tzlich h\u00f6ren Sie: \u201eEs ist schwierig f\u00fcr uns, im Produktionsbetrieb im \u201aKubik\u2018 zu arbeiten, ohne zu verstehen, wie die Anwendung darin funktioniert. Mach uns eine Sandbox in diesem \u201aKubik\u2018.\u201c<br \/>\n Sie erstellen eine Sandbox in diesem Kubik. Sofort wird Ihnen gesagt: \u201eWir m\u00f6chten eine Staging-Datenbank, die jeden Tag mit der Produktionsdatenbank aktualisiert wird, um zu verstehen, dass alles auf der Datenbank funktioniert, aber die Produktionsdatenbank nicht zu besch\u00e4digen.\u201c<\/p>\n<p>Sie leben in all dem. Es bleiben noch 2 Wochen bis zur Ver\u00f6ffentlichung, und Ihnen wird gesagt: \u201eJetzt sollten wir das alles \u00fcberwachen\u2026\u201c Das hei\u00dft, die Clusterinfrastruktur \u00fcberwachen, die Mikrodienste \u00fcberwachen, die Arbeit mit externen Diensten \u00fcberwachen\u2026 <\/p>\n<p>Und die Kollegen ziehen eine vertraute Struktur aus dem Kopf und sagen: \u201eHier ist doch alles klar! Stelle ein Programm ein, das das alles \u00fcberwacht.\u201c Ja, ja: Prometheus + Grafana + Plugins. <br \/>\nUnd sie f\u00fcgen hinzu: \u201eDu hast zwei Wochen Zeit, sorge daf\u00fcr, dass alles zuverl\u00e4ssig ist.\u201c<\/p>\n<p>In vielen Projekten, die wir sehen, wird f\u00fcr die \u00dcberwachung eine Person abgestellt. Stellen Sie sich vor, wir m\u00f6chten f\u00fcr 2 Wochen jemanden einstellen, der sich mit der \u00dcberwachung besch\u00e4ftigt, und wir erstellen seinem Lebenslauf. \u00dcber welche F\u00e4higkeiten sollte diese Person verf\u00fcgen, wenn man alles vorher Gesagte ber\u00fccksichtigt?<\/p>\n<ul>\n<li>Er oder sie sollte die \u00dcberwachung und die Besonderheiten der Hardwareinfrastruktur verstehen.<\/li>\n<li>Er oder sie sollte die Besonderheiten der \u00dcberwachung von Kubernetes verstehen (alle wollen in den \u201aKubik\u2018, weil man sich von allem abstrahieren kann, sich verstecken kann, denn um den Rest k\u00fcmmert sich der Administrator) \u2013 sowohl die Plattform selbst als auch die Infrastruktur und verstehen, wie Anwendungen darin \u00fcberwacht werden.<\/li>\n<li>Er oder sie muss verstehen, dass die Dienste auf besondere Weise miteinander kommunizieren und die Besonderheiten der Interaktion zwischen den Diensten wissen. Es ist durchaus m\u00f6glich, ein Projekt zu sehen, in dem einige Dienste synchron kommunizieren, weil es nicht anders geht. Zum Beispiel \u00fcber REST, \u00fcber gRPC mit dem Katalogdienst, um eine Liste von Produkten zu erhalten und diese zur\u00fcckzugeben. Hier kann man nicht warten. Mit anderen Diensten funktioniert er oder sie asynchron. Eine Bestellung an den Lieferservice \u00fcbermitteln, einen Brief senden usw.<br \/>\nHaben Sie sich wahrscheinlich schon von all dem \u00fcberw\u00e4ltigt gef\u00fchlt? Der Administrator, der das \u00fcberwachen muss, f\u00fchlt sich noch mehr overwhelmed. <\/li>\n<li>Er muss planen k\u00f6nnen und dies richtig tun \u2013 da die Arbeiten immer mehr werden. <\/li>\n<li>Daher muss er eine Strategie aus dem erstellten Service entwickeln, um zu verstehen, wie man dies konkret \u00fcberwacht. Er ben\u00f6tigt ein Verst\u00e4ndnis der Projektarchitektur und deren Entwicklung sowie der Technologien, die in der Entwicklung verwendet werden. <\/li>\n<\/ul>\n<p>\nErinnern wir uns an einen ganz normalen Fall: Ein Teil der Services l\u00e4uft auf PHP, ein Teil auf Go, ein Teil auf JS. Sie arbeiten irgendwie zusammen. Daher kam der Begriff 'Mikroservice': Es gibt so viele separate Systeme, dass die Entwickler das Projekt als Ganzes nicht verstehen k\u00f6nnen. Ein Teil des Teams schreibt Services in JS, die f\u00fcr sich allein arbeiten und nicht wissen, wie der Rest des Systems funktioniert. Ein anderer Teil schreibt Services in Python und k\u00fcmmert sich nicht darum, wie andere Services arbeiten, sie sind in ihrem Bereich isoliert. Der dritte Teil schreibt Services in PHP oder etwas anderem. <br \/>\nAll diese 20 Personen sind auf 15 Services 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>Es muss jedoch irgendwie \u00fcberwacht werden...<\/p>\n<p>Was bleibt zu sagen? Am Ende gibt es eine Person, in deren Kopf alles Platz hat, was ein ganzes Team von Entwicklern nicht verstehen kann, und gleichzeitig muss sie auch das Wissen und die F\u00e4higkeiten haben, die wir oben angegeben haben \u2013 die Hardware-Infrastruktur, die Kubernetes-Infrastruktur usw.<\/p>\n<p>Was soll man dazu sagen\u2026 Houston, wir haben ein Problem.<\/p>\n<h3>Das Monitoring eines modernen Softwareprojekts ist an sich ein Softwareprojekt.<\/h3>\n<p>\nAus der falschen \u00dcberzeugung, dass Monitoring Software ist, entsteht der Glaube an Wunder. Doch Wunder gibt es leider nicht. Man kann Zabbix nicht einfach installieren und erwarten, dass alles funktioniert. Es macht keinen Sinn, Grafana zu installieren und zu hoffen, dass alles gut wird. Der gr\u00f6\u00dfte Teil der Zeit wird f\u00fcr die Organisation von \u00dcberpr\u00fcfungen der Funktionsweise der Services und deren Interaktion miteinander sowie f\u00fcr die \u00dcberpr\u00fcfungen, wie externe Systeme funktionieren, aufgewendet. Tats\u00e4chlich werden 90 % der Zeit nicht f\u00fcr das Schreiben von Skripten, sondern f\u00fcr die Entwicklung von Software aufgewendet. Und das sollte ein Team tun, das das Projekt versteht. <br \/>\nWenn in dieser Situation eine Person f\u00fcr das Monitoring eingesetzt wird, wird es zu Problemen kommen. Und das passiert \u00fcberall.<\/p>\n<p>Zum Beispiel gibt es mehrere Dienste, die \u00fcber Kafka miteinander kommunizieren. Eine Bestellung kommt herein, wir haben die Bestellnachricht an Kafka gesendet. Es gibt einen Dienst, der Informationen \u00fcber die Bestellung h\u00f6rt und die Warenlieferung durchf\u00fchrt. Es gibt einen Dienst, der Informationen \u00fcber die Bestellung h\u00f6rt und eine E-Mail an den Benutzer sendet. Und dann tauchen noch viele weitere Dienste auf, und wir beginnen, uns zu verwirren.<\/p>\n<p>Und wenn Sie dies auch noch an den Administrator und die Entwickler in der Phase abgeben, in der bis zur Ver\u00f6ffentlichung nur wenig Zeit bleibt, muss die Person das gesamte Protokoll verstehen. Das hei\u00dft, ein Projekt dieser Gr\u00f6\u00dfenordnung ben\u00f6tigt erhebliche Zeit, und das muss in die Systementwicklung eingeplant werden. <br \/>\nAber sehr oft, besonders in der Gr\u00fcndung, sehen wir, wie das Monitoring aufgeschoben wird. \"Jetzt machen wir einen Proof of Concept, starten damit, lassen ihn abst\u00fcrzen \u2013 wir sind bereit, Opfer zu bringen. Und dann werden wir alles \u00fcberwachen.\" Wenn (oder falls) das Projekt beginnt, Geld zu bringen, m\u00f6chte das Gesch\u00e4ft noch mehr Funktionen entwickeln \u2013 denn es f\u00e4ngt an zu funktionieren, also muss man weiter anpassen! Aber Sie befinden sich an dem Punkt, an dem man zuerst alles fr\u00fchere \u00fcberwachen muss, was nicht 1% der Zeit in Anspruch nimmt, sondern deutlich mehr. Und \u00fcbrigens werden f\u00fcr das Monitoring Entwickler ben\u00f6tigt, und es ist einfacher, diese f\u00fcr neue Funktionen zu nutzen. Am Ende werden neue Funktionen geschrieben, alles wird angepasst, und Sie stecken in einem endlosen Deadlock.<\/p>\n<p>Wie also k\u00f6nnen Sie ein Projekt von Anfang an \u00fcberwachen, und was tun, wenn Sie ein Projekt erhalten haben, das \u00fcberwacht werden muss, und Sie nicht wissen, wo Sie anfangen sollen?<\/p>\n<p>Zun\u00e4chst einmal m\u00fcssen Sie planen. <\/p>\n<p><i>Ein lyrischer Einschub: H\u00e4ufig beginnt man mit der \u00dcberwachung der Infrastruktur. Zum Beispiel haben wir Kubernetes. Lassen Sie uns damit beginnen, dass wir Prometheus mit Grafana installieren und Plugins f\u00fcr die \u00dcberwachung des \"Kubik\" setzen. Nicht nur bei den Entwicklern, sondern auch bei den Administratoren gibt es die bedauerliche Praxis: \"Wir installieren dieses Plugin, und das Plugin wei\u00df wahrscheinlich, wie man das macht.\" Die Leute beginnen gerne mit einfachen und verst\u00e4ndlichen Dingen statt mit wichtigen Ma\u00dfnahmen. Und die \u00dcberwachung der Infrastruktur ist einfach.<\/i><\/p>\n<p>Zuerst m\u00fcssen Sie entscheiden, was und wie Sie \u00fcberwachen m\u00f6chten, und dann das passende Werkzeug ausw\u00e4hlen, denn andere Leute k\u00f6nnen nicht f\u00fcr Sie nachdenken. Und sollten sie das? Andere Leute dachten \u00fcber sich selbst, \u00fcber das universelle System \u2014 oder dachten gar nicht nach, als dieses Plugin geschrieben wurde. Und die Tatsache, dass dieses Plugin 5000 Benutzer hat, bedeutet nicht, dass es irgendeinen Nutzen bringt. M\u00f6glicherweise werden Sie der 5001. sein, nur weil dort zuvor schon 5000 Leute waren. <\/p>\n<p>Wenn Sie mit der \u00dcberwachung der Infrastruktur begonnen haben und der Backend Ihres Anwendungsprogramms nicht mehr reagiert, verlieren alle Benutzer die Verbindung zur mobilen Anwendung. Es wird ein Fehler auftreten. Sie werden zu Ihnen kommen und sagen: \u201eDie Anwendung funktioniert nicht, was machen Sie hier?\u201c \u2014 \u201eWir \u00fcberwachen.\u201c \u2014 \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 unbedingt am Einstiegspunkt des Benutzers beginnen sollte. Wenn der Benutzer nicht sieht, dass die Anwendung funktioniert \u2014 das ist ein Fehlschlag. Und das \u00dcberwachungssystem sollte in erster Linie dar\u00fcber informieren. <\/li>\n<li>Und erst danach k\u00f6nnen wir die Infrastruktur \u00fcberwachen. Oder wir k\u00f6nnen das parallel machen. Mit der Infrastruktur ist es einfacher \u2014 hier k\u00f6nnen wir endlich einfach Zabbix installieren. <\/li>\n<li>Und jetzt m\u00fcssen wir in die Wurzeln der Anwendung gehen, um zu verstehen, wo es nicht funktioniert.<\/li>\n<\/ol>\n<p>\nMein Hauptgedanke ist, dass die \u00dcberwachung parallel zum Entwicklungsprozess erfolgen sollte. Wenn Sie das \u00dcberwachungsteam auf andere Aufgaben (Erstellung von CI\/CD, Sandbox, Umstrukturierung der Infrastruktur) ablenken, wird die \u00dcberwachung ins Hintertreffen geraten und Sie werden wahrscheinlich niemals die Entwicklung einholen (oder irgendwann werden Sie sie stoppen m\u00fcssen).<\/p>\n<h3>Alles nach Ebenen<\/h3>\n<p>\nSo sehe ich die Organisation des \u00dcberwachungssystems.<\/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 aber bereits als Ingenieurdokument:<\/p>\n<ul>\n<li>Sammlung und Beobachtung der Protokolle der Anwendung;<\/li>\n<li>APM;<\/li>\n<li>Tracing.<\/li>\n<\/ul>\n<p>\n4) Alarmierung:<\/p>\n<ul>\n<li>Organisation des Benachrichtigungssystems;<\/li>\n<li>Organisation des Bereitschaftssystems;<\/li>\n<li>Organisation einer \u201eWissensbasis\u201c und Workflow zur Bearbeitung von Vorf\u00e4llen.<\/li>\n<\/ul>\n<p>\n<b>Wichtig<\/b>: Wir gehen direkt zum Alerting \u00fcber, nicht sp\u00e4ter, sondern sofort! Es ist nicht n\u00f6tig, das Monitoring zu starten und sich dann \u00bbirgendwie sp\u00e4ter\u00ab zu \u00fcberlegen, wer die Alarme erhalten soll. Schlie\u00dflich besteht die Aufgabe des Monitorings darin, zu verstehen, wo im System etwas nicht funktioniert, und die entsprechenden Personen dar\u00fcber zu informieren. Wenn man das bis zum Ende aufschiebt, erfahren die ben\u00f6tigten Personen nur durch einen Anruf \u00bbbei uns funktioniert nichts\u00ab davon, dass etwas schiefgeht.<\/p>\n<h3>Anwendungsebene \u2013 Monitoring der Gesch\u00e4ftslogik<\/h3>\n<p>\nHier geht es um die \u00dcberpr\u00fcfung, ob die Anwendung f\u00fcr den Benutzer tats\u00e4chlich funktioniert.<\/p>\n<p>Diese Ebene sollte in der Entwicklungsphase erstellt werden. Zum Beispiel haben wir einen hypothetischen Prometheus: Er greift auf einen Server zu, der die \u00dcberpr\u00fcfungen durchf\u00fchrt, zieht einen Endpoint und dieser Endpoint pr\u00fcft die API.<\/p>\n<p>Wenn h\u00e4ufig gebeten wird, die Startseite zu monitoren, um sicherzustellen, dass die Website funktioniert, geben die Programmierer einen Handgriff, den man jedes Mal ziehen kann, wenn man \u00fcberpr\u00fcfen m\u00f6chte, ob die API funktioniert. Und in diesem Moment schreiben die Programmierer auch \/api\/test\/helloworld. <br \/>\nDer einzige Weg zu \u00fcberpr\u00fcfen, ob alles funktioniert? \u2013 Nein!<\/p>\n<ul>\n<li>Die Erstellung solcher \u00dcberpr\u00fcfungen ist im Wesentlichen die Aufgabe der Entwickler. Unit-Tests sollten von den Programmierern geschrieben werden, die den Code schreiben. Denn wenn Sie das einem Administrator \u00fcberlassen: \u00bbHey, hier ist die Liste der API-Protokolle aller 25 Funktionen, bitte monitoren Sie alles!\u00ab \u2013 wird das nichts werden. <\/li>\n<li>Wenn Sie \u00bbhello world\u00ab drucken, wird niemand jemals erfahren, dass die API funktionieren sollte und tats\u00e4chlich funktioniert. Jede \u00c4nderung der API sollte eine \u00c4nderung der \u00dcberpr\u00fcfungen nach sich ziehen. <\/li>\n<li>Wenn Sie bereits ein Problem haben \u2013 stoppen Sie die Funktionen und weisen Sie Entwickler zu, die diese \u00dcberpr\u00fcfungen schreiben, oder akzeptieren Sie die Verluste, akzeptieren Sie, dass nichts \u00fcberpr\u00fcft wird und es zu Ausf\u00e4llen kommen wird.<\/li>\n<\/ul>\n<p>\nTechnische Tipps:<\/p>\n<ul>\n<li>Organisieren Sie unbedingt einen externen Server f\u00fcr die Durchf\u00fchrung von \u00dcberpr\u00fcfungen \u2013 Sie m\u00fcssen sicherstellen, dass Ihr Projekt f\u00fcr die Au\u00dfenwelt zug\u00e4nglich ist.<\/li>\n<li>Organisieren Sie die \u00dcberpr\u00fcfung \u00fcber das gesamte API-Protokoll und nicht nur \u00fcber einzelne Endpoints.<\/li>\n<li>Erstellen Sie einen Prometheus-Endpoint mit den Ergebnissen der \u00dcberpr\u00fcfungen.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Anwendungsebene \u2013 Monitoring der Gesundheitsmetriken<\/h3>\n<p>\nJetzt geht es um externe Gesundheitsmetriken der Dienste. <\/p>\n<p>Wir haben beschlossen, dass wir alle \"Handles\" der Anwendung \u00fcber externe Pr\u00fcfungen \u00fcberwachen, die wir aus einem externen \u00dcberwachungssystem aufrufen. Aber es sind genau diese \"Handles\", die der Benutzer \"sieht\". Wir m\u00f6chten jedoch sicher sein, dass die Dienste selbst funktionieren. Hier sieht es besser aus: In K8s gibt es Health-Checks, damit sich zumindest der \"Pod\" vergewissert, dass der Dienst funktioniert. Aber die H\u00e4lfte der Checks, die ich gesehen habe, sind einfach nur der gleiche Print \"hello world\". D.h. er wird einmal nach dem Deployment aufgerufen, ihm wurde geantwortet, dass alles in Ordnung ist \u2013 und das war's. Ein Dienst hat, wenn er \u00fcber REST seinen API ausgibt, eine riesige Anzahl an Einstiegspunkten des API, die ebenfalls \u00fcberwacht werden m\u00fcssen, denn wir m\u00f6chten wissen, ob er funktioniert. Und wir \u00fcberwachen ihn bereits intern. <\/p>\n<p>Wie kann man das technisch richtig umsetzen: Jeder Dienst ver\u00f6ffentlicht einen Endpoint \u00fcber seine aktuelle Betriebsbereitschaft, und in den Grafiken von Grafana (oder einer anderen Anwendung) sehen wir den Status aller Dienste.<\/p>\n<ul>\n<li>Jede \u00c4nderung der API muss eine \u00c4nderung der Checks nach sich ziehen. <\/li>\n<li>Erstellen Sie neue Dienste sofort mit Health-Metriken.<\/li>\n<li>Der Administrator kann zu den Entwicklern kommen und sie bitten: \"F\u00fcgen Sie mir ein paar Funktionen hinzu, damit ich alles verstehe und diese Informationen in mein \u00dcberwachungssystem integrieren kann.\" Aber die Entwickler antworten normalerweise: \"Zwei Wochen vor dem Release werden wir nichts mehr hinzuf\u00fcgen.\"<br \/>\nLassen Sie die Entwicklungsmanager wissen, dass solche Verluste auftreten werden, und lassen Sie das Management der Entwicklungsmanager ebenfalls informiert sein. Denn wenn alles ausf\u00e4llt, wird trotzdem jemand anrufen und verlangen, den \"st\u00e4ndig abst\u00fcrzenden Dienst\" (c) zu \u00fcberwachen. <\/li>\n<li>\u00dcbrigens, stellen Sie Entwickler f\u00fcr die Erstellung von Plugins f\u00fcr Grafana ein \u2013 das wird eine gro\u00dfe Hilfe f\u00fcr die Administratoren sein.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Anwendungsebene \u2013 Integrations\u00fcberwachung<\/h3>\n<p>\nDie Integrations\u00fcberwachung konzentriert sich auf die \u00dcberwachung der Kommunikation zwischen gesch\u00e4ftskritischen Systemen.<\/p>\n<p>Zum Beispiel gibt es 15 Dienste, die miteinander kommunizieren. Das sind keine separaten Websites mehr. D.h. wir k\u00f6nnen den Dienst nicht isoliert aufrufen, um \/helloworld zu erhalten und zu verstehen, dass der Dienst funktioniert. Denn der Webdienst zur Auftragsbearbeitung muss Informationen \u00fcber den Auftrag an den Bus senden \u2013 der Bus muss diese Nachricht empfangen und weiterverarbeiten, und die E-Mail-Versanddienst muss dies ebenfalls weiterverarbeiten, usw. <\/p>\n<p>Daher k\u00f6nnen wir nicht verstehen, indem wir uns in jeden einzelnen Dienst tasten, dass alles funktioniert. Denn wir haben eine Art Bus, \u00fcber den alles kommuniziert und interagiert.<br \/>\nDaher sollte dieser Schritt die Phase der Dienstetestung im Zusammenhang mit anderen Diensten kennzeichnen. Man kann, nachdem man einen Nachrichtenbroker \u00fcberwacht hat, kein Monitoring der Kommunikation organisieren. Wenn es einen Dienst gibt, der Daten bereitstellt, und einen Dienst, der sie empf\u00e4ngt, sehen wir beim Monitoring des Brokers nur die Daten, die hin und her fliegen. Selbst wenn wir es irgendwie schaffen, die Interaktion dieser Daten intern zu \u00fcberwachen \u2013 dass ein Producer Daten ver\u00f6ffentlicht, die jemand liest, und dieser Strom weiter in Kafka flie\u00dft \u2013 wird uns das nicht helfen, wenn ein Dienst die Nachricht in einer Version gesendet hat, der andere Dienst jedoch diese Version nicht erwartet hat und sie \u00fcbersprungen hat. Davon erfahren wir nichts, da die Dienste uns sagen, dass alles funktioniert. <\/p>\n<p>Wie ich empfehle:<\/p>\n<ul>\n<li>F\u00fcr synchrone Kommunikation: Der Endpoint f\u00fchrt Anfragen an die verkn\u00fcpften Dienste aus. Das hei\u00dft, wir nehmen diesen Endpoint, rufen ein Skript innerhalb des Dienstes auf, 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 Endpoint \u00fcberpr\u00fcft den Bus auf Testnachrichten und gibt den Verarbeitungsstatus aus. <\/li>\n<li>F\u00fcr asynchrone Kommunikation: Ausgehende Nachrichten \u2013 der Endpoint sendet Testnachrichten an den Bus.<\/li>\n<\/ul>\n<p>\nWie das normalerweise funktioniert: Wir haben einen Dienst, der Daten in den Bus einspeist. Wir gehen zu diesem Dienst und bitten ihn, uns von seinem Integrationszustand zu berichten. Wenn der Dienst eine Nachricht irgendwo weiterproduzieren soll (WebApp), dann produziert er diese Testnachricht. Wenn wir den Dienst auf der Seite OrderProcessing ansto\u00dfen, ver\u00f6ffentlicht er zuerst, was er unabh\u00e4ngig ver\u00f6ffentlichen kann, und wenn es abh\u00e4ngige Elemente gibt, liest er eine Reihe von Testnachrichten aus dem Bus, erkennt, dass er diese verarbeiten kann, meldet das und, falls n\u00f6tig, ver\u00f6ffentlicht er sie weiter, und dar\u00fcber informiert er uns \u2013 alles in Ordnung, ich bin am Leben. <\/p>\n<p>Sehr oft h\u00f6ren wir die Frage: \u201eWie k\u00f6nnen wir das mit echten Daten testen?\u201c Zum Beispiel geht es um denselben Bestellservice. Eine Bestellung sendet Nachrichten an das Lager, wo Produkte abgebucht werden: Wir k\u00f6nnen das nicht mit echten Daten testen, denn \u201eich werde Produkte abbuchen!\u201c Die L\u00f6sung: Planen Sie diesen Test von Anfang an. Sie haben Unit-Tests, die Mocks erstellen. Machen Sie dies auf einer tieferen Ebene, wo Sie einen Kommunikationskanal haben, der den Gesch\u00e4ftsbetrieb nicht st\u00f6rt. <\/p>\n<h3>Infrastrukturebene<\/h3>\n<p>\nMonitoring der Infrastruktur \u2013 das, was seit langem als das Monitoring an sich betrachtet wird. <\/p>\n<ul>\n<li>Monitoring der Infrastruktur kann und sollte als ein separater Prozess gestartet werden.<\/li>\n<li>Man sollte nicht mit dem Monitoring der Infrastruktur in einem laufenden Projekt beginnen, auch wenn man es unbedingt m\u00f6chte. Das ist ein Schmerzpunkt f\u00fcr alle DevOps. \u201eZuerst mache ich das Cluster- und Infrastruktur-Monitoring\u201c \u2013 das hei\u00dft, zuerst wird das, was unten liegt, \u00fcberwacht, und die Anwendung wird ignoriert. Denn die Anwendung ist ein unverst\u00e4ndliches Ding f\u00fcr den DevOps. Ihm wurde das \u00fcbergeben, und er versteht nicht, wie es funktioniert. Aber die Infrastruktur versteht er und beginnt damit. Doch nein \u2013 man muss immer zuerst die Anwendung \u00fcberwachen. <\/li>\n<li>\u00dcbertreiben Sie es nicht mit der Anzahl der Benachrichtigungen. Angesichts der Komplexit\u00e4t moderner Systeme kommen st\u00e4ndig Warnmeldungen, und man muss mit diesem Berg von Warnungen irgendwie umgehen. Und die Person im Bereitschaftsdienst wird, wenn sie auf einhundert neue Warnungen schaut, entscheiden: \u201eIch will nicht dar\u00fcber nachdenken.\u201c Warnungen sollten nur \u00fcber kritische Dinge informieren. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Anwendungsebene als Gesch\u00e4ftseinheit<\/h3>\n<p>\nSchl\u00fcsselpunkte:<\/p>\n<ul>\n<li>ELK. Dies ist der Industriestandard. Wenn Sie aus irgendeinem Grund keine Protokolle aggregieren, beginnen Sie dringend damit.<\/li>\n<li>APM. Externe APMs als M\u00f6glichkeit, das Monitoring der Anwendung schnell zu schlie\u00dfen (NewRelic, BlackFire, Datadog). Sie k\u00f6nnen vor\u00fcbergehend dieses Tool einsetzen, um irgendwie zu verstehen, was bei Ihnen passiert. <\/li>\n<li>Tracing. In Dutzenden von Mikrodiensten m\u00fcssen Sie alles nachverfolgen, denn die Anfrage lebt nicht mehr f\u00fcr sich allein. Sp\u00e4ter nachzutragen ist sehr schwierig, daher ist es besser, Tracing von Anfang an in die Entwicklung einzuplanen \u2013 das ist die Aufgabe und das Werkzeug der Entwickler. Falls es noch nicht implementiert wurde \u2013 implementieren Sie es! Siehe Jaeger\/Zipkin<\/li>\n<\/ul>\n<p><\/p>\n<h3>Alerting<\/h3>\n<p><\/p>\n<ul>\n<li>Organisation des Alarmierungssystems: In einer Situation, in der eine Vielzahl von Dingen \u00fcberwacht wird, muss es ein einheitliches System zur Versendung von Alarmen geben. Das kann in Grafana erfolgen. Im Westen verwenden alle PagerDuty. Die Benachrichtigungen sollten verst\u00e4ndlich sein (zum Beispiel, woher sie stammen\u2026). Und es w\u00e4re w\u00fcnschenswert, zu kontrollieren, dass die Benachrichtigungen \u00fcberhaupt ankommen. <\/li>\n<li>Organisation des Bereitschaftsdienstes: Alarme sollten nicht an alle gesendet werden (ansonsten reagieren alle in Scharen oder niemand reagiert). Oncall sollte auch f\u00fcr Entwickler bestehen: Definieren Sie unbedingt die Verantwortungsbereiche, erstellen Sie eine klare Anleitung und schreiben Sie dort auf, wen man konkret am Montag und Mittwoch anruft und wen am Dienstag und Freitag (ansonsten wird niemand sogar im Falle eines gro\u00dfen Notfalls anrufen \u2014 sie haben Angst, jemanden zu wecken oder zu st\u00f6ren: Menschen wehren sich generell gegen Anrufe, besonders nachts). Erkl\u00e4ren Sie, dass die Bitte um Hilfe kein Zeichen von Unkompetenz ist (\"Ich bitte um Hilfe \u2014 das bedeutet, ich bin ein schlechter Mitarbeiter\"), und ermutigen Sie, um Hilfe zu bitten.<\/li>\n<li>Organisation der Wissensdatenbank und des Workflows zur Bearbeitung von Vorf\u00e4llen: F\u00fcr jeden ernsthaften Vorfall sollte ein Postmortem eingeplant werden, und als tempor\u00e4re Ma\u00dfnahme sollten die Ma\u00dfnahmen festgehalten werden, die den Vorfall l\u00f6sen. Und etablieren Sie die Praxis, dass wiederholte Alarme ein Fehler sind; sie m\u00fcssen im Code oder in der Infrastruktur behoben werden. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Technologischer Stack<\/h3>\n<p>\nNehmen wir an, dass unser Stack folgenderma\u00dfen aussieht: <\/p>\n<ul>\n<li>Datensammlung \u2014 Prometheus + Grafana;<\/li>\n<li>Protokollanalyse \u2014 ELK;<\/li>\n<li>f\u00fcr APM oder Tracing \u2014 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 Auswahl der Optionen ist nicht kritisch. Denn wenn Sie zu Beginn verstanden haben, wie Sie das System \u00fcberwachen und einen Plan ausgearbeitet haben, w\u00e4hlen Sie sp\u00e4ter die Werkzeuge entsprechend Ihren Anforderungen. Die Frage ist, was Sie zu Beginn \u00fcberwacht haben. Denn m\u00f6glicherweise ist das Werkzeug, das Sie zu Beginn gew\u00e4hlt haben, \u00fcberhaupt nicht geeignet f\u00fcr Ihre Anforderungen. <\/p>\n<p>Einige technische Punkte, die ich in letzter Zeit \u00fcberall sehe:<\/p>\n<p><i>Prometheus wird in Kubernetes integriert \u2014 wer hat sich das ausgedacht?!<\/i> Wenn Ihr Cluster ausf\u00e4llt, was werden Sie tun? Wenn Sie einen komplexen Cluster haben, sollte es ein Monitoring-System innerhalb des Clusters geben, und eines au\u00dferhalb, das Daten aus dem Inneren des Clusters sammelt. <\/p>\n<p><i>Innerhalb des Clusters sammeln wir Logs und alles andere.<\/i> Aber das \u00dcberwachungssystem sollte sich au\u00dferhalb befinden. Sehr oft in einem Cluster, in dem Prometheus installiert ist, befinden sich dort auch Systeme, die externe \u00dcberpr\u00fcfungen der Website durchf\u00fchren. Und was passiert, wenn Ihre Verbindungen zur Au\u00dfenwelt ausfallen und die Anwendung nicht funktioniert? Es ist alles gut bei Ihnen innen, aber den Benutzern bringt das nichts.<\/p>\n<h3>Das DBMS Tarantool ist ein attraktives, zukunftstr\u00e4chtiges Produkt zur Erstellung von hochbelasteten Anwendungen.<\/h3>\n<p><\/p>\n<ul>\n<li>Die Entwicklung von Monitoring ist nicht die Installation von Tools, sondern die Entwicklung eines Softwareprodukts. 98 % des heutigen Monitorings bestehen aus Programmierung. Programmierung in Diensten, Programmierung von externen \u00dcberpr\u00fcfungen, \u00dcberpr\u00fcfungen externer Dienste und so weiter. <\/li>\n<li>Verschwenden Sie keine Zeit der Entwickler f\u00fcr das Monitoring: Es kann bis zu 30 % ihrer Arbeit in Anspruch nehmen, aber es lohnt sich.<\/li>\n<li>DevOps, macht euch keine Sorgen, wenn es euch nicht gelingt, etwas zu \u00fcberwachen, denn einige Dinge haben eine ganz andere Denkweise. Ihr wart keine Programmierer, und das Monitoring ist genau deren Aufgabe.<\/li>\n<li>Wenn das Projekt bereits l\u00e4uft und nicht \u00fcberwacht wird (und Sie Manager sind) \u2013 stellen Sie Ressourcen f\u00fcr das Monitoring bereit.<\/li>\n<li>Wenn das Produkt bereits in der Produktion ist und Sie DevOps sind, dem gesagt wurde, \"richte das Monitoring ein\" \u2013 versuchen Sie, der Gesch\u00e4ftsf\u00fchrung zu erkl\u00e4ren, wor\u00fcber ich hier geschrieben habe.<\/li>\n<\/ul>\n<p>\n<i>Das ist die erweiterte Version eines Vortrags auf der Konferenz Saint Highload++.<\/i><\/p>\n<p>Wenn Sie an meinen Ideen und \u00dcberlegungen zu IT und verwandten Themen interessiert sind, k\u00f6nnen Sie 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 5.0.1.1 - 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\/de\/blog\/administrirovanie\/monitoring-myortv-da-zdravstvuet-monitoring\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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: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\udd47Totale \u00dcberwachung? \u2013 Es lebe die \u00dcberwachung | ProHoster","description":"","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: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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}