Advertisement
  1. Code
  2. New Relic

So nutzen Sie New Relic Insights, um mehr über Ihre Kunden zu erfahren

by
Read Time:23 minsLanguages:
This post is part of a series called Performance Monitoring With New Relic.
How to Monitor Docker-Based Applications Using New Relic
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

German (Deutsch) translation by Federicco Ancie (you can also view the original English article)

Von Tag zu Tag dreht sich ein Großteil der Arbeit eines Softwareunternehmens darum, Fragen zu stellen und zu beantworten und zu versuchen, auf deren Grundlage die richtigen Entscheidungen zu treffen.

Einige der Fragen sind technischer Natur, wie zum Beispiel "Welcher Webbrowser ist diese Woche der beliebteste Webbrowser bei unseren hochbezahlten Kunden?" Andere, wie "Was sind die beliebtesten Funktionen in unserer Anwendung?", leiten Sie bei der Planung, wo Ihre Entwicklerressourcen den größten Unterschied machen.

Manchmal gibt es keine richtige Antwort, aber meistens steht zwischen Ihnen und einer fundierten Entscheidung einfach der Mangel an Qualitätsdaten.

New Relic Insights ist ein Advanced Performance Analytics (APA)-Tool, das Ihnen bei der Beantwortung dieser (und vieler weiterer) geschäftsbezogenen Fragen helfen soll. Dazu kombiniert es Leistungskennzahlen mit relevanten Geschäfts- und Anwendungsparametern und stellt alles auf schöne Weise zum Abfragen, Kombinieren und Visualisieren bereit.

In der Vergangenheit wurden solche Recherchen durch komplexe Abfragen und Skripte unter Verwendung von Verlaufsdaten von Datenspezialisten durchgeführt. Mit Insights können Sie jetzt Transaktionen nahezu in Echtzeit analysieren, indem Sie echte Daten von tatsächlichen Besuchern verwenden.

In diesem Tutorial

Dieses Tutorial ist eine praktische Einführung in die Verwendung von New Relic Insights in einer realen Anwendungsumgebung. Der beste Weg, Insights zu erleben und zu lernen, besteht darin, es selbst auszuprobieren – und zu experimentieren. Anstatt also viel Zeit mit Theorie zu verbringen, springen wir direkt ein und erkunden das Tool Schritt für Schritt und lernen es dabei.

Wir beginnen mit einem kurzen Blick auf die Installation von New Relic Insights. Dann gehen wir in die Daten ein: wie man sie abfragt, wie man sie visualisiert und wie man ihren Code instrumentiert, um einige anwendungsspezifische Parameter zu übergeben. Schließlich werden wir das Gelernte anwenden und ein Kundensupport-Dashboard erstellen, mit dem Sie Probleme schnell erkennen und Ihren Kunden bei ihren Problemen mit Ihrer App helfen können.

Nach Abschluss des Tutorials werden Sie sich sicher fühlen, Daten in New Relic Insights zu erkunden und damit Dashboards zu erstellen, um Informationen zu präsentieren, die für die verschiedenen Stakeholder in Ihrem Unternehmen relevant sind, vom Management bis zum Engineering.

Ein grundlegendes Verständnis von Softwareentwicklung, PHP und SQL hilft Ihnen beim Durcharbeiten des Tutorials. Ich werde eine eigene Anwendung als Beispiel verwenden, aber das meiste von dem, was wir tun werden, gilt für so ziemlich jedes webbasierte Unternehmen. Um das Beste aus dem Tutorial herauszuholen, schlage ich vor, dass Sie eine eigene Anwendung auswählen und damit die Abfragen und Dashboard-Setups testen, während wir sie durchgehen.

Erste Schritte mit New Relic Insights

Schritt 1: Einrichten von New Relic Insights

Wenn Sie die Überwachungstools von New Relic bereits verwenden, ist der Einstieg in Insights einfach. Die Anwendung sammelt ihre Daten von anderen New Relic-Produkten wie APM und Browser, sodass keine weitere Installation erforderlich ist. Klicken Sie einfach auf den Menüpunkt Insights in der New Relic-Menüleiste und beginnen Sie damit, Ihre Daten zu erkunden.

Wenn Sie ein neuer Benutzer sind, registrieren Sie sich zunächst für ein New Relic-Benutzerkonto. Insights ist nicht als kostenlose Version erhältlich, aber die kostenlose 14-tägige Testphase ist großartig, um sich an der Nutzung zu versuchen.

Nachdem Sie Ihr Konto erstellt haben, müssen Sie das APM-Überwachungstool auf Ihrem Server installieren. Die Schritte zur Installation des Tools habe ich in einem früheren Tutorial zu New Relic Alerts ausführlich beschrieben. Befolgen Sie die Installationsanweisungen aus diesem Tutorial, und kehren Sie dann, während New Relic Informationen aus Ihrer Anwendung sammelt, zu diesem Tutorial zurück und fahren Sie mit dem nächsten Schritt fort.

