David O'Brien (Xirus): Metriken! Metriken! Metriken! Teil 1

David O'Brien hat kürzlich seine eigene Firma Xirus (https://xirus.com.au) eröffnet, die sich auf Microsoft Azure Stack-Cloud-Produkte konzentriert. Sie sind für die koordinierte Erstellung und Einführung von Hybridanwendungen in Rechenzentren, an Grenzstandorten, in Remote-Büros und in der Cloud vorgesehen.

David unterrichtet Einzelpersonen und Unternehmen in Bezug auf Microsoft Azure und Azure DevOps (ehemals VSTS) und beschäftigt sich weiterhin mit praktischer Beratung und Infra-Codierung. Er ist seit 5 Jahren der Gewinner des Microsoft MVP Award (Microsoft Most Valuable Professional) und erhielt kürzlich den MVP Azure Award. Als Mitorganisator des Microsoft Cloud and Datacentre Meetup in Melbourne spricht O'Brien regelmäßig auf internationalen Konferenzen und verbindet sein Interesse an Weltreisen mit der Leidenschaft, IT-Geschichten mit der Community zu teilen. Davids Blog befindet sich unter david-obrien.net und er veröffentlicht auch seine Online-Pluralsight-Schulungen.

In der Präsentation 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 Workloads anzuzeigen. In der Vorlesung wird erläutert, wie Sie sie alle verwenden können.

Am Sonntag um 3 Uhr morgens wachen Sie im Schlaf plötzlich mit einer SMS auf: „Die überkritische Anwendung reagiert nicht mehr“. Was ist los? Wo und was sind die Ursachen für die „Bremsen“? In diesem Vortrag erfahren Sie mehr über die Dienste, die Microsoft Azure Kunden zum Sammeln von Protokollen und insbesondere über Metriken für Ihre Cloud-Workloads bietet. David wird Ihnen sagen, welche Metriken Sie bei der Arbeit an einer Cloud-Plattform interessieren sollten und wie Sie zu ihnen gelangen. Sie lernen Open Source-Tools und das Erstellen von Dashboards kennen und erhalten so genügend Wissen, um Ihre eigenen Dashboards zu erstellen.

Und wenn Sie um 3 Uhr morgens erneut eine Meldung über den Absturz einer kritischen Anwendung aufwecken, können Sie die Ursache schnell herausfinden.

Guten Tag, heute werden wir über Metriken sprechen. Mein Name ist David O'Brien, ich bin Mitbegründer und Inhaber des kleinen australischen Beratungsunternehmens Xirus. Nochmals vielen Dank, dass Sie hierher gekommen sind, um Ihre Zeit mit mir zu verbringen. Warum sind wir hier? Um über Metriken zu sprechen, oder besser gesagt, ich werde Ihnen davon erzählen, und bevor Sie etwas tun, beginnen wir mit der Theorie.



Ich werde Ihnen sagen, was Metriken sind, was Sie damit tun können, worauf Sie achten müssen, wie Sie die Erfassung von Metriken in Azure erfassen und aktivieren und was die Visualisierung von Metriken ist. Ich werde Ihnen zeigen, wie diese Dinge in der Microsoft Cloud aussehen und wie Sie mit dieser Cloud arbeiten.

Bevor Sie beginnen, werde ich Sie bitten, die Hände derjenigen zu heben, die Microsoft Azure verwenden. Und wer arbeitet mit AWS? Ich sehe ein paar. Was ist mit Google? ALI Cloud? Ein Mann! Fein. Was sind Metriken? Die offizielle Definition des US-amerikanischen National Institute of Standards and Technology sieht folgendermaßen aus: „Eine Metrik ist ein Messstandard, der die Bedingungen und Regeln für die Messung einer Eigenschaft beschreibt und dazu dient, die Messergebnisse zu verstehen.“ Was bedeutet das?

