Advertisement
  1. Code
  2. Web Development

Beginnen Sie mit der Überwachung Ihrer Webanwendung mithilfe von New Relic Alerts

Scroll to top
Read Time: 32 min
This post is part of a series called Performance Monitoring With New Relic.
Diagnose WordPress Performance Problems With New Relic
How to Use New Relic Browser to Improve Your Web App's User Experience
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 Tatsiana Bochkareva (you can also view the original English article)

Einführung

Beginnen wir mit einem Extrembeispiel. Nach drei Jahren auf dem Markt ist das Tower-Defense-Hitspiel Clash of Clans nach Schätzungen der Analyseseite Think Gaming auch heute noch das umsatzstärkste Handyspiel und bringt erstaunliche 1,5 Millionen US-Dollar pro Tag ein – oder etwas mehr als 1.000 US-Dollar pro Minute. Das Herzstück des Spiels ist ein Cluster von Webservern, die sich um alles kümmern, von Benutzerkonten über Spielereignisse bis hin zur Zahlungsabwicklung.

Stellen Sie sich vor, das Team würde eines Tages einen neuen Build vorantreiben, der die Zahlungsabwicklung unterbricht.

Jede Minute, in der der Fehler unbemerkt blieb, würde einen Verlust von tausend Dollar bedeuten!

Stellen Sie sich nun vor, dieser Fehler ist nachts aufgetreten, als niemand bei der Arbeit war ...

Ihre Zahlen sind wahrscheinlich kleiner, aber das Grundkonzept bleibt gleich: Wenn Sie Ihren Lebensunterhalt mit dem Betrieb einer Webanwendung verdienen, bedeutet jedes Problem mit dem Dienst, sei es ein Fehler im Code oder ein Problem mit der Servereinrichtung, Umsatzeinbußen.

Schlimmer noch: Wenn der Fehler in einem Code auftritt, den Sie nicht jeden Tag testen, wie beispielsweise die Kommunikation zwischen Ihrem Warenkorb und einem externen Zahlungsanbieter, kann es Tage dauern, bis einer Ihrer Kunden Sie per E-Mail benachrichtigt zum Thema!

Hier kommt die Serverüberwachung ins Spiel. Es hilft zwar sicherlich, vor jedem Update eine gute Reihe von Tests durchzuführen, aber Sie können nie alles vorhersehen. Sie brauchen Augen im Inneren des Servers; Überwachungstools, mit denen Sie die wichtigsten Metriken sehen können, die den Zustand Ihres Servers beschreiben, von Serverfehlern bis hin zu langsamen Ladezeiten und Aufrufen externer Dienste, die länger dauern, als sie sollten.

Aber selbst Überwachung reicht nicht aus, wenn Sie viel auf dem Teller haben und vergessen, Ihre Statistiken zu überprüfen – oder wenn nachts Probleme auftreten, wenn Sie tief schlafen.

Darüber werden wir in diesem Tutorial sprechen.

In diesem Tutorial

Obwohl es verschiedene Optionen für Softwareanalyse- und Warntools gibt, bietet New Relic eine der umfassendsten Lösungen für die Analyse Ihrer Server.

New Relic hat vor kurzem eine offene Beta für ein neues Produkt namens New Relic Alerts gestartet – eine Ebene über den Überwachungstools, mit der Sie sich und Ihr Team über alle Ereignisse in Ihrer Anwendung auf dem Laufenden halten können, die Ihre Aufmerksamkeit erfordern.

In diesem Tutorial verwenden wir New Relic Alerts, um eine Reihe von Warnungen zum Überwachen einer einfachen PHP-Anwendung zu erstellen, die auf einer Amazon EC2-Instance ausgeführt wird. Dabei sprechen wir auch über die allgemeinen Prinzipien und Best Practices zum Definieren von Softwarewarnungen, damit Sie die bestmögliche Warnungskonfiguration für Ihre Geschäftsanforderungen erstellen können.

Richten Sie New Relic auf Ihrem Server ein

Bevor Sie New Relic Alerts verwenden können, benötigen Sie ein New Relic-Konto, das eingerichtet wurde, um einen Webdienst zu überwachen.

Aus diesem Grund werde ich Sie, bevor wir mit der Konfiguration und dem Testen von Warnungen beginnen, kurz durch die Schritte zum Einrichten der Überwachung auf einer neu erstellten Amazon EC2-Instance führen. Für einen detaillierteren Einblick in die Verwendung der Überwachungstools in Ihrer eigenen Anwendung empfehle ich unseren kostenlosen Kurs Monitoring Performance With New Relic.

Auch frühere Tutorials von Jeff Reifman und Alan Skorkin helfen Ihnen beim Einstieg. Weitere Informationen zu Amazon EC2 finden Sie in diesem Tutorial zur Installation von WordPress in der Amazon Cloud.

Wenn Sie New Relic bereits auf Ihrem Server verwenden, können Sie diesen Abschnitt überspringen und mit dem nächsten Abschnitt „Erste Schritte mit New Relic Alerts“ fortfahren.

Schritt 1: Erstellen Sie eine neue Amazon EC2-Instance

Die Auswahl eines Servers für Ihre Anwendung ist eine Frage, die außerhalb des Rahmens dieses Tutorials liegt. Für Experimente wie dieses bin ich jedoch ein großer Fan von AWS: Mit EC2 kann ich Server nach Bedarf starten und stoppen, wobei nur für die Zeit berechnet wird, in der ich sie benutze.

Um eine Testinstanz auf Amazon EC2 zu erstellen, melden Sie sich zuerst bei Ihrer Amazon Web Services-Verwaltungskonsole an (wenn Sie noch kein Konto haben, müssen Sie eines erstellen, bevor Sie fortfahren können). Wählen Sie dann im Hauptmenü EC2 (Virtuelle Server in der Cloud).

Klicken Sie im EC2-Dashboard auf die Schaltfläche Launch Instance, um den Vorgang zum Erstellen eines neuen Servers zu starten:

Launch a new EC2 instanceLaunch a new EC2 instanceLaunch a new EC2 instance

Als Nächstes werden Sie aufgefordert, das Amazon Machine Image (AMI) für den virtuellen Server auszuwählen, den Sie starten möchten. Für dieses Tutorial ist die Standard-Schnellstartoption Amazon Linux AMI 2015.03 genau das, was wir brauchen.

Klicken Sie auf Auswählen, um dieses auszuwählen.

The default Amazon Linux AMI is good for what were doingThe default Amazon Linux AMI is good for what were doingThe default Amazon Linux AMI is good for what were doing

Nachdem Sie das AMI ausgewählt haben, werden Sie aufgefordert, einen Instance-Typ auszuwählen – im Wesentlichen die Größe des Computers. Da wir die Maschine zum Experimentieren und Lernen verwenden werden, ist die kleinste, t2.micro, eine gute Wahl:

Pick the t2micro instance typePick the t2micro instance typePick the t2micro instance type

Stellen Sie sicher, dass Sie das Kontrollkästchen vor dem richtigen Instanztyp aktiviert haben. Klicken Sie dann auf Überprüfen und starten, um direkt zum letzten Schritt des Startassistenten zu springen.

Auf dieser Seite sehen Sie eine Benachrichtigung zur Verbesserung Ihrer Sicherheitsgruppen.

