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

David O'Brien hat kürzlich sein eigenes Unternehmen Xirus (https://xirus.com.au) gegründet, das sich auf Microsoft Azure Stack-Cloud-Produkte konzentriert. Sie sind für die konsistente Erstellung und Ausführung hybrider Anwendungen in Rechenzentren, Edge-Standorten, Remote-Büros und der Cloud konzipiert.

David schult Einzelpersonen und Unternehmen in allen Bereichen von Microsoft Azure und Azure DevOps (ehemals VSTS) und führt weiterhin praktische Beratung und Infracodierung durch. Er ist seit 5 Jahren Gewinner des Microsoft MVP (Microsoft Most Valuable Professional) Award und erhielt kürzlich den Azure MVP Award. Als Mitorganisator des Melbourne Microsoft Cloud and Datacentre Meetup spricht O'Brien regelmäßig auf internationalen Konferenzen und verbindet dabei sein Interesse am Reisen um die Welt mit seiner Leidenschaft, IT-Geschichten mit der Community zu teilen. Davids Blog befindet sich unter david-obrien.netAußerdem veröffentlicht er sein Online-Training auf Pluralsight.

In dem Vortrag geht es um die Bedeutung von Metriken für das Verständnis der Vorgänge in Ihrer Umgebung und der Leistung Ihrer Anwendung. Microsoft Azure verfügt über eine leistungsstarke und einfache Möglichkeit, Metriken für alle Arten von Arbeitslasten anzuzeigen. In der Vorlesung wird erklärt, wie Sie sie alle verwenden können.

An einem Sonntag um 3 Uhr morgens werden Sie im Schlaf plötzlich von einer SMS geweckt: „Überkritische App antwortet nicht mehr.“ Was ist los? Wo und was ist der Grund für die „Bremsen“? In diesem Vortrag erfahren Sie mehr über die Dienste, die Microsoft Azure seinen Kunden bietet, um Protokolle und insbesondere Metriken aus Ihren Cloud-Workloads zu sammeln. David verrät Ihnen, welche Kennzahlen Sie bei der Arbeit auf einer Cloud-Plattform interessieren sollten und wie Sie an diese gelangen. Sie lernen Open-Source-Tools und die Erstellung von Dashboards kennen und verfügen am Ende über genügend Wissen, um Ihre eigenen Dashboards zu erstellen.

Und wenn Sie um 3 Uhr morgens erneut von der Meldung geweckt werden, dass eine kritische Anwendung abgestürzt ist, 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 Eigentümer eines kleinen australischen Beratungsunternehmens, Xirus. Nochmals vielen Dank, dass Sie hierher gekommen sind, um Ihre Zeit mit mir zu verbringen. Warum sind wir also hier? Um über Metriken zu sprechen, oder besser gesagt, ich werde Ihnen davon erzählen, und bevor wir etwas tun, beginnen wir mit der Theorie.

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

Ich erkläre Ihnen, was Metriken sind, was Sie damit machen können, worauf Sie achten müssen, wie Sie die Metriksammlung in Azure erfassen und aktivieren und was die Metrikvisualisierung ist. Ich zeige Ihnen, wie diese Dinge in der Microsoft-Cloud aussehen und wie Sie mit dieser Cloud arbeiten.

Bevor wir beginnen, bitte ich diejenigen, die Microsoft Azure verwenden, um Handzeichen. Wer arbeitet mit AWS? Ich sehe nur wenige. Was ist mit Google? ALI Cloud? Ein Mann! Großartig. Was sind also Kennzahlen? Die offizielle Definition des US-amerikanischen National Institute of Standards and Technology lautet: „Eine Metrik ist ein Messstandard, der die Bedingungen und Regeln für die Messung einer Immobilie beschreibt und dazu dient, die Messergebnisse zu verstehen.“ Was bedeutet das?

Nehmen wir ein Beispiel für eine Metrik zum Ändern des freien Speicherplatzes einer virtuellen Maschine. Wir erhalten beispielsweise die Zahl 90, und diese Zahl bedeutet Prozentsatz, das heißt, der freie Speicherplatz beträgt 90 %. Ich stelle fest, dass es nicht sehr interessant ist, die Beschreibung der Definition von Metriken zu lesen, die im PDF-Format 40 Seiten umfasst.

Die Metrik sagt jedoch nicht aus, wie das Messergebnis zustande kam, sondern zeigt lediglich dieses Ergebnis an. Was machen wir mit Kennzahlen?

Zuerst messen wir den Wert einer Sache, um dann das Messergebnis zu verwenden.

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