Schritt 2: Führen Sie Ihre erste Abfrage aus

Das erste, was Sie sehen, wenn Sie New Relic Insights verwenden, ist die Abfrageseite.

Anfangs kann diese Seite mit einem Abfragefeld, das Sie oben auf der Seite anstarrt, etwas einschüchternd wirken. Wenn Sie jedoch wissen, wo Sie anfangen sollen, sind Sie in kürzester Zeit auf dem Laufenden.

The New Relic Insights welcome screenThe New Relic Insights welcome screenThe New Relic Insights welcome screen

Um Ihnen einen Überblick über die in Insights verfügbaren Daten zu geben, führen wir zunächst Ihre erste Abfrage aus.

Schreiben Sie in das Abfragefeld oben auf der Seite die folgende Abfrage:

Diese Abfrage zeigt Ihnen die Anzahl der PageView-Ereignisse, die in den letzten 24 Stunden aufgezeichnet wurden.

Wie Sie aus der obigen Abfrage sehen können, ist NRQL SQL sehr ähnlich, mit einigen Einschränkungen sowie einer Reihe von New Relic-spezifischen Funktionen und Schlüsselwörtern. Im Rest dieses Tutorials werden Sie einige verschiedene Abfragen sehen, aber wenn Sie zu irgendeinem Zeitpunkt die Besonderheiten der Abfragesprache nachschlagen müssen, können Sie auch einen Blick auf die NRQL-Referenz werfen.

Klicken Sie auf Ausführen, um die Abfrage auszuführen und ihre Ergebnisse anzuzeigen.

The response from your first NRQL queryThe response from your first NRQL queryThe response from your first NRQL query

Sie haben nun Ihre erste NRQL-Abfrage ausgeführt. Als Nächstes möchten Sie sich wahrscheinlich mit den Daten vertraut machen, die New Relic für Ihre Abfragen zur Verfügung stellt.

Eine Möglichkeit besteht darin, einfach zu versuchen, eine andere Abfrage zu schreiben. Das Abfragefeld wird mit automatischer Vervollständigung geliefert, sodass Sie auf diese Weise einfach herumstöbern und sehen können, welche Ergebnisse Ihre Abfragen ergeben.

Eine andere Möglichkeit besteht darin, die Rohdaten zu untersuchen.

Schritt 3: Erkunden Sie die Daten

Das Durchsuchen der in Insights gespeicherten Daten ist eine gute Möglichkeit, herauszufinden, welche Datenfelder für Ihre Abfragen verfügbar sind, und um ein Gesamtverständnis ihrer möglichen Werte zu erhalten.

Klicken Sie dazu im linken Seitenmenü auf Daten-Explorer.

Auf dem nächsten Bildschirm können Sie den Datentyp auswählen, den Sie durchsuchen möchten.

Select the event type to browse in the Data ExplorerSelect the event type to browse in the Data ExplorerSelect the event type to browse in the Data Explorer

Die Liste zeigt nur die Ereignistypen an, für die Daten in Ihrem Konto verfügbar sind, in diesem Fall Transaktion und PageView.

Hier ist eine vollständige Liste der von Insights bereitgestellten Ereignistypen:

  • Transaktion: Serverseitige Ereignisse, die von New Relic APM gesammelt wurden. In diesen Ereignissen finden Sie Informationen zu untergeordneten Funktionen wie HTTP-Antwortcodes und Datenbankabfragedauern.
  • PageView: Seitenladeereignisse, die von New Relic Browser gesammelt wurden. In dieser Ereignisgruppe finden Sie Informationen zur Erfahrung des Besuchers auf der Seite, beispielsweise zum verwendeten Webbrowser, zur Dauer des Besuchs usw.
  • PageAction: Eine benutzerdefinierte Gruppe von browserbezogenen Ereignissen, die Sie mit der Insights JavaScript API auffüllen können, um Ereignisse zu allen Aktionen zu senden, die der Benutzer auf der Seite ausführt (z. B. Klicken auf eine Schaltfläche, um einen Artikel in seinen Einkaufswagen hinzuzufügen).
  • Mobil: Ereignisse, die von Ihren mobilen Anwendungen erfasst werden, die mit New Relic Mobile überwacht werden.
  • SyntheticCheck und SyntheticRequest: Vom Synthetics-Tool gesendete Verfügbarkeitstestereignisse, die Informationen zur Verfügbarkeit Ihrer Dienste anzeigen.

Da viele dieser Ereignistypen von fortgeschritteneren New Relic-Funktionen abhängen, werden wir sie in diesem Tutorial nicht untersuchen. Stattdessen fahren wir mit den ersten beiden fort: Transaction und PageView.

Klicken Sie auf Seitenansicht.