Review Instance LaunchReview Instance LaunchReview Instance Launch

Klicken Sie auf Sicherheitsgruppen bearbeiten, um zum Schritt der Sicherheitsgruppenkonfiguration zurückzukehren. Nehmen Sie dort die folgenden Änderungen an Ihren Sicherheitsgruppen vor:

  • Bearbeiten Sie die vorhandene SSH-Regel, um den SSH-Zugriff nur auf Ihre IP-Adresse zu beschränken (wählen Sie Meine IP in der Dropdown-Liste Quelle aus).
  • Fügen Sie eine neue Regel hinzu, um den HTTP-Port für alle zu öffnen (wählen Sie Überall in der Dropdown-Liste Quelle aus).

So sollten die Sicherheitsgruppeneinstellungen mit Ihren Änderungen aussehen:

Example security group settingsExample security group settingsExample security group settings

Nachdem Sie die Änderungen vorgenommen haben, klicken Sie auf Review and Launch, um zur Seite Review Instance Launch zurückzukehren und den Server zu starten.

Als letzten Schritt fordert Amazon Sie auf, ein neues Schlüsselpaar zu erstellen (oder ein vorhandenes auszuwählen), um sich über SSH mit dem neuen Server zu verbinden. Geben Sie dem Schlüsselpaar einen Namen, laden Sie es herunter, indem Sie auf Schlüsselpaar herunterladen klicken, und klicken Sie dann auf Instanzen starten.

Set up key pairSet up key pairSet up key pair

Verschieben Sie auf Ihrem Computer die heruntergeladene Schlüsselpaardatei, z. test_keypair.pem aus dem Download-Verzeichnis an einen besseren Ort, und ändern Sie seine Zugriffseigenschaften, damit niemand außer Ihnen die Datei öffnen kann.

Hier ist ein Beispiel dafür, wie dies unter Mac OS X geht:

Um nun eine Verbindung zum Server herzustellen, überprüfen Sie die IP-Adresse der neuen Instance im Amazon EC2-Dashboard und verbinden Sie sich mit der Schlüsselpaardatei (ersetzen Sie die IP-Adresse durch eine Ihrem Server entsprechende):

Wenn Ihr Server läuft, sollten Sie jetzt angemeldet sein.

Installieren Sie PHP mit dem folgenden Befehl. Akzeptieren Sie die vorgeschlagenen Pakete.

Starten Sie dann Apache:

Sie haben nun ein einfaches Apache- und PHP-Server-Setup auf Amazon EC2 erstellt. Als Nächstes beginnen wir mit der Überwachung mit New Relic APM.

Schritt 2: Aktivieren Sie New Relic APM auf Ihrem Server

Wenn Sie noch kein New Relic-Konto haben, erstellen Sie zunächst eines.

Füllen Sie auf der Anmeldeseite alle Felder aus und klicken Sie dann auf Registrieren für New Relic.

SIgn up for New RelicSIgn up for New RelicSIgn up for New Relic

Als Nächstes richten wir das Überwachungstool für Webanwendungen von New Relic, APM, ein.

Klicken Sie auf dem Willkommensbildschirm auf den Eintrag New Relic APM:

Welcome to New RelicWelcome to New RelicWelcome to New Relic

Nachdem Sie APM ausgewählt haben, sehen Sie eine Seite mit Anweisungen zum Aktivieren der Überwachung in verschiedenen Umgebungen.

Wenn Sie New Relic auf einem anderen als dem Amazon EC2-basierten Server einrichten, den wir im vorherigen Schritt erstellt haben, finden Sie auf dieser Seite Erste Schritte mit New Relic am ehesten die für Ihre Umgebung spezifischen Anweisungen.

Auch wenn die unten verwendeten Installationsbefehle zum Zeitpunkt des Schreibens gültig sind, ist es eine gute Idee, diese Seite auf die aktuellsten Anweisungen zu überprüfen.

Klicken Sie nun auf das PHP-Logo, um die Installationsanweisungen für den PHP-Agenten anzuzeigen.

Get started with New Relic APMGet started with New Relic APMGet started with New Relic APM

Um den PHP-Agenten zu installieren, verwenden Sie zunächst SSH, um eine Verbindung zu der oben erstellten EC2-Instance herzustellen.

Geben Sie dann in Ihrem SSH-Fenster den folgenden Befehl ein, um das New Relic-Repository hinzuzufügen (für die oben definierte EC2-Instance verwenden wir die 64-Bit-Version):

Installieren Sie dann den PHP-Agenten:

Am Ende der Installation fordert das Skript Sie auf, Ihren New Relic-Lizenzschlüssel einzugeben:

Enter New Relic license keyEnter New Relic license keyEnter New Relic license key

Um Ihren Lizenzschlüssel zu erhalten, gehen Sie zurück zur Seite Erste Schritte mit New Relic und klicken Sie auf Lizenzschlüssel anzeigen.

Get your license keyGet your license keyGet your license key

Kopieren Sie den Schlüssel und fügen Sie ihn in die Shell-Eingabeaufforderung ein, um die Installation abzuschließen.

Um die Änderungen zu übernehmen, starten Sie den Webserver neu und warten Sie einige Minuten, damit New Relic Daten von Ihrem Server empfängt.

Sobald New Relic APM Daten von Ihrem Server empfängt, sehen Sie anstelle des oben gezeigten Setup-Bildschirms das APM-Dashboard mit Ihrer darin aufgeführten PHP-Anwendung:

New Relic APM DashboardNew Relic APM DashboardNew Relic APM Dashboard

Sobald dies geschieht, können Sie New Relic Alerts verwenden.

Erste Schritte mit Benachrichtigungen zu neuen Relikten

Nachdem Sie Ihren Server eingerichtet haben und New Relic APM ihn im Auge behält, ist es an der Zeit, zum eigentlichen Thema dieses Tutorials überzugehen: Warnungen.

Schritt 1: Aktivieren Sie neue Reliktwarnungen

Als erstes müssen Sie Benachrichtigungen in Ihrem New Relic-Konto aktivieren.

Klicken Sie auf den AlertsBeta-Link in der oberen rechten Ecke des New Relic-Fensters. Warnungen sind noch eine Beta-Funktion. Bevor Sie beginnen, wird Ihnen ein Bildschirm mit einer Beschreibung der Funktionen sowie einer Liste der Dinge angezeigt, die noch entwickelt werden.

Obwohl die meisten Funktionen bereits vorhanden sind, behält New Relic seinen Beta-Status bei, bis Warnungen vom Typ "Server meldet nicht" hinzugefügt, API-Unterstützung und eine Methode zur Migration vorhandener Warnungen auf das neue System hinzugefügt wurden.

Während der Beta ist es weiterhin möglich, das neue System Seite an Seite mit Legacy-Warnungen zu verwenden. Selbst wenn Sie bereits ein New Relic-Benutzer sind, kann es nicht schaden, Alerts auszuprobieren.

Welcome to New Relic Alerts screenWelcome to New Relic Alerts screenWelcome to New Relic Alerts screen

Um mit der Nutzung von New Relic Alerts zu beginnen, scrollen Sie zum Ende der Seite, aktivieren Sie das Kontrollkästchen "Ich stimme den Bedingungen der New Relic AlertsBeta zu" und klicken Sie auf die Schaltfläche Ausprobieren.