Wir haben zum Beispiel die Menge an freiem Speicherplatz herausgefunden und können ihn nun nutzen, diesen Speicher nutzen usw. Sobald wir das metrische Ergebnis erhalten haben, müssen wir es interpretieren. Die Metrik hat beispielsweise ein Ergebnis von 90 zurückgegeben. Wir müssen wissen, was diese Zahl bedeutet: die Menge des freien Speicherplatzes oder die Menge des genutzten Speicherplatzes in Prozent oder Gigabyte, die Netzwerklatenz beträgt 90 ms und so weiter , müssen wir die Bedeutung des metrischen Werts interpretieren. Damit Metriken überhaupt aussagekräftig sind, 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 Kennzahlen nicht bewusst sind. Microsoft hat das Sammeln von Metriken sehr einfach gemacht, aber es liegt an Ihnen, sicherzustellen, dass sie erfasst werden. Diese Messwerte werden nur 41 Tage lang gespeichert und verschwinden am 42. Tag. Daher sollten Sie je nach den Eigenschaften Ihrer externen oder internen Geräte darauf achten, wie Sie Metriken länger als 41 Tage speichern – in Form von Protokollen, Protokollen usw. Daher sollten Sie sie nach der Erfassung an einem Ort platzieren, der es Ihnen ermöglicht, bei Bedarf alle Statistiken zu Änderungen in den Metrikergebnissen abzurufen. Sobald Sie sie dort platziert haben, können Sie effektiv mit ihnen arbeiten.

Erst nachdem Sie die Kennzahlen erhalten, interpretiert und erfasst haben, können Sie ein SLA (Service Level Agreement) erstellen. Dieses SLA ist für Ihre Kunden möglicherweise nicht von großer Bedeutung; für Ihre Kollegen, Manager und diejenigen, die das System warten und sich um seine Funktionalität sorgen, ist es wichtiger. Die Metrik kann die Anzahl der Tickets messen – Sie erhalten beispielsweise 5 Tickets pro Tag, und in diesem Fall zeigt sie die Reaktionsgeschwindigkeit auf Benutzeranfragen und die Geschwindigkeit der Fehlerbehebung. Eine Metrik sollte nicht nur sagen, dass Ihre Website in 20 ms geladen wird oder Ihre Reaktionsgeschwindigkeit 20 ms beträgt, eine Metrik ist mehr als nur ein technischer Indikator.

Daher besteht die Aufgabe unseres Gesprächs darin, Ihnen ein detailliertes Bild des Wesens von Metriken zu vermitteln. Die Metrik dient dazu, dass Sie sich durch ihre Betrachtung ein vollständiges Bild des Prozesses verschaffen können.

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

Sobald wir die Metrik haben, können wir zu 99 % garantieren, dass das System funktioniert, da nicht nur der Blick auf eine Protokolldatei besagt, dass das System funktioniert. Eine Verfügbarkeitsgarantie von 99 % bedeutet beispielsweise, dass die API in 99 % der Fälle mit einer normalen Geschwindigkeit von 30 ms reagiert. Genau das interessiert Ihre Benutzer, Ihre Kollegen und Manager. Viele unserer Kunden überwachen Webserver-Protokolle, bemerken jedoch keine Fehler darin und denken, dass alles in Ordnung ist. Sie sehen zum Beispiel eine Netzwerkgeschwindigkeit von 200 Mbit/s und denken: „Okay, alles super!“ Um diese 200 zu erreichen, benötigen Benutzer jedoch eine Reaktionsgeschwindigkeit von 30 Millisekunden, und genau dieser Indikator wird nicht gemessen und nicht in Protokolldateien erfasst. Gleichzeitig sind Benutzer überrascht, dass die Website sehr langsam lädt, da sie nicht über die erforderlichen Metriken verfügen und die Gründe für dieses Verhalten nicht kennen.

Aber da wir ein SLA mit 100 % Betriebszeit haben, beschweren sich die Kunden, weil die Website tatsächlich sehr schwierig zu nutzen ist. Um ein objektives SLA zu erstellen, ist es daher notwendig, das vollständige Bild des Prozesses zu sehen, das durch die gesammelten Metriken erstellt wird. Dies ist ein anhaltendes Problem, das ich bei einigen Anbietern habe, die bei der Erstellung von SLAs keine Ahnung haben, was der Begriff „Verfügbarkeit“ bedeutet, und in den meisten Fällen ihren Kunden nicht erklären, wie ihre API funktioniert.