Betrachten Sie beispielsweise die Metrik zum Ändern des freien Speicherplatzes einer Festplatte einer virtuellen Maschine. Zum Beispiel erhalten wir die Zahl 90, und diese Zahl bedeutet Prozentsätze, dh die Menge an freiem Speicherplatz beträgt 90%. Ich stelle fest, dass es nicht sehr interessant ist, die Beschreibung der Metrikdefinition zu lesen, die 40 Seiten im PDF-Format umfasst.

Die Metrik sagt jedoch nicht aus, wie das Messergebnis erhalten wurde, sondern zeigt nur dieses Ergebnis. Was machen wir mit Metriken?

Zuerst messen wir den Wert von etwas, dann verwenden wir das Ergebnis der Messung.



Zum Beispiel haben wir die Menge an freiem Speicherplatz gelernt und jetzt können wir ihn verwenden, diesen Speicher verwenden usw. Nachdem wir das Ergebnis der Metrik erhalten haben, müssen wir es interpretieren. Zum Beispiel ergab die Metrik ein Ergebnis von 90. Wir müssen wissen, was diese Zahl bedeutet: die Menge an freiem Speicherplatz oder die Menge an verwendetem Speicherplatz in Prozent oder Gigabyte, Netzwerklatenz von 90 ms usw. Das heißt, wir müssen die Bedeutung des Metrikwerts interpretieren. Damit Metriken überhaupt Sinn machen, müssen wir nach der Interpretation eines einzelnen Metrikwerts sicherstellen, dass mehrere Werte erfasst werden. Dies ist sehr wichtig, da sich viele Menschen der Notwendigkeit der Erfassung von Metriken nicht bewusst sind. Microsoft hat es sehr einfach gemacht, Metriken abzurufen, aber Sie müssen sicherstellen, dass sie erfasst werden. Diese Metriken werden nur 41 Tage gespeichert und verschwinden am 42. Tag.Abhängig von den Eigenschaften Ihrer externen oder internen Geräte müssen Sie daher darauf achten, dass Metriken länger als 41 Tage gespeichert werden - in Form von Protokollen, Magazinen usw. Daher sollten Sie sie nach der Erfassung an einer Stelle platzieren, an der Sie bei Bedarf alle Statistiken zu Änderungen der Ergebnisse von Metriken abrufen können. Wenn Sie sie dort platzieren, können Sie beginnen, effektiv mit ihnen zu arbeiten.

Erst nachdem Sie die Metrikwerte erhalten, interpretiert und erfasst haben, können Sie eine SLA erstellen - eine Vereinbarung über das Servicelevel. Diese SLA ist für Ihre Kunden möglicherweise nicht von besonderer Bedeutung. Sie ist wichtiger für Ihre Kollegen, Manager, diejenigen, die das System bereitstellen und sich um dessen Funktionalität sorgen. Die Metrik kann die Anzahl der Tickets messen. Sie erhalten beispielsweise 5 Tickets pro Tag. In diesem Fall wird die Reaktionsgeschwindigkeit auf Benutzeranforderungen und die Geschwindigkeit der Fehlerbehebung angezeigt. Eine Metrik sollte nicht nur anzeigen, dass Ihre Site in 20 ms oder mit einer Antwortgeschwindigkeit von 20 ms geladen wird. Eine Metrik ist mehr als nur ein technischer Indikator.

Ziel unseres Gesprächs ist es daher, Ihnen ein detailliertes Bild der Essenz von Metriken zu vermitteln. Die Metrik dient dazu, sie zu betrachten, und Sie können sich ein vollständiges Bild des Prozesses machen.



Sobald wir die Metrik erhalten, können wir 99% des Arbeitszustands des Systems garantieren, da dies nicht nur ein Blick auf die Protokolldatei ist, die besagt, dass das System funktioniert. Eine Garantie von 99% Verfügbarkeit bedeutet, dass beispielsweise in 99% der Fälle die API mit einer normalen Geschwindigkeit von 30 ms reagiert. Genau das interessiert Ihre Benutzer, Kollegen und Manager. Viele unserer Kunden verfolgen die Protokolle von Webservern, bemerken jedoch keine Fehler und denken, dass alles in Ordnung ist. Zum Beispiel sehen sie eine Netzwerkgeschwindigkeitsanzeige von 200 MBit / s und denken: „Okay, alles ist in Ordnung!“. Um diese 200 zu erreichen, benötigen Benutzer eine Antwortgeschwindigkeit von 30 Millisekunden. Dies ist genau der Indikator, der nicht gemessen und nicht in den Protokolldateien erfasst wird. Gleichzeitig sind Benutzer überrascht, dass die Site sehr langsam geladen wird, da ohne die richtige MetrikSie kennen die Gründe für dieses Verhalten nicht.