Enable New Relic Alerts betaEnable New Relic Alerts betaEnable New Relic Alerts beta

Schritt 2: Erstellen Sie Ihre erste Benachrichtigungsrichtlinie

Nachdem Sie Warnungen aktiviert haben, sehen Sie als Erstes eine Seite zum Erstellen einer Warnungsrichtlinie.

Create your first alert policyCreate your first alert policyCreate your first alert policy

In New Relic Alerts werden alle Alerts in Alert-Richtlinien gruppiert, die jeweils über eigene Benachrichtigungskanäle verfügen. Dies bedeutet, dass bei Verletzung einer Warnbedingung eine Warnmeldung an alle in der Richtlinie angegebenen Benutzer und Kommunikationskanäle gesendet wird.

Aus diesem Grund denken Sie am besten über Benachrichtigungsrichtlinien nach, indem Sie die Benachrichtigungen verwenden.

Stellen Sie sich zwei Fragen:

  • Wer muss Benachrichtigungen von dieser Gruppe von Benachrichtigungen erhalten?
  • Wie sollen sie die Benachrichtigungen erhalten?

Beispielsweise müssen kritische Serverprobleme, die unabhängig von der Tageszeit sofortige Aufmerksamkeit erfordern, an eine andere Gruppe von Personen und über einen anderen Benachrichtigungskanal gesendet werden (das Telefon summt, um Sie aufzuwecken) als weniger schwerwiegende Leistungsprobleme, die auftreten können im Laufe des Tages gelöst (eine E-Mail-Benachrichtigung, die Sie auffordert, mit der Optimierung des Codes zu beginnen).

Aber bleiben Sie bei diesem Schritt nicht zu lange stecken. Wenn Ihnen noch keine perfekte Organisation Ihrer Benachrichtigungen einfällt, ist das in Ordnung: Sie können jederzeit darauf zurückkommen und Ihre Benachrichtigungsrichtlinien später ändern, wenn Sie sich mit dem Konzept vertraut machen.

In diesem Tutorial erstellen wir zunächst eine einfache, allumfassende Benachrichtigungsrichtlinie, die wir einfach "Anwendung" nennen.

Geben Sie den Namen in das Textfeld mit Teamname oder Dienstname ein und klicken Sie auf Richtlinie erstellen.

Schritt 3: Lernen Sie das Benachrichtigungs-Dashboard kennen

Sie können jetzt mit der Erstellung von Benachrichtigungen für Ihre Anwendung beginnen. Aber bevor wir dorthin gehen, werfen wir einen kurzen Blick auf das Alerts-Dashboard:

Alerts dashboard showing alerts for the Application alert policyAlerts dashboard showing alerts for the Application alert policyAlerts dashboard showing alerts for the Application alert policy

Ausgehend von links sind die Optionen:

  • Vorfälle: Eine in zwei Registerkarten unterteilte Liste von Warnungsverletzungen. Offene Vorfälle sind Warnungen, die noch nicht gelöst wurden und jetzt Ihre Aufmerksamkeit erfordern. Alle Vorfälle ist eine historische Liste, die Sie verwenden können, um vergangene Verletzungen von Warnmeldungen nachzuschlagen und zu sehen, was getan wurde, um sie zu beheben.
  • Ereignisse: Eine Liste aller Ereignisse aus dem Warnsystem, unterteilt in zwei Registerkarten. Verstöße zeigt alle Verletzungen der Warnungsbedingung an. Ereignisse listet auch die Benachrichtigungen auf, die an verschiedene Benachrichtigungskanäle gesendet wurden, sowie Änderungen des Vorfallsstatus.
  • Warnungsrichtlinien: Dies ist das Herzstück des Warnungssystems, das Regelwerk, das regelt, wie und wann Warnungen gesendet werden.
  • Benachrichtigungskanäle: Hier konfigurieren Sie die Benachrichtigungskanäle, die in Warnrichtlinien verwendet werden, um Sie und Ihr Team über Vorfälle in Ihrer Anwendung zu benachrichtigen.

Der Menüpunkt, der nach diesen vier kommt, Switch to AlertsBeta, hat mich zuerst verwirrt. Aufgrund des Namens hatte ich den Eindruck, dass ich die neuen Alerts noch nicht aktiviert hatte. Das war jedoch nicht der Fall. Stattdessen ist dies eine Option, die Sie nutzen können, um das neue Alert-System vollständig in Ihr New Relic-Erlebnis zu integrieren und die alten Alerts hinter sich zu lassen.

Wenn Sie auf den Menüpunkt klicken, sehen Sie folgende Seite:

Go all-in on New Relic AlertsGo all-in on New Relic AlertsGo all-in on New Relic Alerts

Auf dieser Seite erhalten Sie einen Überblick über die Änderungen, die sich ergeben, wenn Sie vollständig auf die neue Alerts-Funktionalität umstellen. Dies bedeutet vor allem eine tiefere Integration von Alerts in die anderen New Relic-Produkte.

Wenn Sie bereits ein New Relic-Benutzer sind und Ihre aktuelle Anwendung auf das Legacy-Warnungssystem angewiesen ist, sollten Sie es sich gut überlegen, bevor Sie fortfahren. Um den Rest dieses Tutorials durchzuarbeiten, müssen Sie nicht so weit gehen – wie ich bereits erwähnt habe, ist es völlig in Ordnung, die beiden Systeme nebeneinander zu verwenden.

Wenn Sie jedoch abenteuerlustig sind und gerne die neuesten Versionen Ihrer Software verwenden, können Sie die Tatsache, dass es kein Zurück gibt, sehr gut akzeptieren und Ihr Konto auf die neue Benachrichtigungsfunktion umstellen, indem Sie auf die Schaltfläche Become an Early Adopter klicken Schaltfläche am unteren Rand dieses Bildschirms.

Become an early adopterBecome an early adopterBecome an early adopter

Es ist deine Entscheidung. Und für welchen Weg Sie sich auch entscheiden, Sie können jetzt Ihre erste Benachrichtigung erstellen.

Erstellen Sie Ihre erste Benachrichtigung

Nachdem Sie New Relic Alerts aktiviert haben und ein umfassendes Verständnis des Tools haben, ist es an der Zeit, sich an die Arbeit zu machen und Ihren ersten Alert zu erstellen: einen Alert, der eine Benachrichtigung per E-Mail und Slack sendet, wenn die Fehlerrate in Ihrer PHP-Anwendung 5 % überschreitet. mindestens einmal in 5 Minuten.

Ich habe diese Warnung gewählt, weil sie wichtig ist, aber auch, weil sie einfach zu testen ist: Sobald die Warnungsbedingung definiert ist, können wir den Server unterbrechen und die Warnung ohne großen zusätzlichen Aufwand auslösen.

Aber lassen Sie uns zunächst ein wenig darüber sprechen, was eine gute Softwarewarnung ausmacht.

Schritt 1. Entscheiden Sie, über welche Probleme Sie benachrichtigt werden möchten

In Aesops klassischer Fabel The Boy Who Cried Wolf schreit ein gelangweilter Hirtenjunge immer wieder Fehlalarme über einen Wolf, der seine Herde angreift. Als schließlich ein Wolf auftaucht, denken die Dorfbewohner, es sei nur ein weiterer Fehlalarm und niemand kommt ihm zu Hilfe.

