David O’Brien hat kürzlich sein eigenes Unternehmen Xirus (https://xirus.com.au) gegründet, das sich auf Microsoft Azure Stack-Cloudprodukte konzentriert. Diese sind für die konsistente Erstellung und den Betrieb hybrider Anwendungen in Rechenzentren, an Edge-Standorten, in entfernten Büros und in der Cloud gedacht.
David schult Einzelpersonen und Unternehmen in allen Aspekten von Microsoft Azure und Azure DevOps (ehemals VSTS) und ist weiterhin in der praktischen Beratung und Infra-Coding tätig. Seit 5 Jahren ist er Microsoft MVP (Most Valuable Professional) und erhielt kürzlich den MVP Azure Award. Als Mitorganisator des Melbourne Microsoft Cloud und Datacentre Meetups spricht O’Brien regelmäßig auf internationalen Konferenzen und verbindet seine Leidenschaft für das Reisen mit seinem Interesse, IT-Geschichten mit der Community zu teilen. Davids Blog ist unter , er veröffentlicht auch seine Online-Trainings auf Pluralsight.
In dem Vortrag wird die Bedeutung von Metriken erläutert, um zu verstehen, was in Ihrer Umgebung geschieht und wie Ihre Anwendung funktioniert. Microsoft Azure bietet eine leistungsstarke und einfache Möglichkeit, Metriken für alle Arten von Arbeitslasten anzuzeigen, und im Vortrag wird erläutert, wie Sie diese nutzen können.
Um 3 Uhr morgens, an einem Sonntag, werden Sie beim Schlafen plötzlich durch eine SMS geweckt: „Die kritische Anwendung antwortet erneut nicht“. Was ist los? Wo und was verursacht die „Ruckler“? Aus diesem Vortrag erfahren Sie mehr über die Dienste, die Microsoft Azure seinen Kunden für das Protokollieren und insbesondere für die Metriken Ihrer Cloud-Arbeitslasten anbietet. David erklärt, welche Metriken für Sie bei der Arbeit auf der Cloud-Plattform von Interesse sein sollten und wie Sie Zugang zu diesen erhalten. Sie lernen Werkzeuge mit offenem Quellcode kennen und erfahren, wie Sie Überwachungsdashboards erstellen, wodurch Sie ausreichend Wissen erwerben, um Ihre eigenen Dashboards zu erstellen.
Und wenn Sie um 3 Uhr morgens erneut durch eine Nachricht über den Ausfall einer kritischen Anwendung geweckt werden, können Sie schnell herausfinden, woran es liegt.
Guten Tag, heute sprechen wir über Metriken. Mein Name ist David O’Brien, ich bin Mitbegründer und Eigentümer eines kleinen australischen Beratungsunternehmens namens Xirus. Ich danke Ihnen nochmals, dass Sie sich die Zeit genommen haben, hierher zu kommen. Also, warum sind wir hier? Um über Metriken zu sprechen, besser gesagt, ich werde Ihnen darüber erzählen, und bevor wir mit praktischen Dingen beginnen, fangen wir mit der Theorie an.

Ich werde erklären, was Metriken sind, was man damit machen kann, auf was man achten sollte, wie man Metriken in Azure sammelt und integriert und was die Visualisierung von Metriken bedeutet. Ich zeige Ihnen, wie diese Dinge in der Microsoft-Cloud aussehen und wie man mit dieser Cloud arbeitet.
Bevor ich beginne, bitte ich diejenigen, die Microsoft Azure verwenden, ihre Hände zu heben. Und wer arbeitet mit AWS? Ich sehe, nur wenige. Und mit Google? ALI Cloud? Eine Person! Ausgezeichnet. Was sind also Metriken? Die offizielle Definition des National Institute of Standards and Technology der USA lautet: „Eine Metrik ist ein Maßstab, der die Bedingungen und Regeln für die Messung einer Eigenschaft beschreibt und dazu dient, die Ergebnisse der Messung zu verstehen.“ Was bedeutet das?
Betrachten wir als Beispiel eine Metrik zur Änderung des freien Speicherplatzes einer virtuellen Maschine. Angenommen, uns wird die Zahl 90 angezeigt, und diese Zahl bedeutet Prozent, das heißt, der freie Speicherplatz auf der Festplatte beträgt 90 %. Ich möchte anmerken, dass es nicht besonders interessant ist, eine Beschreibung der Metrikdefinition zu lesen, die 40 Seiten im PDF-Format umfasst.
Die Metrik sagt jedoch nichts darüber aus, wie das Messergebnis erzielt wurde; sie zeigt nur dieses Ergebnis an. Was machen wir also mit den Metriken?
Zunächst messen wir den Wert von etwas, um das Ergebnis der Messung dann zu nutzen.

Zum Beispiel haben wir das Volumen des freien Speicherplatzes auf der Festplatte ermittelt und können ihn nun nutzen, diesen Speicher verwenden usw. Nachdem wir das Ergebnis der Metrik erhalten haben, müssen wir es interpretieren. Zum Beispiel hat die Metrik ein Ergebnis von 90 geliefert. Wir müssen wissen, was diese Zahl bedeutet: das Volumen des freien Speicherplatzes oder das Volumen des belegten Speicherplatzes auf der Festplatte in Prozent oder Gigabyte, die Netzwerklatenz von 90 ms usw., das heißt, wir müssen den Sinn der Metrik verstehen. Damit die Metriken überhaupt sinnvoll sind, müssen wir nach der Interpretation eines Metrikwerts sicherstellen, dass eine Vielzahl von Werten gesammelt wird. Das ist sehr wichtig, da viele Menschen die Notwendigkeit des Sammelns von Metriken nicht erkennen. Microsoft hat den Prozess des Erhaltens von Metriken sehr einfach gestaltet, aber Sie müssen selbst für deren Sammlung sorgen. Diese Metriken werden nur 41 Tage lang gespeichert und am 42. Tag gelöscht. Je nach Eigenschaften Ihrer externen oder internen Hardware sollten Sie sich also Gedanken darüber machen, wie Sie Metriken länger als 41 Tage aufbewahren können – in Form von Logs, Protokollen usw. Nachdem Sie sie gesammelt haben, müssen Sie sie an einem Ort platzieren, der es Ihnen ermöglicht, bei Bedarf alle Statistiken über die Änderungen der Metriken abzurufen. Wenn Sie sie dort platziert haben, können Sie effektiv mit ihnen arbeiten.
Nur nachdem Sie die Werte der Metriken erhalten, diese interpretiert und gesammelt haben, können Sie ein SLA – ein Service Level Agreement – erstellen. Dieses SLA hat möglicherweise keine besondere Bedeutung für Ihre Kunden, es ist wichtiger für Ihre Kollegen, Manager, die dafür sorgen, dass das System funktioniert, und für diejenigen, die sich um die Funktionalität kümmern. Eine Metrik kann die Anzahl der Tickets messen – zum Beispiel erhalten Sie 5 Tickets pro Tag, und in diesem Fall zeigt sie die Geschwindigkeit der Reaktion auf Benutzeranfragen und die Schnelligkeit der Problemlösung. Eine Metrik sollte nicht nur anzeigen, dass Ihre Website in 20 ms lädt oder die Antwortzeit 20 ms beträgt; eine Metrik ist mehr als nur ein technischer Indikator.
Daher ist es Ziel unseres Gesprächs, Ihnen ein umfassendes Bild der Metriken zu vermitteln. Eine Metrik dient dazu, dass Sie, wenn Sie darauf schauen, ein vollständiges Bild des Prozesses erhalten.

Sobald wir die Metrik erhalten haben, können wir zu 99 % garantieren, dass das System betriebsbereit ist, denn es ist nicht einfach nur ein Blick in die Protokolldatei, in der steht, dass das System funktioniert. Eine Garantie von 99 % Betriebssicherheit bedeutet, dass beispielsweise in 99 % der Fälle die API mit der normalen Geschwindigkeit von 30 ms antwortet. Das ist genau das, was Ihre Benutzer, Ihre Kollegen und Manager interessiert. Viele unserer Kunden überwachen die Protokolle der Webserver, dabei bemerken sie keine Fehler und denken, dass alles in Ordnung ist. Zum Beispiel sehen sie eine Netzwerkgeschwindigkeit von 200 Mbit/s und denken: „Okay, alles super!“ Aber um diese 200 zu erreichen, benötigen die Benutzer eine Antwortgeschwindigkeit von 30 Millisekunden, und genau dieser Wert wird nicht gemessen und nicht in den Protokolldateien erfasst. Die Benutzer fragen sich, warum die Website sehr langsam lädt, weil sie ohne die richtige Metrik nicht wissen, warum sich das Verhalten so zeigt.
Da wir jedoch ein SLA haben, das 100 % Betriebszeit garantiert, beginnen die Kunden, Unmut zu äußern, da die Nutzung der Website in der Realität sehr schwierig ist. Um ein objektives SLA zu erstellen, ist es notwendig, das vollständige Bild des Prozesses zu sehen, das durch die gesammelten Metriken entsteht. Dies ist Gegenstand meines ständigen Streits mit einigen Anbietern, die bei der Erstellung eines SLAs nicht verstehen, was der Begriff „Uptime“ bedeutet, und in den meisten Fällen ihren Kunden nicht erklären, wie ihre API funktioniert.
Wenn Sie einen Dienst, beispielsweise eine API für Dritte, erstellt haben, müssen Sie verstehen, was die erhaltene Metrik von 39,5 bedeutet – ist es eine Antwort, eine erfolgreiche Antwort, eine Antwort mit einer Geschwindigkeit von 20 ms oder mit einer Geschwindigkeit von 5 ms? Sie müssen deren SLA an Ihr eigenes SLA, an Ihre eigenen Metriken anpassen.
Nachdem Sie all dies geklärt haben, können Sie damit beginnen, ein großartiges Überwachungsdashboard zu erstellen. Sagten Sie, hat jemand schon die Anwendung für die interaktive Visualisierung Grafana verwendet? Super! Ich bin ein großer Fan dieses Open Source-Tools, da es kostenlos ist und einfach zu bedienen ist.

Wenn Sie noch nie mit Grafana gearbeitet haben, erkläre ich Ihnen, wie Sie damit umgehen. Wer in den 80ern oder 90ern geboren wurde, erinnert sich vielleicht an die fürsorglichen CareBears? Ich weiß nicht, wie beliebt diese Teddys in Russland waren, aber in Bezug auf Metriken müssen wir wie diese „fürsorglichen Teddys“ auftreten. Wie gesagt, Sie benötigen ein umfassendes Bild des gesamten Systems, und es sollte nicht nur Ihren API, Ihre Website oder den auf einer virtuellen Maschine laufenden Dienst betreffen.

Sie sollten die Erhebung der Metriken organisieren, die die Arbeitsweise des gesamten Systems am besten widerspiegeln. Die meisten von Ihnen sind Softwareentwickler, daher verändert sich Ihr Leben ständig, angepasst an neue Produktanforderungen. Genau wie Sie sich um die Kodierprozesse kümmern, sollten Sie sich auch um die Metriken kümmern. Sie müssen wissen, wie jede Metrik sich auf jede von Ihnen geschriebene Zeile Code auswirkt. Beispielsweise starten Sie nächste Woche eine neue Marketingkampagne und erwarten, dass Ihre Website von vielen Nutzern besucht wird. Um dieses Ereignis zu analysieren, benötigen Sie Metriken, und möglicherweise wird ein ganzes Dashboard zur Überwachung der Aktivitäten dieser Personen notwendig sein. Metriken sind nötig, um herauszufinden, wie erfolgreich Ihre Marketingkampagne tatsächlich ist und wie sie funktioniert. Sie helfen Ihnen beispielsweise, eine effektive CRM-System zu entwickeln.
Also, lassen Sie uns mit unserem Cloud-Service Azure beginnen. Es ist sehr einfach, Metriken zu finden und deren Erfassung zu organisieren, da es Azure Monitor gibt. Dieser Monitor zentralisiert das Management der Konfiguration Ihres Systems. Jedes Azure-Element, das Sie in Ihrem System verwenden möchten, hat eine Vielzahl von standardmäßig aktivierten Metriken. Es handelt sich um eine kostenlose Anwendung, die direkt „aus der Box“ funktioniert und keine vorherigen Einstellungen erfordert; Sie müssen nichts programmieren oder in Ihr System integrieren. Wir werden dies überprüfen, indem wir die nächste Demo sehen.

Darüber hinaus besteht die Möglichkeit, diese Metriken an Drittanwendungen zu senden, wie zum Beispiel das Log-Management- und Analysetool Splunk, die Cloud-Anwendung zur Verwaltung von Logs SumoLogic, das Logverarbeitungstool ELK und IBM Radar. Es gibt jedoch kleine Unterschiede, die von den Ressourcen abhängen, die Sie verwenden – von virtuellen Maschinen, Netzwerkdiensten, Azure SQL-Datenbanken, das heißt, die Verwendung von Metriken variiert je nach den Funktionen Ihrer Arbeitsumgebung. Ich möchte nicht sagen, dass diese Unterschiede erheblich sind, aber leider sind sie dennoch vorhanden und sollten berücksichtigt werden. Die Aktivierung und Übertragung von Metriken ist auf verschiedene Weisen möglich: über das Portal, CLI/Power Shell oder mithilfe von ARM-Vorlagen.

Bevor wir mit der ersten Demonstration beginnen, beantworte ich gerne Ihre Fragen. Wenn es keine Fragen gibt, können wir starten. Auf dem Bildschirm sehen Sie, wie die Seite Azure Monitor aussieht. Kann jemand von Ihnen sagen, dass dieser Monitor nicht funktioniert?

Also, jetzt ist alles in Ordnung, Sie sehen, wie die Monitor-Services aussehen. Ich kann sagen, dass dies ein hervorragendes und sehr einfach zu bedienendes Tool für die tägliche Arbeit ist. Damit kann die Überwachung von Anwendungen, Netzwerken und Infrastrukturen realisiert werden. Kürzlich wurde die Überwachungsoberfläche verbessert, und während die Services früher an verschiedenen Orten platziert waren, wird jetzt alle Informationen zu den Services auf der Startseite des Monitors konsolidiert.
Die Metrik-Tabelle ist ein Tab im Pfad HomeMonitorMetrics, auf den Sie zugreifen können, um alle vorhandenen Metriken zu sehen und die benötigten auszuwählen. Wenn Sie jedoch die Sammlung von Metriken aktivieren möchten, müssen Sie den Pfad im Verzeichnis HomeMonitorDiagnostic settings verwenden und die Kontrollkästchen für die Metriken Aktiviert/Deaktiviert überprüfen. Standardmäßig sind praktisch alle Metriken aktiviert, aber wenn Sie etwas Zusätzliches aktivieren möchten, müssen Sie den Diagnose-Status von Deaktiviert auf Aktivieren ändern.

Dazu müssen Sie auf die Zeile der ausgewählten Metrik klicken und im sich öffnenden Tab den Diagnosemodus aktivieren. Wenn Sie die ausgewählte Metrik analysieren möchten, müssen Sie nach dem Klicken auf den Link Diagnose aktivieren im erscheinenden Fenster das Kontrollkästchen Send to Log Analytics aktivieren.

Log Analytics ähnelt ein wenig Splunk, ist jedoch günstiger. Dieser Service ermöglicht es, alle Ihre Metriken, Protokolle und alles, was Sie benötigen, zu sammeln und in einem Arbeitsbereich für Log Analytics zu platzieren. Der Service verwendet eine spezielle Abfragesprache namens KQL – Kusto Query Language, deren Funktionsweise wir im nächsten Demo besprechen werden. Bis dahin möchte ich anmerken, dass Sie damit Abfragen zu Metriken, Protokollen, Begriffen, Trends, Mustern usw. erstellen können und Dashboards erstellen können.
Wir aktivieren das Kontrollkästchen Send to Log Analytics sowie die Kontrollkästchen der LOG-Paneele: DataPlaneRequests, MongoRequests und QueryRuntimeStatistics sowie das Kontrollkästchen Requests im METRIC-Bereich. Dann vergeben wir einen beliebigen Namen und speichern die Einstellungen. In der Befehlszeile entspricht dies zwei Codezeilen. Übrigens erinnert die Azure Cloud Shell in dieser Hinsicht an Google, das ebenfalls die Verwendung einer Befehlszeile im Webbrowser ermöglicht. AWS bietet so etwas nicht, daher ist Azure in dieser Hinsicht viel benutzerfreundlicher.
Zum Beispiel kann ich die Demo über die Weboberfläche starten, ohne dazu Code auf meinem Laptop verwenden zu müssen. Dazu muss ich mich mit meinem Azure-Konto authentifizieren. Danach kann ich beispielsweise terrafone verwenden, wenn Sie dies bereits tun, auf die Verbindung zum Service warten und eine Linux-Umgebung erhalten, die Microsoft standardmäßig verwendet.

Dann benutze ich Bash, das in Azure Cloud Shell integriert ist. Sehr nützlich ist die im Browser integrierte IDE, eine vereinfachte Version von VS Code. Danach kann ich mein Fehler-Metrik-Template aufrufen, es ändern und an meine Bedürfnisse anpassen.

Nachdem Sie in dieser Vorlage die Metriksammlung eingerichtet haben, können Sie diese zur Erstellung von Metriken für Ihre gesamte Infrastruktur verwenden. Nachdem wir die Metriken angewendet, gesammelt und gespeichert haben, müssen wir diese visualisieren.

Azure Monitor beschäftigt sich ausschließlich mit Metriken und bietet keine Möglichkeit, ein Gesamtbild des Zustands Ihres Systems zu erhalten. Sie könnten eine Reihe anderer Anwendungen haben, die außerhalb der Azure-Umgebung ausgeführt werden. Wenn Sie also alle Prozesse überwachen möchten, indem Sie alle gesammelten Metriken an einem Ort visualisieren, ist Azure Monitor dafür nicht geeignet.
Um dieses Problem zu lösen, bietet Microsoft das Werkzeug Power BI an – eine umfassende Software für die Geschäftsanalyse, die die Visualisierung verschiedenster Daten umfasst. Es handelt sich um ein ziemlich teures Produkt, dessen Preis von dem benötigten Funktionsumfang abhängt. Standardmäßig bietet es 48 Arten von verarbeitbaren Daten an und ist mit SQL Azure-Datenbanken, Azure Data Lake Storage, Azure Machine Learning-Diensten und Azure Databricks verbunden. Durch die Skalierbarkeit können Sie alle 30 Minuten neue Daten abrufen. Das könnte für Ihre Bedürfnisse ausreichend sein oder nicht, wenn Sie eine Echtzeit-Überwachungsvisualisierung benötigen. In diesem Fall wird empfohlen, Anwendungen wie das bereits erwähnte Grafana zu verwenden. Darüber hinaus beschreibt die Microsoft-Dokumentation die Möglichkeit, Metriken, Protokolle und Ereignistabellen mit Hilfe von SIEM-Tools in die Visualisierungssysteme Splunk, SumoLogic, ELK und IBM Radar zu senden.
23:40 min
Fortsetzung erfolgt in Kürze…

Ein wenig Werbung 🙂
Danke, dass Sie bei uns bleiben. Gefallen Ihnen unsere Artikel? Möchten Sie mehr interessante Inhalte sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder uns Freunden empfehlen, , ein einzigartiges Äquivalent zu Einsteigerservern, das wir für Sie entwickelt haben: (es sind Optionen mit RAID1 und RAID10 bis zu 24 Kernen und bis zu 40GB DDR4 verfügbar).
Dell R730xd ist im Equinix Tier IV Rechenzentrum in Amsterdam doppelt so günstig? Nur bei uns in den Niederlanden! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — ab $99! Lesen Sie, wie
Quelle: habr.com