Der PageView Explorer zeigt Ihnen eine Liste der letzten PageView-Ereignisse Ihrer Anwendung an. Jede Zeile repräsentiert den einzelnen Seitenaufruf eines tatsächlichen Benutzers. Denken Sie daran, die Seite nach rechts zu scrollen; es sei denn, Sie haben einen sehr großen Bildschirm, werden Sie feststellen, dass mehr Felder verfügbar sind, als gleichzeitig auf den Bildschirm passen.

Exploring PageView eventsExploring PageView eventsExploring PageView events

Sehen Sie sich auch die Transaktionsdaten an.

Lassen Sie uns dann, ausgestattet mit einem allgemeinen Verständnis der in Insights verfügbaren Daten, das Tool verwenden, um ein effektives Dashboard für den einfachen Zugriff auf Informationen zu erstellen, die die Arbeit Ihres Kundensupports schneller und einfacher machen.

Erstellen Ihres ersten Dashboards

Wenn Sie einen Fehlerbericht oder eine Hilfeanfrage von einem Kunden erhalten, müssen Sie in den meisten Fällen zuerst nach weiteren Informationen fragen. Der verwendete Browser, mögliche Fehlermeldungen und die zum Fehler führenden Aktionen sind Puzzleteile, an die Nutzer nur selten in ihre E-Mails denken.

Mithilfe von New Relic Insights können Sie die Daten von Ihrem Server verwenden, um diesen Schritt zu überspringen und ein besseres Kundenerlebnis zu bieten, während Ihre Arbeit als Entwickler weniger frustrierend ist!

Im Rest des Tutorials erstellen wir ein einfaches Kundensupport-Dashboard, mit dem Sie genau das tun können, ohne in Serverprotokollen zu suchen.

Schritt 1: Erstellen Sie ein neues Dashboard

Ein Dashboard in Insights ist eine Sammlung von Widgets – oder Diagrammen –, die maßgeschneiderte Informationen über die Leistung Ihrer Anwendung, die Aktionen Ihrer Benutzer oder eine Kombination davon anzeigen. Deren Erstellung erfordert ein gewisses Verständnis der zugrunde liegenden Technologie, aber sobald sie fertig sind, können sie leicht von Nicht-Technikern wie Managern verwendet werden, um die Metriken des Produkts zu untersuchen.

Für komplexere Sammlungen von Diagrammen und Widgets können Sie eine Daten-App erstellen, eine Sammlung von Dashboards, die miteinander verknüpft sind, um eine anwendungsähnliche Erfahrung zu schaffen.

Ein Kundensupport-Dashboard wird wahrscheinlich in Zukunft wachsen, wenn Sie ihm immer mehr Elemente hinzufügen. Um sich darauf vorzubereiten, ist es eine gute Idee, das Dashboard direkt in einem zu erstellen.

Klicken Sie zunächst im linken Seitenmenü auf Daten-Apps. Da Sie noch keine Daten-App konfiguriert haben, sehen Sie den folgenden Bildschirm:

Create a Data AppCreate a Data AppCreate a Data App

Klicken Sie auf Daten-App erstellen, um Ihre Daten-App zu erstellen.

In der Mitte der Seite öffnet sich ein Popup zur Eingabe der App-Informationen:

Enter Data App settingsEnter Data App settingsEnter Data App settings

Geben Sie die Informationen zu Ihrer neuen App ein: Symbol, Titel (zum Beispiel "Kundensupport") und Beschreibung.

Denken Sie daran, dass dies die oberste Ebene ist: Innerhalb der App können Sie eine beliebige Anzahl von Dashboards erstellen. Sie können diese Einstellungen auch später bearbeiten, also machen Sie sich an dieser Stelle nicht zu viele Gedanken.

Nachdem Sie die Datenfelder ausgefüllt haben, klicken Sie auf Erstellen.

Sie haben nun eine App erstellt. Insights fügte ihm auch automatisch ein leeres Dashboard hinzu. Geben Sie dem Dashboard einen Namen (z. B. "Übersicht"), indem Sie das Textfeld auf der linken Seite bearbeiten, das jetzt Unbenannt lautet. Sie können auch ein beschreibendes Symbol aus der Dropdown-Liste auf der linken Seite auswählen, wenn Sie möchten.

Your new Data App is still emptyYour new Data App is still emptyYour new Data App is still empty

Das Dashboard sieht leer aus, also fügen wir einige Inhalte hinzu.

Schritt 2: Fügen Sie Ihr erstes Dashboard-Widget hinzu

Das Füllen eines neuen Dashboards mit nützlichen Informationen über Benutzer und ihr Verhalten bei der Interaktion mit Ihren Anwendungen beginnt mit dem Schreiben einer NRQL-Abfrage. Fragen Sie sich, was Sie (oder die Person, die dieses Dashboard verwendet) über die Leistung der Anwendung wissen möchten. Schreiben Sie dann eine Abfrage, um diese Informationen zu sammeln.

Beginnen wir mit einer Aufschlüsselung der von Ihren Besuchern verwendeten Webbrowser.

Geben Sie die folgende Abfrage in das Abfragefeld oben auf der Seite ein:

Diese Abfrage:

  1. Zählt die Anzahl der eindeutigen Sitzungen. session ist das Attribut für den New Relic-Sitzungsschlüssel eines Benutzers, der so lange gültig ist, bis der Benutzer das Browserfenster schließt. uniqueCount ist eine NRQL-Funktion, die verwendet werden kann, um die Anzahl der für ein Attribut aufgezeichneten eindeutigen Werte abzurufen.
  2. Gruppiert die Sitzungen nach dem verwendeten Webbrowser. Dies geschieht mit dem Schlüsselwort FACET, das nur einen Parameter verwendet, den Namen des Attributs, nach dem die Daten gruppiert werden sollen (userAgentName).
  3. Beschränkt die Abfrage auf Daten, die in der letzten Woche gesammelt wurden. Das Schlüsselwort SINCE definiert den Beginn eines Zeitbereichs und akzeptiert das angegebene Datum in einer Vielzahl unterschiedlicher Formate, beispielsweise vor 5 minutes ago, vor 6 hours ago oder YESTERDAY.

Klicken Sie auf Ausführen, um die Abfrage auszuführen. Die Ergebnisse werden direkt unter dem Abfragefeld angezeigt:

The results from the first queryThe results from the first queryThe results from the first query

Dies ähnelt immer noch dem, was wir auf der Titelseite gesehen haben, als wir unsere erste Abfrage ausgeführt haben. Jetzt speichern wir die Abfrage jedoch im Dashboard, um uns die Mühe zu ersparen, die Abfrage jedes Mal manuell auszuführen, wenn wir ihre Ergebnisse wissen möchten.

Oben in den Ergebnissen finden Sie drei Registerkarten zum Auswählen der Präsentation für die Ergebnisse.

Klicken Sie auf den zweiten, um die Browseraufteilung als Balkendiagramm anzuzeigen.

A more informative visualization of the browser breakdownA more informative visualization of the browser breakdownA more informative visualization of the browser breakdown

Geben Sie einen Titel für das Diagramm und eine Beschreibung in das Feld Anmerkungen ein, wenn Sie möchten.

Klicken Sie dann auf Zu diesem Dashboard hinzufügen.

The first widget is now in place on the dashboardThe first widget is now in place on the dashboardThe first widget is now in place on the dashboard

Da ist es, das erste Widget auf diesem Dashboard.

Sie können die Größe des Widgets ändern, indem Sie es aus dem blauen Dreieck in der unteren rechten Ecke des Felds ziehen, oder es durch Ziehen und Ablegen auf der Leinwand verschieben.

Schritt 3: Fügen Sie weitere Dashboard-Widgets hinzu

Wir werden uns bald eingehender mit Ihrer Anwendung befassen und einige anwendungsspezifische Daten in unser Insights-Dashboard einbringen. Aber bevor wir dorthin gehen, lassen Sie uns noch etwas mit den Daten spielen, die wir haben, und ein paar zusätzliche Dashboard-Widgets hinzufügen.

In der oberen rechten Ecke des soeben hinzugefügten Browser-Aufschlüsselungs-Widgets finden Sie drei Symbole.

Widget optionsWidget optionsWidget options

Klicken Sie auf den mittleren, um die Abfrage des Widgets zur Bearbeitung zu öffnen.

Neben der Bearbeitung der Abfrage eines Widgets ist dies eine gute Möglichkeit, von einer Abfrage zu ihrer natürlichen Folge zu gelangen. Da Sie jetzt beispielsweise wissen, dass Safari der beliebteste Browser unter den Besuchern der Website ist, möchten Sie vielleicht einen Blick darauf werfen, welche Browserversion die Besucher verwenden.

Um diese Informationen abzurufen, bearbeiten Sie die NRQL-Abfrage:

In dieser Abfrage werden die Ergebnisse nicht nach dem Namen des Browsers (userAgentName) gruppiert (FACET), sondern nach der Browserversion (userAgentVersion).

Wir haben auch eine SQL-ähnliche WHERE-Klausel hinzugefügt, um die Daten so zu filtern, dass nur Ereignisse eingeschlossen werden, bei denen der Benutzeragent Safari ist.

Klicken Sie auf Ausführen, um die Ergebnisse anzuzeigen.

An edited version of the browser breakdown queryAn edited version of the browser breakdown queryAn edited version of the browser breakdown query

Wenn Sie das vorhandene Widget bearbeiten, klicken Sie jetzt auf Änderungen speichern, um die Änderungen an der Abfrage zu übernehmen.

Tun Sie das dieses Mal jedoch nicht.

Bearbeiten Sie stattdessen den Namen und die Notizen. Klicken Sie dann auf Kopie hinzufügen zu. Wählen Sie im angezeigten Dropdown-Menü Aktuelles Dashboard aus, um die Ergebnisse als neues Widget auf dem aktuellen Dashboard zu speichern.

Remember to save a copy so you dont replace the existing widgetRemember to save a copy so you dont replace the existing widgetRemember to save a copy so you dont replace the existing widget