Ebenso werden Sie sich daran gewöhnen, den Fehler zu ignorieren, wenn Sie eine Softwarewarnung erhalten, die Sie jeden Tag – oder noch schlimmer, viele Male am Tag – über etwas informiert, auf das Sie in diesem Moment nicht reagieren müssen. Wenn dann endlich wichtige Fehler auftauchen, gehen sie im Rauschen verloren und man übersieht sie.

Deshalb sollten Sie bei der Planung Ihrer Benachrichtigungen immer mit der Frage beginnen: "Wie wichtig ist diese Benachrichtigung?" und "Wie werde ich (oder mein Team) auf diese Warnung reagieren?"

Ihre Antwort wird dann Ihre nächsten Schritte leiten:

  • Wenn die Warnung sofort behoben werden muss, fügen Sie sie zu einer Warnungsrichtlinie hinzu, die Sie (oder Ihr Team) zu jeder Tageszeit weckt.
  • Wenn es sich bei der Warnung um eine dringende Angelegenheit handelt, die innerhalb eines Tages oder weniger gelöst werden kann, fügen Sie sie in eine Warnungsrichtlinie ein, die Sie über einen weniger aufdringlichen Benachrichtigungskanal wie E-Mail benachrichtigt.
  • Wenn die Warnung in ein oder zwei Tagen keine Aufmerksamkeit erfordert, ist es wahrscheinlich am besten, überhaupt keine Warnung zu erstellen. Das Problem wird bei einem flüchtigen Blick in die Monitoring-Tools auffallen und kann dann in Ihrem Projektmanagement-Tool zur späteren Betrachtung als Aufgabe markiert werden.

Stellen Sie außerdem sicher, dass Sie die Warnungen an Personen senden, die die Mittel haben, etwas dagegen zu unternehmen. Der Posteingang eines Managers, der sich mit Warnungen über Fehler im Code füllt, ist nichts anderes als eine Ablenkung.

Eine weitere zu berücksichtigende Sache ist die Warnschwelle oder Fragen wie:

  • Wie schnell sollte eine Benachrichtigung gesendet werden?
  • Was ist ein akzeptabler Fehlerprozentsatz?
  • Wie gering kann der Speicherplatz eines Servers sein, bevor wir etwas dagegen tun müssen?

Dies ist keine leichte Aufgabe, und es wird wahrscheinlich einiges daran basteln, bis Sie Ihre Warnungen genau richtig definiert haben. Sie möchten die Fehlermeldung früh genug senden, um wichtige Fehler nicht zu verpassen, aber nicht so schnell, dass Sie zu viele Fehlalarme erhalten.

Der beste Weg, dies zu erreichen, besteht darin, zu experimentieren: Das Ändern von Alarmbedingungen geht schnell, da Konfigurationsdateien und Serverneustarts nicht geändert werden müssen. Probieren Sie also verschiedene Werte aus, bis Sie mit den Ergebnissen zufrieden sind. Wenn sich Ihre Anwendung weiterentwickelt, möchten Sie wahrscheinlich auch Ihre Warnmeldungen ändern, z. B. das Lockern von Warnschwellen, wenn Sie wissen, dass sich ein neues Update für eine Weile negativ auf Ihre Ladezeiten auswirkt.

Schritt 2: Wählen Sie das zu überwachende Produkt und Ziel aus

Wie ich bereits erläutert habe, gehört jede Warnbedingung in New Relic Alerts zu einer Warnrichtlinie. Um also eine neue Warnungsbedingung hinzuzufügen, navigieren Sie zuerst zur Registerkarte Warnungsrichtlinien und wählen Sie die soeben erstellte Richtlinie "Anwendung" aus.

Da Sie noch keine Benachrichtigungsbedingungen erstellt haben, sehen Sie in der Mitte der Seite den folgenden Platzhalter:

No conditions yetNo conditions yetNo conditions yet

Klicken Sie auf Bedingung erstellen, um mit der Definition Ihrer ersten Warnbedingung zu beginnen. Nachdem Sie diese erste Bedingung erstellt haben, sehen Sie anstelle der großen Schaltfläche eine Liste mit Warnungsbedingungen. An diesem Punkt wird das Hinzufügen einer neuen Bedingung über eine kleinere Schaltfläche Neue Warnungsrichtlinie in der oberen rechten Ecke der Liste initiiert.

Ein Klick auf die Schaltfläche startet einen dreistufigen Assistenten für neue Bedingungen:

Select a product for the alertSelect a product for the alertSelect a product for the alert

Im Assistenten werden Sie zunächst aufgefordert, ein New Relic-Produkt auszuwählen. Dies ist das Produkt, das Sie als Quelle der Metriken für die von Ihnen erstellte Warnbedingung verwenden und das daher auch die Optionen definiert, die Ihnen in den nächsten beiden Schritten des Assistenten zur Verfügung stehen.

PHP-Fehler werden mit APM überwacht, also wählen wir diesen aus.

Im selben Assistentenschritt haben Sie noch eine zweite Wahl: Wählen Sie die Art der Bedingung aus, die Sie erstellen möchten. Die Optionen in dieser Auswahl ändern sich, wenn Sie zwischen Produkten wechseln. Für APM haben Sie die folgenden drei Optionen:

  • Anwendungsmetrik: Mit dieser Option haben Sie Zugriff auf die standardmäßigen Anwendungsmetriken, die von APM gemessen werden (Apdex, Fehlerprozentsatz, Reaktionszeit und Durchsatz) sowie auf alle benutzerdefinierten Metriken, die Sie im Überwachungstool definiert haben.
  • Schlüsseltransaktionsmetrik: Als kostenpflichtige Funktion in APM können Sie einige der Transaktionen in Ihrer Anwendung als "Schlüsseltransaktionen" kennzeichnen – Transaktionen, die für Ihr Unternehmen oder Ihr Produkt von besonderer Bedeutung sind. Wenn Sie diese Option auswählen, erstellen Sie die Warnungsbedingung auf die gleiche Weise wie bei der Option Anwendungsmetrik, außer dass die Warnung nicht die gesamte Anwendung (oder mehrere Anwendungen) überwacht, sondern nur dann ausgelöst wird, wenn die Bedingung innerhalb von eine von Ihnen ausgewählte Schlüsseltransaktion.
  • Externer Dienst: Mit dieser Option können Sie Warnbedingungen basierend auf API oder anderen Aufrufen an externe Dienste erstellen.

Da der Fehlerprozentsatz eine Anwendungsmetrik ist und wir keine Schlüsseltransaktionen angegeben haben, wählen Sie Anwendungsmetrik und klicken Sie auf Weiter, wählen Sie Ziele aus, um zum zweiten Schritt des Assistenten zu gelangen.

Select application to monitorSelect application to monitorSelect application to monitor

Auf diesem zweiten Bildschirm wählen Sie die von APM überwachten Anwendungen aus, über die der Warnzustand Sie benachrichtigen soll.

Klicken Sie zunächst auf Alle Anwendungen, um die Liste der Anwendungen anzuzeigen.