Da wir jedoch eine SLA haben, die eine 100% ige Verfügbarkeit garantiert, zeigen sich die Kunden empört, da die Nutzung der Website in Wirklichkeit sehr schwierig ist. Um eine objektive SLA zu erstellen, müssen Sie daher das vollständige Bild des Prozesses sehen, der durch die gesammelten Metriken erstellt wurde. Dies ist das Thema meiner laufenden Debatte mit einigen Anbietern, die beim Erstellen des SLA nicht verstehen, was der Begriff „Verfügbarkeit“ bedeutet, und ihren Kunden in den meisten Fällen nicht erklären, wie ihre API funktioniert.

Wenn Sie einen Dienst erstellt haben, z. B. eine API für eine dritte Person, sollten Sie verstehen, was die empfangene Metrik 39.5 bedeutet - Antwort, erfolgreiche Antwort, Antwort mit einer Geschwindigkeit von 20 ms oder mit einer Geschwindigkeit von 5 ms. Sie müssen ihre SLA an Ihre eigene SLA anpassen, an Ihre eigenen Metriken.

Nachdem Sie dies alles herausgefunden haben, können Sie mit der Erstellung eines intelligenten Dashboards beginnen. Sag mir, hat schon jemand Grafanas interaktive Visualisierungs-App verwendet? Fein! Ich bin ein großer Fan von Open Source, weil dieses Ding kostenlos und einfach zu bedienen ist.



Wenn Sie Grafana nicht verwendet haben, werde ich Ihnen sagen, wie Sie damit arbeiten sollen. Wer wurde in den 80-90ern geboren und erinnert sich wahrscheinlich an die fürsorglichen CareBears-Jungen? Ich weiß nicht, wie beliebt diese Bären in Russland waren, aber in Bezug auf die Metriken sollten wir die gleichen "fürsorglichen Bären" sein. Wie gesagt, Sie benötigen ein detailliertes Bild des gesamten Systems und sollten nicht nur Ihre API, Ihre Website oder Ihren Dienst betreffen, die auf einer virtuellen Maschine ausgeführt werden.



Sie müssen die Erfassung der Metriken organisieren, die den Betrieb des gesamten Systems am besten widerspiegeln. Die meisten von Ihnen sind Softwareentwickler, daher ändert sich Ihr Leben ständig und passt sich den neuen Anforderungen des Produkts an. Ebenso wie Sie sich Gedanken über Codierungsprozesse machen, sollten Sie sich um Metriken kümmern. Sie müssen wissen, wie die Metrik jede von Ihnen geschriebene Codezeile berührt. Beispielsweise gründen Sie nächste Woche eine neue Marketingfirma und erwarten, dass eine große Anzahl von Benutzern Ihre Website besucht. Um dieses Ereignis zu analysieren, benötigen Sie Metriken und möglicherweise ein ganzes Panel, um die Aktivitäten dieser Personen zu verfolgen. Sie benötigen Metriken, um herauszufinden, wie erfolgreich und wie Ihr Marketingunternehmen tatsächlich funktioniert. Sie helfen Ihnen zum Beispiel,ein effektives CRM - Kundenbeziehungsmanagementsystem zu entwickeln.