Wenn Sie einen Dienst erstellt haben, beispielsweise eine API für eine dritte Person, sollten Sie verstehen, was die resultierende Metrik von 39,5 bedeutet – Antwort, erfolgreiche Antwort, Antwort mit 20-ms-Geschwindigkeit oder mit 5-ms-Geschwindigkeit. Es liegt an Ihnen, ihr SLA an Ihr eigenes SLA und Ihre eigenen Kennzahlen anzupassen.

Sobald Sie das alles herausgefunden haben, können Sie mit der Erstellung eines beeindruckenden Dashboards beginnen. Sagen Sie mir, hat jemand bereits die interaktive Visualisierungsanwendung Grafana verwendet? Großartig! Ich bin ein großer Fan dieser Open-Source-Software, weil sie kostenlos und einfach zu verwenden ist.

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

Wenn Sie Grafana noch nicht verwendet haben, erkläre ich Ihnen, wie Sie damit arbeiten. Erinnert sich wahrscheinlich jemand, der in den 80er und 90er Jahren geboren wurde, an CareBears? Ich weiß nicht, wie beliebt diese Bären in Russland waren, aber wenn es um Kennzahlen geht, sollten wir die gleichen „Care Bears“ sein. Wie gesagt, Sie benötigen einen umfassenden Überblick über die Funktionsweise des gesamten Systems und es sollte sich nicht nur um Ihre API, Ihre Website oder den Dienst handeln, der in einer virtuellen Maschine ausgeführt wird.

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

Sie müssen die Sammlung derjenigen Metriken organisieren, die den Betrieb des gesamten Systems am besten widerspiegeln. Die meisten von Ihnen sind Softwareentwickler, daher verändert sich Ihr Leben ständig und passt sich neuen Produktanforderungen an. Und genau wie Sie sich mit Codierungsprozessen befassen, sollten Sie sich auch mit Metriken befassen. Sie müssen wissen, wie sich die Metrik auf jede von Ihnen geschriebene Codezeile bezieht. Sie starten beispielsweise nächste Woche eine neue Marketingkampagne und erwarten, dass viele Benutzer Ihre Website besuchen. Um dieses Ereignis zu analysieren, benötigen Sie Metriken und möglicherweise ein komplettes Dashboard, um die Aktivität dieser Personen zu verfolgen. Sie benötigen Kennzahlen, um zu verstehen, wie erfolgreich Ihre Marketingkampagne ist und wie sie tatsächlich funktioniert. Sie helfen Ihnen beispielsweise bei der Entwicklung eines effektiven CRM – Customer Relationship Management Systems.

Beginnen wir also mit unserem Azure-Cloud-Dienst. Es ist sehr einfach, die Sammlung von Metriken zu finden und zu organisieren, da Azure Monitor vorhanden ist. Dieser Monitor zentralisiert die Verwaltung Ihrer Systemkonfiguration. Für jedes Azure-Element, das Sie auf Ihr System anwenden möchten, sind viele Metriken standardmäßig aktiviert. Dies ist eine kostenlose Anwendung, die sofort einsatzbereit ist und keine Voreinstellungen erfordert; Sie müssen nichts an Ihr System schreiben oder „schrauben“. Wir werden dies überprüfen, indem wir uns die folgende Demo ansehen.

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

Darüber hinaus ist es möglich, diese Metriken an Anwendungen von Drittanbietern zu senden, beispielsweise an das Protokollspeicher- und -analysesystem Splunk, die cloudbasierte Protokollverwaltungsanwendung SumoLogic, das Protokollverarbeitungstool ELK und IBM Radar. Zwar gibt es geringfügige Unterschiede, die von den von Ihnen verwendeten Ressourcen abhängen – einer virtuellen Maschine, Netzwerkdiensten, Azure SQL-Datenbanken – das heißt, die Verwendung von Metriken unterscheidet sich je nach den Funktionen Ihrer Arbeitsumgebung. Ich möchte nicht sagen, dass diese Unterschiede gravierend sind, aber leider sind sie immer noch vorhanden, und das sollte berücksichtigt werden. Das Aktivieren und Senden von Metriken ist auf verschiedene Arten möglich: über Portal, CLI/Power Shell oder mithilfe von ARM-Vorlagen.

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

Bevor ich mit meiner ersten Demo beginne, beantworte ich alle Ihre Fragen. Wenn es keine Fragen gibt, fangen wir an. Der Bildschirm zeigt, wie die Azure Monitor-Seite aussieht. Kann einer von euch sagen, dass dieser Monitor nicht funktioniert?

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