Aktivieren Sie dann das Kontrollkästchen vor unserer Anwendung (in unserem Beispiel haben wir nur eine Anwendung, PHP-Anwendung) und gehen Sie zum letzten Schritt im Assistenten, indem Sie auf die Schaltfläche Weiter, Schwellenwerte definieren klicken.

Schritt 3: Definieren Sie die Warnbedingung

Im dritten und letzten Schritt im Assistenten für neue Bedingung definieren Sie die eigentliche Alert-Bedingung.

Define the alert conditionDefine the alert conditionDefine the alert condition

Die in diesem Schritt angezeigten Optionen hängen von den Entscheidungen ab, die Sie in den ersten beiden Schritten getroffen haben. Die Grundidee ist jedoch in jedem Fall dieselbe: Dies ist der Bildschirm, auf dem Sie eine Metrik und einen Fehlerschwellenwert (und eine optionale Warnung) dafür auswählen.

So erstellen Sie die oben beschriebene Warnbedingung mit hohem Fehlerprozentsatz:

  1. Wählen Sie Fehlerprozentsatz als zu überwachende Anwendungsmetrik aus.
  2. Wählen Sie dann einen geeigneten Vergleichsoperator aus. In diesem Fall ist oben am sinnvollsten (die anderen Optionen sind unten und gleich).
  3. Definieren Sie den Schwellenwert: Was ist ein Fehlerprozentsatz, der für einen Fehlerbericht sinnvoll ist? Stellen Sie diese Zahl zu hoch ein und Sie werden wichtige Fehler übersehen. Machen Sie es zu niedrig und Sie werden in Warnungen ertrinken. 5% sind ein guter Ausgangspunkt, aber im wirklichen Leben können Sie den Schwellenwert je nach Anwendung und Ihren Vorlieben nach oben oder unten anpassen.
  4. Definieren Sie den Zeitrahmen: Um die meisten Fehler abzufangen, wählen Sie "mindestens einmal in" "5 Minuten". Dadurch werden Sie sofort benachrichtigt, wenn die Fehlerschwelle auch nur einmal im ausgewählten Zeitraum überschritten wird. Wenn Sie Ihrer Bewerbung hingegen etwas mehr Spielraum geben möchten, können Sie "mindestens" wählen und die Benachrichtigung nur erhalten, wenn der Fehlerprozentsatz über die gesamte Dauer des ausgewählten Zeitraums hoch bleibt.
  5. Wenn Sie möchten, können Sie auch eine Warnschwelle mit einem niedrigeren Fehlerprozentsatz definieren. Warnungen lösen keine E-Mail-Benachrichtigungen aus, aber Sie werden sie in der Liste der Ereignisse sowie in der APM-Ansicht sehen (wenn Sie All-In gegangen sind und ein Early Adopter sind – siehe Diskussion weiter oben in diesem Tutorial).
  6. Geben Sie der Bedingung einen beschreibenden Namen oder verwenden Sie – wenn Sie damit zufrieden sind – den vom Tool vorgeschlagenen Standardnamen.
  7. Wenn Sie Ihrem Team Informationen über den Vorfall und seine Behebung zur Verfügung stellen möchten, können Sie eine "Runbook-URL" hinzufügen: einen Link zu einer externen Webseite, beispielsweise einer Dokumentationsseite, die die Bedeutung dieser Warnung und die Schritte beschreibt um es zu lösen. Klicken Sie dazu auf Runbook-URL hinzufügen und geben Sie die URL in das Textfeld ein.

Wenn Sie mit der Warnbedingung zufrieden sind, klicken Sie auf Bedingung erstellen, um sie zu speichern. Denken Sie daran, dass Sie später jederzeit zurückkehren können, um es zu optimieren.

Die Seite mit den Warnungsbedingungen sieht nun wie folgt aus, wobei Ihre neue Warnung hinzugefügt wurde:

Alert condition addedAlert condition addedAlert condition added

Wenn Sie die Warnbedingung zu irgendeinem Zeitpunkt ändern möchten, klicken Sie einfach auf ihre Regeln. Beachten Sie auch die Schaltflächen Kopieren und Löschen in der oberen rechten Ecke Ihrer neuen Warnungsbedingung: Diese sind praktisch, wenn Sie die Warnung zu einem bestimmten Zeitpunkt in eine andere Warnungsrichtlinie verschieben möchten.

Schritt 4: E-Mail-Benachrichtigungen für die Benachrichtigungsrichtlinie einrichten

Sie haben nun den ersten Alert erstellt. Eine Warnung ohne Benachrichtigungskanal ist jedoch nicht sehr nützlich: Die Verstöße werden der Registerkarte Vorfälle hinzugefügt, aber niemand wird benachrichtigt. Damit die Benachrichtigungsrichtlinie Sie über einen Vorfall benachrichtigt, müssen wir einen Benachrichtigungskanal definieren und ihn mit dieser Benachrichtigungsrichtlinie verknüpfen.

Beginnen wir mit der häufigsten, E-Mail.

Um mit der Erstellung Ihres ersten Benachrichtigungskanals zu beginnen, klicken Sie auf den Menüpunkt Benachrichtigungskanäle. Klicken Sie dann auf die große Schaltfläche mit der Aufschrift Benachrichtigungskanal erstellen.

No notification channels configured yetNo notification channels configured yetNo notification channels configured yet

Auf dem nächsten Bildschirm sehen Sie zunächst ein Textfeld mit der Aufschrift "Wählen Sie einen Kanaltyp aus". Klicken Sie darauf, um eine Dropdown-Liste mit den verfügbaren Benachrichtigungsoptionen anzuzeigen:

Select the type of notification channel to createSelect the type of notification channel to createSelect the type of notification channel to create

Die derzeit verfügbaren Optionen (laut Dokumentation werden in Zukunft weitere Kanäle hinzugefügt) sind:

  • E-Mail: Sendet eine E-Mail-Nachricht an die in der Konfiguration angegebene E-Mail-Adresse.
  • HipChat: Sendet eine Nachricht an den in der Konfiguration angegebenen HipChat-Raum.
  • PagerDuty: Sendet eine Benachrichtigung über das NetOps-Verwaltungstool PagerDuty. Dies ist eine erweiterte Option für die kritischeren Benachrichtigungen, die sofort bearbeitet werden müssen – die Benachrichtigungen können sogar so konfiguriert werden, dass sie Sie telefonisch anrufen!
  • VictorOps: Ähnlich wie bei PagerDuty sendet diese Option eine Benachrichtigung über das NetOps-Tool VictorOps. Die Funktionalität der beiden Tools ist ziemlich ähnlich, daher hängt die Wahl hauptsächlich davon ab, was Sie bereits verwenden.
  • Webhook: Sendet eine Benachrichtigung an eine von Ihnen definierte URL. Verwenden Sie diese Option, wenn Sie Benachrichtigungen an einen Kanal senden möchten, der derzeit nicht direkt von New Relic Alerts unterstützt wird – oder wenn Sie Ihre eigene benutzerdefinierte Lösung erstellen möchten...
  • Campfire: Sendet eine Benachrichtigung an den in der Konfiguration angegebenen Campfire-Chatroom.
  • Slack: Sendet eine Benachrichtigung an den in der Konfiguration angegebenen Slack-Kanal.
  • OpsGenie: Sendet eine Benachrichtigung über das OpsGenie NetOps-Warnsystem. OpsGenie ist ein weiteres Tool, ähnlich wie PagerDuty und VictorOps, das verwendet werden kann, um sicherzustellen, dass Ihr Team die Warnungen bemerkt, sobald sie auftreten.