Beginnen wir also mit unserem Azure-Clouddienst. Es ist sehr einfach, die Sammlung von Metriken darin zu finden und zu organisieren, da es Azure Monitor gibt. Dieser Monitor zentralisiert das Konfigurationsmanagement Ihres Systems. Für jedes der Azure-Elemente, die Sie auf Ihrem System anwenden möchten, sind viele Standardmetriken aktiviert. Dies ist eine kostenlose Anwendung, die direkt "out of the box" funktioniert und keine vorläufigen Einstellungen erfordert. Sie müssen nichts schreiben und sie an Ihr System "schrauben". Wir werden dies anhand der folgenden Demo überprüfen.



Darüber hinaus können diese Metriken an Anwendungen von Drittanbietern gesendet werden, z. B. an das Splunk-Protokollspeicher- und -analysesystem, die Cloud-basierte Protokollverwaltungsanwendung SumoLogic, das ELK-Protokollverarbeitungstool und IBM Radar. Es gibt zwar kleine Unterschiede, die von den von Ihnen verwendeten Ressourcen abhängen - eine virtuelle Maschine, Netzwerkdienste, Azure SQL-Datenbanken, dh die Verwendung von Metriken hängt von den Funktionen Ihrer Arbeitsumgebung ab. Ich werde nicht sagen, dass diese Unterschiede schwerwiegend sind, aber leider sind sie immer noch vorhanden, und dies sollte berücksichtigt werden. Das Einschließen und Übertragen von Metriken ist auf verschiedene Arten möglich: über Portal, CLI / Power Shell oder mithilfe von ARM-Vorlagen.



Bevor ich mit der ersten Demonstration beginne, werde ich Ihre Fragen beantworten. Wenn es keine Fragen gibt, fangen wir an. Der Bildschirm zeigt, wie die Azure Monitor-Seite aussieht. Kann jemand von Ihnen sagen, dass dieser Monitor nicht funktioniert?



Jetzt ist alles in Ordnung. Sie sehen, wie die Überwachungsdienste aussehen. Ich kann sagen, dass dies ein großartiges und sehr einfaches Werkzeug für die tägliche Arbeit ist. Damit können Sie Anwendungen, Netzwerke und Infrastruktur überwachen. Vor kurzem wurde die Überwachungsschnittstelle verbessert. Wenn sich die Dienste früher an verschiedenen Orten befanden, werden jetzt alle Informationen zu den Diensten auf der Monitor-Homepage konsolidiert.

Die Metriktabelle ist eine Registerkarte im Pfad Home \ Monitor \ Metrics, auf der Sie alle verfügbaren Metriken anzeigen und die erforderlichen auswählen können. Wenn Sie jedoch die Erfassung von Metriken aktivieren müssen, müssen Sie den Verzeichnispfad Home \ Monitor \ Diagnoseeinstellungen verwenden und die Kontrollkästchen Aktivierte / Deaktivierte Metriken aktivieren. Standardmäßig sind fast alle Metriken aktiviert. Wenn Sie jedoch zusätzliche Elemente aktivieren müssen, müssen Sie den Diagnosestatus von Deaktiviert in Aktiviert ändern.



Klicken Sie dazu auf die Zeile der ausgewählten Metrik und auf die Registerkarte, die den Diagnosemodus aktiviert. Wenn Sie die ausgewählte Metrik analysieren möchten, aktivieren Sie nach dem Klicken auf den Link Diagnose aktivieren das Kontrollkästchen An Log Analytics senden im angezeigten Fenster.



Log Analytics ist ein bisschen wie Splunk, aber billiger. Mit diesem Service können Sie alle Ihre Metriken, Protokolle und alles, was Sie benötigen, sammeln und im Log Analytics-Arbeitsbereich platzieren. Der Dienst verwendet eine spezielle KQL-Abfrageverarbeitungssprache - Kusto Quarry Language. Wir werden seine Arbeit in der nächsten Demo betrachten. Im Moment möchte ich darauf hinweisen, dass Sie mit seiner Hilfe Abfragen zu Metriken, Protokollen, Begriffen, Trends, Mustern usw. formulieren können. und erstellen Sie Dashboards.