Wie Sie an den obigen Beispielen sehen, ist das Erstellen eines Dashboards ein bisschen wie das Schürfen von Gold: Wenn Sie eine Abfrage ausführen, werden Sie etwas Interessantes finden, das zu einer neuen Frage führt, die in Ihrem Kopf auftaucht. Dann schreiben Sie eine Abfrage dafür, die Sie wieder zu einigen neuen Ideen führt.

Möglicherweise landen nicht alle Ihre Abfragen im Dashboard, und Sie können einige nach einer Weile entfernen, aber sie alle geben Ihnen neue Ideen zur Verwendung Ihrer App.

Hier sind einige weitere Abfragen zum Ausprobieren und Spielen:

Betriebssysteme

Diese Abfrage zählt die Sitzungen der Besucher und gruppiert sie nach dem verwendeten Betriebssystem.

Gerätetyp

Diese Abfrage zählt die Sitzungen der Besucher und gruppiert sie nach dem verwendeten Gerätetyp (Mobilgerät/Desktop).

Besucherländer

Diese Abfrage zählt die Sitzungen der Besucher und gruppiert sie nach dem Land, von dem aus sie auf Ihre Website zugreifen.

Beliebteste Seiten

Diese Abfrage listet die beliebtesten Seiten Ihrer Website auf. Beachten Sie, dass wir dieses Mal count(*) anstelle von uniqueCount(session) verwenden, da selbst der erneute Besuch derselben Seite durch denselben Besucher ein interessantes Nugget an Informationen ist.

Seitenaufrufe pro Sitzung

Als ich die Daten meiner Abfragen untersuchte, dachte ich über die Surfmuster von Mobil- und Desktop-Benutzern nach und ob sie sich voneinander unterscheiden. Also habe ich diese Abfrage erstellt.

Die Abfrage berechnet den Anteil der Seitenaufrufe pro Sitzung und nennt ihn "Page Views Per Session". Dann gruppiert es sie nach Gerätetyp (deviceType) für den Vergleich, den ich im Sinn hatte.

Aktuelle Fehler

Diese Abfrage erstellt eine einfache Liste von Fehlermeldungen und -typen, die kürzlich auf Ihrem Server aufgetreten sind. Wenn die Abfrage eine leere Liste zurückgibt, gut für Sie! Wenn nicht, haben Sie etwas zum Beheben gefunden.

HTTP-Antwortcodes

Diese Abfrage zählt die Transaktionen und gruppiert sie nach HTTP-Antwortcode.

Wenn Sie mit Ihrem Dashboard fertig sind, klicken Sie oben rechts auf der Seite auf die Schaltfläche Bearbeitung abgeschlossen.

Nachdem Sie diese Abfragen als Widgets hinzugefügt haben (und das Safari-Versions-Widget entfernt haben), sieht mein Dashboard wie folgt aus:

A basic Overview dashboard for a customer support Data AppA basic Overview dashboard for a customer support Data AppA basic Overview dashboard for a customer support Data App

Schritt 4: Fügen Sie einen Filter hinzu, um die Daten besser zu analysieren

Nehmen wir an, Sie fragen sich beim Betrachten des Widgets Seitenaufrufe pro Sitzung, ob es noch mehr Unterschiede in der Wahrnehmung Ihrer Website durch Desktop- und Mobile-Besucher gibt.

Für jeden Vergleich eine separate Abfrage zu erstellen, wäre viel Arbeit und würde nur zu einem überladenen Dashboard führen, das Informationen anzeigt, die Sie nur gelegentlich benötigen. Hier kommt die Funktionalität von New Relic Insights zum Filtern der Dashboard-Daten zum Einsatz.

Versuchen wir es.

Klicken Sie oben rechts auf die Schaltfläche Bearbeiten, um zum Bearbeitungsmodus zurückzukehren. Direkt über den Diagrammen wird ein Element angezeigt, das besagt, dass Filter deaktiviert ist.

Filter disabledFilter disabledFilter disabled

Klicken Sie auf das Zahnradsymbol, um Ihren Filter zu konfigurieren.

Im angezeigten Menü:

  1. Aktivieren Sie das Optionsfeld Filter aktivieren.
  2. Wählen Sie in der Dropdown-Liste Ereignistypen die Option PageView aus. Hier werden die Geräteinformationen gespeichert.
  3. Wählen Sie in der Dropdown-Liste Attributes deviceType als Attribut aus, das zum Filtern der Daten verwendet werden soll.
Enable filtering by deviceTypeEnable filtering by deviceTypeEnable filtering by deviceType

In den Dropdown-Listen Ereignistypen und Attribute können Sie mehrere Optionen auswählen. Wenn Sie also zu irgendeinem Zeitpunkt Ihrem Dashboard weitere Filter hinzufügen möchten, können Sie dies tun, indem Sie einfach weitere Attribute auswählen.