Jetzt ist also alles in Ordnung, Sie können sehen, wie die Monitordienste aussehen. Ich kann sagen, dass dies ein hervorragendes und sehr einfaches Werkzeug für die tägliche Arbeit ist. Es kann zur Überwachung von Anwendungen, Netzwerken und Infrastruktur verwendet werden. Kürzlich wurde die Überwachungsschnittstelle verbessert, und wenn sich Dienste zuvor an verschiedenen Orten befanden, werden jetzt alle Informationen zu Diensten auf der Startseite des Monitors zusammengefasst.

Die Metriktabelle ist eine Registerkarte entlang des HomeMonitorMetrics-Pfads, zu der Sie alle verfügbaren Metriken anzeigen und die benötigten auswählen können. Wenn Sie jedoch die Erfassung von Metriken aktivieren müssen, müssen Sie den Verzeichnispfad der HomeMonitorDiagnostic-Einstellungen verwenden und die Kontrollkästchen „Aktiviert/Deaktiviert“ für Metriken aktivieren. Standardmäßig sind fast alle Metriken aktiviert. Wenn Sie jedoch noch etwas anderes aktivieren müssen, müssen Sie den Diagnosestatus von „Deaktiviert“ in „Aktiviert“ ändern.

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

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

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

Log Analytics ähnelt Splunk ein wenig, kostet aber weniger. Mit diesem Dienst können Sie alle Ihre Metriken, Protokolle und alles andere, was Sie benötigen, sammeln und im Log Analytics-Arbeitsbereich platzieren. Der Dienst verwendet eine spezielle KQL-Abfrageverarbeitungssprache – Kusto Quarry Language. Wir werden uns ihre Arbeit in der nächsten Demo ansehen. Vorerst möchte ich anmerken, dass Sie mit seiner Hilfe Abfragen zu Metriken, Protokollen, Begriffen, Trends, Mustern usw. erstellen können. und Dashboards erstellen.

Daher aktivieren wir das Kontrollkästchen „An Log Analytics senden“ und die Kontrollkästchen im Bereich „LOG“: DataPlaneRequests, MongoRequests und QueryRuntimeStatistics sowie unten im Bereich „METRIC“ das Kontrollkästchen „Anfragen“. Anschließend vergeben wir einen Namen und speichern die Einstellungen. In der Befehlszeile stellt dies zwei Codezeilen dar. Übrigens ähnelt die Azure Cloud Shell in diesem Sinne Google, was Ihnen auch die Verwendung der Befehlszeile in Ihrem Webbrowser ermöglicht. AWS hat so etwas nicht, daher ist Azure in diesem Sinne viel praktischer.

Beispielsweise kann ich eine 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, auf die Verbindung zum Dienst warten und die Linux-Arbeitsumgebung erhalten, die Microsoft standardmäßig verwendet.

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

Als Nächstes verwende ich Bash, das in Azure Cloud Shell integriert ist. Eine sehr nützliche Sache ist die im Browser integrierte IDE, eine schlanke Version von VS Code. Als Nächstes kann ich auf meine Vorlage für Fehlermetriken zugreifen, sie bearbeiten und an meine Bedürfnisse anpassen.

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

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

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

Azure Monitor verarbeitet nur Metriken und liefert kein Gesamtbild des Zustands Ihres Systems. Möglicherweise führen Sie eine Reihe anderer Anwendungen außerhalb der Azure-Umgebung aus. Wenn Sie also alle Prozesse überwachen und alle gesammelten Metriken an einem Ort visualisieren müssen, ist Azure Monitor dafür nicht geeignet.

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

23:40 min

Demnächst geht es weiter...

Einige Anzeigen 🙂

Vielen Dank, dass Sie bei uns geblieben sind. Gefallen Ihnen unsere Artikel? Möchten Sie weitere interessante Inhalte sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder an Freunde weiterempfehlen. Cloud-VPS für Entwickler ab 4.99 $, 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 sich einen Server? (verfügbar mit RAID1 und RAID10, bis zu 24 Kerne und bis zu 40 GB DDR4).

Dell R730xd 2-mal günstiger im Equinix Tier IV-Rechenzentrum in Amsterdam? Nur hier 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 ab 199 $ in den Niederlanden! Dell R420 – 2x E5-2430 2.2 GHz 6C 128 GB DDR3 2 x 960 GB SSD 1 Gbit/s 100 TB – ab 99 $! Lesen über Wie baut man ein Infrastrukturunternehmen auf? Klasse mit dem Einsatz von Dell R730xd E5-2650 v4 Servern im Wert von 9000 Euro für einen Cent?

Source: habr.com

Kommentar hinzufügen