Daher aktivieren wir die Kontrollkästchen Send to Log Analytics und die Kontrollkästchen LOG: DataPlaneRequests, MongoRequests und QueryRuntimeStatistics und unten im METRIC-Bereich das Kontrollkästchen Requests. Dann vergeben wir einen Namen und speichern die Einstellungen. In der Befehlszeile sind dies zwei Codezeilen. Übrigens ähnelt die Azure Cloud-Shell in diesem Sinne Google, sodass Sie auch die Befehlszeile in Ihrem Webbrowser verwenden können. AWS hat nichts dergleichen, daher ist Azure in diesem Sinne viel praktischer.

Zum Beispiel kann ich die Demo über die Weboberfläche ausführen, ohne Code auf meinem Laptop zu verwenden. Dazu muss ich mich mit meinem Azure-Konto authentifizieren. Dann können Sie beispielsweise Terrafone verwenden. Wenn Sie es bereits verwenden, warten Sie auf die Verbindung zum Dienst und rufen Sie die Linux-Arbeitsumgebung ab, die Microsoft standardmäßig verwendet.



Als Nächstes verwende ich den in die Azure Cloud Shell integrierten Bash. Eine sehr nützliche Sache ist die im Browser integrierte IDE, eine leichtgewichtige Version von VS Code. Als nächstes kann ich in meine Fehlermetrikvorlage gehen, sie ändern und an meine Bedürfnisse anpassen.



Durch Einrichten der Metriksammlung in dieser Vorlage können Sie damit Metriken für Ihre gesamte Infrastruktur erstellen. Nachdem wir die Metriken angewendet, gesammelt und gespeichert haben, müssen wir sie visualisieren.



Azure Monitor behandelt nur Metriken und bietet keine Möglichkeit, sich einen Überblick über den Status Ihres Systems zu verschaffen. Sie können eine Reihe anderer Anwendungen verwenden, die außerhalb von Azure ausgeführt werden. Wenn Sie also alle Prozesse überwachen und alle erfassten Metriken an einem Ort visualisieren müssen, funktioniert Azure Monitor hierfür nicht.

Um dieses Problem zu lösen, bietet Microsoft das Power BI-Tool an - eine umfassende Software für die Geschäftsanalyse, die die Visualisierung einer Vielzahl von Daten umfasst. Dies ist ein ziemlich teures Produkt, dessen Kosten von den benötigten Funktionen abhängen. Standardmäßig bietet es 48 Arten verarbeiteter Daten und ist mit Azure SQL Data Warehouses, Azure Data Lake-Speicher, Azure Machine Learning Services und Azure Databricks verknüpft. Mit der Skalierbarkeit können Sie alle 30 Minuten neue Daten empfangen. Dies kann für Ihre Anforderungen ausreichend sein oder nicht, wenn Sie eine Echtzeit-Überwachungsvisualisierung benötigen. In diesem Fall wird empfohlen, Anwendungen wie die von Grafana erwähnte zu verwenden. Darüber hinaus beschreibt die Microsoft-Dokumentation die Möglichkeit, Metriken zu senden.Protokolle und Ereignistabellen mit SIEM - Tools in den Visualisierungssystemen Splunk, SumoLogic, ELK und IBM Radar.

23:40 min Wird

sehr bald fortgesetzt ...


Ein bisschen Werbung :)


Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden Cloud-basiertes VPS für Entwickler ab 4,99 US-Dollar empfehlen , ein einzigartiges Analogon von Einstiegsservern, das von uns für Sie erfunden wurde: Die ganze Wahrheit über VPS (KVM) E5-2697 v3 (6 Kerne) 10 GB DDR4 480 GB SSD 1 Gbit / s ab 19 $ oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur wir haben 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2,6 GHz 14C 64 GB DDR4 4 x 960 GB SSD 1 Gbit / s 100 TV von 199 US-Dollar in den Niederlanden!Dell R420 - 2x E5-2430 2,2 GHz 6C 128 GB DDR3 2x960 GB SSD 1 Gbit / s 100 TB - ab 99 US-Dollar! Lesen Sie, wie Sie eine Infrastruktur aufbauen Klasse C mit Dell R730xd E5-2650 v4-Servern für 9.000 Euro für einen Cent?

All Articles