Darüber hinaus erstellt New Relic Alerts automatisch einen Benutzerbenachrichtigungskanal für jeden Benutzer in Ihrem Konto. Dieser Kanal kann verwendet werden, um E-Mails zu senden und Benachrichtigungen an die iPhone- und Android-Anwendung von New Relic zu senden.

In einer realen Situation sollten Sie Tools auswählen, die am besten zu Ihrer Alert-Richtlinie und der Kommunikationskultur Ihres Teams passen: Verwenden Sie beispielsweise OpsGenie für dringende Alerts und E-Mail für die weniger dringenden Alerts. In diesem Tutorial fügen wir nur zwei Beispiele hinzu, beginnend mit E-Mail.

Wenn Sie auf die E-Mail-Option klicken, wird der Rest des Formulars automatisch aktualisiert, um die E-Mail-Benachrichtigungskonfiguration anzuzeigen:

Create an e-mail notification channelCreate an e-mail notification channelCreate an e-mail notification channel

Geben Sie Ihre E-Mail-Adresse in das Feld E-Mail ein und klicken Sie auf Kanal erstellen. Wenn Sie zusammen mit der E-Mail-Nachricht weitere Daten zu dem Vorfall senden möchten (z. B. wenn die E-Mail programmgesteuert gelesen wird), aktivieren Sie das Kontrollkästchen JSON-Anhang einschließen.

Und das war's, jetzt wurde ein E-Mail-Benachrichtigungskanal erstellt:

The e-mail notification channel was created successfullyThe e-mail notification channel was created successfullyThe e-mail notification channel was created successfully

Um diesen Benachrichtigungskanal an die zuvor erstellte Benachrichtigungsrichtlinie anzuhängen, kehren Sie zur Seite Benachrichtigungsrichtlinien zurück und wählen Sie die Benachrichtigungsrichtlinie "Anwendung" aus.

Klicken Sie dann auf , um die Registerkarte Benachrichtigungskanäle anzuzeigen. Da für diese Benachrichtigungsrichtlinie noch keine Benachrichtigungskanäle definiert sind, sieht die Registerkarte so aus:

The policy doesnt have any notification channels yetThe policy doesnt have any notification channels yetThe policy doesnt have any notification channels yet

Klicken Sie auf Benachrichtigungskanäle hinzufügen, um ein Popup-Fenster zu öffnen, in dem Sie die Benachrichtigungskanäle auswählen können, die in dieser Benachrichtigungsrichtlinie verwendet werden sollen.

Select the e-mail notification channelSelect the e-mail notification channelSelect the e-mail notification channel

Verwenden Sie den Benachrichtigungskanal-Browser, um die E-Mail-Kanäle zu finden und aktivieren Sie das Kontrollkästchen vor Ihrer E-Mail-Adresse.

Klicken Sie dann auf Richtlinie aktualisieren, um die Änderungen zu speichern.

Schritt 5: Einrichten von Slack-Benachrichtigungen für die Benachrichtigungsrichtlinie

Lassen Sie uns als Nächstes die Benachrichtigungen in einem Slack-Kanal anzeigen. Wenn Sie Slack nicht verwenden, können Sie diesen Schritt überspringen und zum nächsten Schritt übergehen, in dem wir mit dem Testen der Warnung beginnen.

Klicken Sie zunächst in Ihrem Slack-Chat-Fenster auf den Abwärtspfeil neben Ihrem Benutzernamen, um das Menü zu öffnen. Wählen Sie dann die Option Integrationen konfigurieren:

In Slack click on Configure IntegrationsIn Slack click on Configure IntegrationsIn Slack click on Configure Integrations

Dadurch wird ein neuer Browser-Tab geöffnet, der die Integrationsseite von Slack anzeigt.

Verwenden Sie die Suchleiste in der oberen rechten Ecke der Liste der Dienste, um den New Relic-Integrationstyp zu suchen.

Slack IntegrationsSlack IntegrationsSlack Integrations

Scrollen Sie nach unten zur Option Eingehende WebHooks und klicken Sie auf Hinzufügen.

Klicken Sie auf Ansicht. Wählen oder erstellen Sie dann auf der nächsten Seite einen Kanal, in dem Sie die Benachrichtigungen posten möchten. Dies kann ein vorhandener, projektspezifischer Kanal sein – oder vielleicht möchten Sie einen bestimmten Kanal für Serverwarnungen erstellen.

Add New Relic IntegrationAdd New Relic IntegrationAdd New Relic Integration

Nachdem Sie einen Kanal ausgewählt haben, fahren Sie fort, indem Sie auf "Neue Relikt-Integration hinzufügen" klicken.

Erweitern Sie auf der nächsten Seite die Anweisungen für den ersten Eintrag in der Liste, "New Relic Alerts [Beta]". Kopieren Sie dann die Webhook-URL, die im Abschnitt mit der Bezeichnung Schritt 2 angezeigt wird. Dies ist eine eindeutige, generierte URL und sollte nur für diese eine Integration verwendet werden. Wenn Sie Grund zu der Annahme haben, dass die URL an jemanden durchgesickert ist, der sie nicht haben sollte, können (und sollten) Sie eine neue generieren.

New Relic Alerts BetaNew Relic Alerts BetaNew Relic Alerts Beta

Kehren Sie zur Seite Benachrichtigungskanäle für neue Reliktwarnungen zurück und erstellen Sie einen neuen Benachrichtigungskanal, indem Sie Slack als Kanaltyp auswählen. Fügen Sie in den Optionen dieses neuen Kanals die URL, die Sie gerade kopiert haben, in das Textfeld mit der Bezeichnung URL ein:

Notification ChannelsNotification ChannelsNotification Channels

Wenn Sie möchten, können Sie im Feld Teamkanal den Namen des Slack-Kanals definieren, in dem die Benachrichtigungen gepostet werden sollen. Denken Sie in diesem Fall daran, das Rautezeichen vor dem Namen anzugeben. Andernfalls wird im Ereignisprotokoll nur ein Fehler angezeigt, anstatt eine Benachrichtigung in Ihrem Slack-Kanal zu erhalten.

Klicken Sie auf Kanal erstellen, um die Definition zu speichern. Befolgen Sie dann die Schritte zum Verknüpfen des neuen Benachrichtigungskanals mit Ihrer Benachrichtigungsrichtlinie, die wir beim Verknüpfen der E-Mail verwendet haben.

Schritt 6: Testen Sie die Warnung, indem Sie Ihren Code fehlschlagen

Bevor ich Sie mit der Arbeit an Ihren realen Warnungen und dem Einrichten Ihres Produktionsservers überlasse, lassen Sie uns unsere neue Warnung testen und sehen, was passiert, wenn eine Warnungsbedingung verletzt wird.

Da wir einen Testserver speziell für die Anforderungen dieses Tutorials erstellt haben, können wir den Code sicher knacken. Wenn Sie die Warnungen auf einem Ihrer vorhandenen Server testen, möchten Sie dies wahrscheinlich nur in einer Test- oder Staging-Umgebung tun.