Klicken Sie nun auf die Schaltfläche Bearbeitung abgeschlossen, um die Daten zu durchsuchen und den Filter zu testen.

Oben auf der Seite sehen Sie nun ein Suchfeld mit der Aufschrift Gerätetyp suchen. Klicken Sie auf das Kästchen und wählen Sie die Option Mobil.

Untersuchen Sie dann die Daten, um festzustellen, ob Sie Unterschiede zwischen mobilen und Desktop-Benutzern feststellen. In meinen Daten erklärt zum Beispiel die mobile Nutzung – die meisten davon auf Apple-Geräten – den hohen Prozentsatz von Safari-Nutzern: Auf Desktop-Computern ist Google Chrome viel beliebter.

Dashboard filtered to only show mobile usersDashboard filtered to only show mobile usersDashboard filtered to only show mobile users

Anwendungsspezifische Parameter zu Ihren Transaktionsdaten hinzufügen

Bisher haben wir in diesem Tutorial mit Standarddaten gearbeitet, die von den Browser- und APM-Tools bereitgestellt werden. Mit diesen Daten haben wir ein Übersichts-Dashboard erstellt, das uns nützliche Informationen über die gesamte Anwendung gibt.

Wenn es jedoch darum geht, Daten zu finden, die Ihnen helfen, die Kundensupportfragen eines bestimmten Benutzers zu beantworten, reicht dies nicht ganz aus. Um einen Drilldown in die Daten eines bestimmten Benutzers durchführen zu können, fahren wir nun damit fort, dass die überwachte Anwendung einige anwendungsspezifische Parameter an Insights weitergibt.

Die in diesem Tutorial als Beispiel verwendete Anwendung ist eine mit WordPress betriebene E-Commerce-Site. Die Instrumentierung ist jedoch sehr einfach, und Sie können die Idee auf so ziemlich jede Art von eigener Anwendung anwenden.

Schritt 1: Benutzerinformationen zu Transaktionsereignissen hinzufügen

Die New Relic PHP Agent API bietet eine Reihe von Funktionen zum Bearbeiten der Daten, die für die Verwendung in Insights und den anderen New Relic-Tools gespeichert werden.

Jetzt konzentrieren wir uns auf einen davon, newrelic_add_custom_parameter, der verwendet werden kann, um Ihren Transaktionsereignissen einen benutzerdefinierten Parameter hinzuzufügen. Wenn Sie eine andere Programmiersprache verwenden, finden Sie in der New Relic-Dokumentation die zu verwendende Funktion.

Die Funktion benötigt zwei Parameter: einen string-Schlüssel und einen Wert, der vom Typ string oder float sein kann.

Lassen Sie uns nun eine Funktion zum Einfügen einiger Daten über den Benutzer erstellen.

Fügen Sie den unten stehenden Code der Codebasis Ihrer Anwendung an einer Stelle hinzu, an der er bei jeder Anforderung einfach aufgerufen werden kann. In einer WordPress-basierten Anwendung wäre dies in einem Plugin.

In Zeile 7 prüft die Funktion zunächst, ob die New Relic-Erweiterung geladen wurde. Wenn dann die Berichtsfunktionen verfügbar sind, wird es mit dem Hinzufügen einiger Parameter unter Verwendung des standardmäßigen WordPress-Benutzerobjekts WP_User fortgesetzt:

  • email: Die E-Mail-Adresse ist oft der einfachste Weg, einen bestimmten Benutzer zu identifizieren. Bei der Arbeit mit E-Mails müssen Sie jedoch darauf achten, dass die Informationen sicher bleiben.
  • user_id: Wenn Sie mit der Verwendung von E-Mail-Adressen zur Identifizierung Ihrer Benutzer in Insights nicht vertraut sind, ist die numerische Benutzer-ID eine weitere Option. Das Herausfinden der Benutzer-ID vor dem Nachschlagen der Daten ist jedoch ein zusätzlicher Schritt...
  • member_since: Der Zeitpunkt, an dem sich ein Benutzer registriert hat, wird zwar nicht zur Identifizierung eines Benutzers benötigt, kann jedoch interessante Daten für zukünftige Abfragen zum Verhalten Ihrer Benutzer sein.
  • request_uri: Standardmäßig haben die Transaktionsdaten keinen Parameter zum Ermitteln der Seite, auf die zugegriffen wurde. Also habe ich beschlossen, einen hinzuzufügen, um Seiten mit 404-Fehlern abzufragen.

Wenn die Funktion vorhanden ist, müssen Sie sie als Nächstes aufrufen. Stellen Sie sicher, dass Sie die Funktion früh genug aufrufen, damit alle Ihre Transaktionsereignisse die soeben hinzugefügten Benutzerinformationen enthalten.

In einem WordPress-Plugin ist dies der beste Weg, die Funktion an eine Aktion wie init anzuhängen, die früh aufgerufen wird – aber erst, nachdem die Benutzerdaten initialisiert wurden.