Um einen PHP-Fehler im zuvor erstellten Server-Setup zu erstellen, verwenden Sie zuerst SSH, um eine Verbindung zu Ihrem Server herzustellen. Springen Sie dann zum Stammverzeichnis Ihres Webservers:

Erstellen Sie in diesem Verzeichnis eine PHP-Datei, zum Beispiel error.php, und schreiben Sie einen fehlerhaften Code, damit das Skript beim Versuch, es in Ihren Browser zu laden, unterbricht:

Öffnen Sie nun die URL in Ihrem Webbrowser und aktualisieren Sie sie einige Male während des fünfminütigen Zeitraums, den wir für die Warnbedingung definiert haben. (Die URL Ihres Servers finden Sie im Amazon EC2-Dashboard.)

Nach etwa fünf Minuten sollten Sie sowohl in Ihrem E-Mail-Posteingang als auch in dem oben definierten Slack-Kanal eine Benachrichtigung erhalten.

So sieht der Fehler in Ihrer E-Mail aus:

The alert notification email messageThe alert notification email messageThe alert notification email message

Und dieselbe Benachrichtigung in Slack:

Alert notification in SlackAlert notification in SlackAlert notification in Slack

Wenn Sie in der E-Mail auf den Link Vorfalldetails anzeigen oder auf die Vorfallnummer in Slack klicken, werden Sie zur entsprechenden Seite mit New Relic Alerts mit vielen weiteren Informationen zu dem Problem, das die Benachrichtigung verursacht hat, weitergeleitet:

View incident detailsView incident detailsView incident details

Wenn Sie bereit sind, mit der Arbeit an der Warnung zu beginnen, klicken Sie rechts auf die Schaltfläche Bestätigen. Nachdem Sie auf die Schaltfläche geklickt haben, wird diese durch die folgende Zustandsinformation ersetzt:

Incident acknowledgedIncident acknowledgedIncident acknowledged

Sie (und Ihr Team, wie in den Benachrichtigungskanälen konfiguriert) erhalten außerdem eine Benachrichtigung über die Bestätigung per E-Mail und Slack. Diese Bestätigung bedeutet, dass Sie die Verantwortung für die Behebung des Problems übernehmen und der Status nicht geändert werden kann: Sobald Sie eine Warnung bestätigt haben, kann sie von niemand anderem mehr bestätigt werden.

Wenn Sie auf der Warnungsseite nach unten scrollen, sehen Sie die folgenden Schaltflächen, mit denen Sie weitere Informationen zur Lösung des Problems (Runbook öffnen), Warnungsbedingung bearbeiten (wenn Sie glauben, dass es sich um eine falsche Warnung handelt) oder Schließen Sie den Verstoß manuell (sobald Sie das Problem behoben haben).

Incident actionsIncident actionsIncident actions

Weitere Informationen zu diesem Problem finden Sie auch auf der Fehlerseite von APM:

More information about the errorMore information about the errorMore information about the error

Verwenden Sie die Informationen von APM, um das Problem zu beheben (diesmal ist es einfach).

Laden Sie die Seite dann einige Male erneut und warten Sie auf eine weitere Benachrichtigung, die Ihnen mitteilt, dass das Problem nicht mehr aktiv ist, oder gehen Sie zurück zur Seite Vorfälle und klicken Sie auf Verstoß manuell schließen, um die Warnung sofort zu schließen.

Da New Relic Alerts datengesteuert ist, bleibt der Vorfall für immer offen, wenn nach dem Senden des Alerts keine Daten mehr von Ihrem Server eingehen. Wenn Sie sich also fragen, warum Ihre Warnung nicht automatisch geschlossen wird, auch nachdem Sie den Fehler auf diesem Testserver behoben haben, liegt dies daran, dass die Site von niemandem verwendet wird - und daher gibt es keinen Grund zur Sorge.

Sie haben nun erfolgreich Ihre erste Warnungsbedingung erstellt und verwendet, um einen Fehler in Ihrem Server zu beheben, und Sie können mit der Erstellung Ihrer realen Warnungsrichtlinien beginnen, um die Sicherheit Ihrer Webanwendung zu gewährleisten.

Andere Metriken für Ihre Benachrichtigungen

Die soeben erstellte Fehlermeldung ist zwar sehr nützlich, aber dennoch nur eine von vielen Warnungen, die Sie mit New Relic Alerts erstellen können.

Um Sie bei der Entwicklung eigener Benachrichtigungen für eine echte Webanwendung zu unterstützen, finden Sie im Folgenden die restlichen Optionen für Webanwendungen sowie einige Ideen für Probleme in Ihrer Anwendung, die Sie möglicherweise mit ihnen überwachen möchten.

1. Warnungsbedingungen basierend auf APM-Metriken

APM (kurz für Application Performance Monitoring) ist das Flaggschiffprodukt von New Relic: ein Anwendungsüberwachungstool, das bis auf die Codeebene reicht und Dinge wie Fehler misst und wie lange Ihre Anwendung an verschiedenen Punkten in der Ausführung dauert.

Zusätzlich zu der oben erstellten Warnbedingung mit hohem Fehlerprozentsatz können die folgenden APM-Metriken zum Erstellen von Warnungen verwendet werden.

  • Apdex: Apdex (Application Performance Index) ist eine Standardmethode zur Messung und zum Vergleich der Leistung von Softwareanwendungen. Die Metrik misst die Zufriedenheit der Endbenutzer und geht von 0 zu 1, wobei 1 bedeutet, dass jeder Benutzer zufrieden ist und 0 bedeutet, dass niemand zufrieden ist. Eine gute Zahl, von der aus Sie beginnen können, ist 0,7, was der Standard-Warnschwellenwert in den legacy-New Relic-Warnungen ist.
  • Antwortzeit und Durchsatz: Die Antwortzeit gibt an, wie lange Anforderungen an Ihre Anwendung im Durchschnitt dauern. Der Durchsatz ist eine verwandte Metrik, die beschreibt, wie viele Anforderungen von Ihrem Dienst während eines bestimmten Zeitraums erfolgreich verarbeitet wurden. Während beide Metriken in die Apdex-Berechnung einbezogen werden, wird das Hinzufügen von Warnungen für sie Ihre Warnungen spezifischer und somit einfacher zu analysieren und an die richtigen Personen weiterleiten.
  • Benutzerdefinierte Metrik: Wenn Sie Ihre eigenen benutzerdefinierten Metriken in APM aufzeichnen, können Sie diese verwenden, um Ihre eigenen anwendungsspezifischen Warnungsbedingungen zu erstellen.
  • Externer Dienst: Mit dem Bedingungstyp externer Dienst können Sie Warnungen basierend auf der Antwortzeit und dem Durchsatz eines HTTP-Aufrufs an einen externen Dienst erstellen. Auf meiner eigenen Website half mir beispielsweise die Überwachung der externen Serviceanfragen, einen API-Aufruf an Tumblr als Hauptgrund für langsame Ladezeiten zu identifizieren.

Wenn Sie Wichtige Transaktionsmetriken (kostenpflichtige Funktion in APM) als Bedingungstyp auswählen, haben Sie Zugriff auf die in der obigen Liste beschriebenen Metriken, die jedoch nur für die Verfolgung der ausgewählten Transaktionen und nicht der gesamten Anwendung verwendet werden.

Auf diese Weise können Sie Benachrichtigungen über Fehler in wichtigen Transaktionen (z. B. Zahlungsabwicklung) mit höherer Priorität (z. B. SMS anstelle von E-Mail) als Fehler in weniger kritischen Transaktionen senden lassen.

2. Warnungen basierend auf Browser-Metriken

Browser ist ein New Relic-Überwachungsprodukt, das Ihnen einen Überblick darüber gibt, wie echte Benutzer Ihre Webanwendung erleben: Überwachung auf die Dinge, die im Browser passieren. Eine detailliertere Erläuterung des Tools und Anweisungen zum Aktivieren in Ihrem New Relic-Konto finden Sie in diesem Tutorial.

Während APM-basierte Warnungen Sie über Dinge informieren, die innerhalb des Anwendungsservers schief gehen, können Browserwarnungen wichtig sein, um Fehler zu lokalisieren, die dazu führen, dass die Benutzererfahrung bricht.

  • Endbenutzer-Apdex: Die Schlüsselmetrik in browserbasierten Warnungen, Endbenutzer-Apdex, misst den Prozentsatz der Benutzer, die mit der Leistung der Anwendung zufrieden sind, wobei auch die Leistung der Anwendung berücksichtigt wird, während sie im Browser ausgeführt wird.
  • Seitenladezeit: Eine Gruppe von Metriken zum Messen der Zeit, die an verschiedenen Stellen des Seitenladens aufgewendet wird: Gesamtladezeit der Seite, Seitenrendering, Webanwendung, Netzwerk, DOM-Verarbeitung und Anforderungswarteschlangen können alle verwendet werden, um detailliertere Warnungen über bestimmte Engpässe in der Endbenutzererfahrung zu erhalten.
  • Seitenaufrufe mit JavaScript-Fehlern: Die Anzahl der JavaScript-Fehler in Ihrer Anwendung kann ein Zeichen für eine fehlerhafte Programmierung sein, die schnell behoben werden sollte. Mit dieser Metrik können Sie eine Warnung ähnlich der Fehlerprozentsatzwarnung erstellen, die wir in diesem Tutorial erstellt haben – nur dieses Mal, indem Sie JavaScript-Fehler anstelle von Fehlern im PHP-Code der Anwendung messen.
  • AJAX-Reaktionszeit und -Durchsatz: Wenn Ihre Anwendung AJAX-Aufrufe für wichtige endbenutzerorientierte Aktionen verwendet, ist es wichtig, Probleme frühzeitig zu finden. Dazu können Sie die Metriken verwenden, die messen, wie lange die Verarbeitung von AJAX-Anforderungen dauert und wie viele AJAX-Anforderungen in einem bestimmten Zeitraum erfolgreich verarbeitet werden.
  • Benutzerdefinierte Metrik: Genau wie in APM-Warnungen können Sie auch benutzerdefinierte Metriken in Ihren Browserwarnungen verwenden.

3. Warnungen basierend auf den Servermetriken

Servers ist das Produkt von New Relic, um zu messen, was physisch auf Ihrem Server passiert. Anstatt uns die Anwendungsmetriken anzusehen, wie wir es mit APM und Browser getan haben, sprechen wir jetzt über Dinge wie Speicherplatznutzung und CPU-Auslastung - die Art von Metriken, über die Ihr NetOps-Team (oder nur Sie, wenn Sie ein kleiner Betrieb sind) immer den Überblick behalten soll. Weitere Informationen zu New Relic Servers finden Sie in diesem Lernprogramm.

Diese Metriken sind alle wichtige Quellen für – in der Regel dringende – Warnungen:

  • CPU %: Wenn Ihre Anwendung viele CPU-Ressourcen verwendet, könnte dies ein Zeichen dafür sein, dass Sie die Anwendung entweder optimieren oder auf einen leistungsfähigeren Server verschieben müssen. In beiden Fällen ist es gut zu wissen, wann Sie an die Grenzen dessen stoßen, was die Maschine bewältigen kann.
  • Datenträger-E/A%: In New Relic Servers gibt Ihnen die Metrik Datenträger-E/A% an, wie oft Ihre Datenträger verwendet werden, wobei 0 % bedeutet, dass überhaupt keine Datenträgervorgänge durchgeführt werden, und zu 100 %, dass die Festplatte ständig verwendet wird.
  • Arbeitsspeicher %: Insbesondere bei der Arbeit an einer datenintensiven Anwendung ist Arbeitsspeicher eine der ersten Ressourcen, um die Sie sich kümmern müssen. Stellen Sie sicher, dass Sie früh genug eine Benachrichtigung erhalten, bevor dem Computer der freie Speicher ausgeht.
  • Vollster Datenträger %: Wenn auf Ihrem Server nicht mehr genügend Festplattenspeicher vorhanden ist, können Sie sicher sein, dass Ihre Anwendung nicht so funktioniert, wie sie sollte. Auch hier ist es besser, ein Speicherplatzproblem zu lösen, bevor es Ihre Benutzer betrifft: etwa 90% voll oder so.
  • Lastdurchschnitt: Der Lastdurchschnitt gibt an, wie gut die CPU des Servers mit der Arbeit fertig wird, die ihr berechnet wird. Ein Wert von 0 bedeutet einen völlig ungenutzten Computer, und jeder laufende oder wartende Prozess trägt zur Zahl bei. Der Warnschwellenwert hängt davon ab, wie viele Kerne Ihr Server hat: Auf einem Single-Core-System bedeutet ein Lastdurchschnitt von 1, dass die CPU mit voller Kapazität genutzt wird (bei zwei Kernen ist die Anzahl 2 usw.). Höhere Werte bedeuten, dass einige Prozesse in der Schlange stehen.

Was kommt als nächstes?

Wir haben uns nun angesehen, wie Warnungen Ihnen helfen können, Ihre Webanwendung zu überwachen und Ihnen Sicherheit zu geben, die Grundlagen des Entwerfens guter Warnungen erläutert und die Schritte zur Verwendung von New Relic Alerts zum Einrichten von Warnungen für Ihre Webanwendung erläutert.

Wenn Sie gerne basteln, bietet Ihnen Alerts eine breite Palette von Möglichkeiten, Ihre Warnungen zu optimieren und zu verfeinern, bis sie genau richtig sind: Fügen Sie Ihrem Code einige benutzerdefinierte Metriken hinzu, verwenden Sie Daten aus New Relic-Plugins und senden Sie Warnungen an alle Arten von verschiedenen Benachrichtigungskanälen - oder wenn Sie ein mobiler Entwickler sind, werfen Sie einen Blick auf mobile Warnungen. Wir haben nur an der Oberfläche gekratzt.

Alerts befindet sich derzeit in der Beta-Phase, was bedeutet, dass immer noch neue Funktionen implementiert werden, während wir sprechen. Um also über die neuen Entwicklungen auf dem Laufenden zu bleiben, behalten Sie die Dokumentation zu New Relic Alerts im Auge und nehmen Sie an der Diskussion in den Diskussionsforen des Tools teil.

Aber zuerst, fahren Sie fort und erstellen Sie einige Warnungen!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
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.