Fügen Sie dazu den folgenden Code direkt unter der Funktion hinzu:

Schritt 2: Übergeben Sie die benutzerdefinierten Daten an den New Relic Browser

Sie haben Ihren Transaktionsereignissen jetzt einige benutzerdefinierte Parameter hinzugefügt.

Da die meisten unserer Dashboard-Widgets jedoch auf Abfragen von PageView-Ereignissen basieren, müssen Sie ihnen diese Informationen zur Verfügung stellen, um sie nützlicher zu machen. Dazu müssen Sie die Einstellungen des PHP-Agenten konfigurieren.

Suchen Sie zunächst die New Relic-Konfigurationsdatei newrelic.ini auf Ihrem Server. Der genaue Speicherort hängt von Ihrer PHP-Installation ab. Auf meinem Amazon Linux-Server habe ich die Datei unter /etc/php-5.5.d/newrelic.ini gefunden.

Suchen Sie in der Konfigurationsdatei die Zeile, die wie folgt aussieht:

Ersetzen Sie es durch Folgendes:

Speichern Sie dann Ihre Änderungen und starten Sie Ihren Webserver neu.

Ihre Transaktionsattribute sind jetzt auch automatisch in den PageView-Ereignissen enthalten, die von New Relic Browser gesammelt werden. Die zusätzlichen Daten werden nur in Ereignissen verfügbar sein, die nach den Änderungen gesammelt wurden, daher müssen Sie New Relic etwas Zeit geben, um einige Ereignisse zu sammeln, bevor Sie fortfahren.

Schritt 3: Fügen Sie ein neues Kundensupport-Widget mithilfe der hinzugefügten Attribute hinzu

Da nun die Ereignisse Transaction und PageView die benutzerdefinierten Variablen mit Benutzerinformationen enthalten, können wir neue, noch interessantere Abfragen erstellen.

Da dies ein von uns erstelltes Kundensupport-Dashboard ist, beginnen wir mit einer Liste von Serverfehlern, gruppiert nach der E-Mail-Adresse des angemeldeten Benutzers.

Geben Sie die folgende Abfrage in das Abfragefeld ein:

Ähnlich wie bei der zuvor erstellten Gesamtliste der PHP-Fehler zählt die Abfrage die Transaktionsereignisse, bei denen errorType festgelegt ist, und gruppiert sie nach der E-Mail-Adresse (email) des angemeldeten Benutzers.

Klicken Sie auf Ausführen, um die Abfrage zu testen (wahrscheinlich erhalten Sie eine leere Liste). Geben Sie dann dem Widget einen Namen und fügen Sie es Ihrem Übersichts-Dashboard hinzu.

A widget for listing users who have experienced server errorsA widget for listing users who have experienced server errorsA widget for listing users who have experienced server errors

Wenn Sie möchten, können Sie jetzt das Widget testen, indem Sie Ihren Servercode für kurze Zeit knacken und als angemeldeter Benutzer die Seite mit dem Fehler besuchen.

Die Ergebnisse sollten ungefähr so ​​aussehen:

A user was affected by the errorA user was affected by the errorA user was affected by the error

Wenn ein angemeldeter Kunde nun mit einem Serverfehler konfrontiert wird, können Sie dies anhand dieser Liste feststellen und können dann die E-Mail-Adresse verwenden, um weitere Informationen zu erhalten.

Schritt 4: Erstellen Sie ein Dashboard zum Anzeigen eines bestimmten Benutzers

Da wir nun die E-Mail-Adresse des Benutzers kennen, können wir sie verwenden, um die Daten des Dashboards auf die gleiche Weise zu filtern, wie wir es zuvor im Tutorial mit deviceType getan haben.

Edit filter to allow filtering by email addressEdit filter to allow filtering by email addressEdit filter to allow filtering by email address

Dies ist jedoch nicht optimal, da die Daten, die wir für einen bestimmten Benutzer anzeigen möchten, nicht unbedingt mit denen übereinstimmen, die im Übersichts-Dashboard angezeigt werden.

Wie ich bereits im Tutorial erwähnt habe, besteht eine Daten-App aus mehreren Dashboards, die miteinander verknüpft werden können. Lassen Sie uns also ein zweites Dashboard erstellen, um die Daten eines einzelnen Kunden anzuzeigen, und das Widget Benutzer mit Serverfehlern damit verknüpfen.

Klicken Sie zunächst im Bearbeitungsmodus auf die Schaltfläche +Hinzufügen oben im Dashboard-Fenster, um ein neues Dashboard zu erstellen.

Add a new dashboardAdd a new dashboardAdd a new dashboard

Benennen Sie das neue Dashboard Angemeldete Benutzerdetails. Klicken Sie dann auf Bearbeitung abgeschlossen und kehren Sie zum Übersichts-Dashboard zurück.

Wechseln Sie in den Bearbeitungsmodus und klicken Sie dann auf das Linksymbol oben im Widget Benutzer mit Serverfehlern.

Click the icon marked with the blue arrowClick the icon marked with the blue arrowClick the icon marked with the blue arrow

Es öffnet sich ein Popup zur Auswahl eines Dashboards. Klicken Sie auf Ziel-Dashboard auswählen und wählen Sie dann das soeben erstellte Dashboard Angemeldete Benutzerdetails aus der Dropdown-Liste aus.

Link to dashboardLink to dashboardLink to dashboard

Klicken Sie dann auf die Schaltfläche Link und Filter aktualisieren, um Ihre Änderungen zu speichern.

Klicken Sie auf Bearbeitung abgeschlossen und kehren Sie zum Widget Benutzer mit Serverfehlern zurück. Beachten Sie, dass die E-Mail-Adresse jetzt ein Link ist. Wenn Sie darauf klicken, gelangen Sie zum gerade erstellten Dashboard, das automatisch per E-Mail gefiltert wird.

Schritt 5: Einige Widgets zum Benutzerdetail-Dashboard hinzufügen

Sie haben nun einen Link aus der Liste der Benutzer mit Fehlern des Übersichts-Dashboards zu einem neuen Dashboard erstellt. Dieses Dashboard ist noch leer. Beginnen wir also mit der Erstellung, indem wir einige Widgets hinzufügen, die uns helfen, mehr über die Fehler und den Benutzer zu erfahren.

Aktuelle Fehler

Fügen Sie zunächst eine Kopie des Widgets Letzte Fehler auf der Registerkarte Übersicht hinzu.

Wechseln Sie dazu auf der Registerkarte Übersicht in den Bearbeitungsmodus, scrollen Sie dann nach unten zum Widget und klicken Sie auf die Schaltfläche Bearbeiten. Scrollen Sie zurück zu den Abfrageergebnissen, klicken Sie dann auf Kopie hinzufügen zu... und wählen Sie im Dropdown-Menü das neu erstellte Dashboard aus.

Um die Daten für die Fehlerbehebung nützlicher zu machen, bearbeiten Sie die Abfrage, indem Sie request_uri hinzufügen. Die letzte Abfrage sieht so aus:

Hier ist die Ausgabe auf dem neuen Dashboard, wenn Sie durch Klicken auf meine E-Mail darauf zugreifen:

Errors filtered by the users email addressErrors filtered by the users email addressErrors filtered by the users email address

HTTP-Antwortcodes

Kopieren Sie auf die gleiche Weise, wie Sie die obige Fehlerliste kopiert haben, auch das Widget HTTP-Antwortcodes in das benutzerspezifische Dashboard.

Um mehr über die Anfragen mit Fehlern zu erfahren, fügen Sie dann mithilfe der folgenden Abfrage ein neues Widget hinzu:

Nachdem Sie die Widgets verschoben und ihre Größe geändert haben, sieht das Dashboard jetzt so aus:

The Signed In User Details dashboard shows information about errorsThe Signed In User Details dashboard shows information about errorsThe Signed In User Details dashboard shows information about errors

Browser- und Betriebssysteminformationen

Um diese erste Version des Kundensupport-Dashboards zu vervollständigen, fügen wir schließlich einige Informationen über den Webbrowser, den Gerätetyp und das Betriebssystem des Benutzers hinzu.

Für all diese Abfragen haben wir bereits Widgets im Übersichts-Dashboard erstellt, Sie müssen sie also nur noch in das neue Dashboard kopieren und ein Layout dafür entwerfen.

So etwas vielleicht?

The final Signed In User Details dashboardThe final Signed In User Details dashboardThe final Signed In User Details dashboard

Abschluss

Sie haben jetzt New Relic Insights verwendet, um ein einfaches, aber leistungsstarkes Kundensupport-Dashboard zu erstellen, mit dem Sie herausfinden können, was die Probleme Ihrer Kunden bei der Verwendung Ihrer Anwendung verursacht.

Dies ist jedoch erst der Anfang.

Die Möglichkeiten, das Dashboard mithilfe von Insights weiter zu verbessern, sind nahezu endlos, und der beste Weg, sie herauszufinden, besteht darin, es selbst auszuprobieren.

Hier sind einige Ideen, um Sie in Bewegung zu halten:

  • Wenn Ihre Anwendung Sitzungen für Besucher verwendet, senden Sie die Sitzungsschlüssel an New Relic, um Informationen über nicht angemeldete Benutzer zu erhalten.
  • Fügen Sie mehr Instrumentierung hinzu und machen Sie das Dashboard besser, um Ihre Anwendung und Ihr Geschäft zu berücksichtigen.
  • Importieren Sie mehr Ereignisse aus externen Diensten.
  • Erstellen Sie weitere Dashboards, um tiefer in einige andere Aspekte Ihrer Anwendung einzutauchen.

Jetzt können Sie tüfteln und die Erkenntnisse aus der Untersuchung der Daten Ihrer Anwendung nutzen, um Ihre Benutzer besser zu verstehen.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.