Sentry.io – Ein umfassendes Tool für effiziente Fehlerüberwachung, -behebung und Leistungsüberwachung in Ihrer Anwendung

Entwickler kennen die Herausforderungen, die mit der Fehlerbehebung und Leistungsüberwachung von Softwareprojekten einhergehen. Ein effizientes Tool zur Überwachung und Behebung dieser Probleme ist entscheidend, um die Qualität und Zuverlässigkeit Ihrer Anwendung sicherzustellen. In diesem Blog-Post stellen wir Ihnen Sentry.io vor, ein umfassendes Tool, das Entwicklern hilft, Fehler zu überwachen, zu beheben und die Leistung ihrer Anwendungen zu optimieren.

Was ist Sentry.io?

Sentry.io ist eine leistungsstarke Fehlerüberwachungs- und Leistungsüberwachungsplattform, die Entwicklern hilft, Fehler in Echtzeit zu erkennen und zu beheben. Es bietet eine Vielzahl von Funktionen und Integrationen, die die Zusammenarbeit und den Entwicklungsprozess vereinfachen und beschleunigen.

Warum benötigen Entwickler Sentry.io in ihren Projekten?

  1. Einfache Implementierung: Sentry.io unterstützt eine breite Palette von Programmiersprachen und Frameworks, darunter JavaScript, Python, Ruby, PHP, Java, .NET, Go, Node.js und viele mehr. Die einfache Implementierung ermöglicht es Entwicklern, schnell und unkompliziert mit der Fehlerüberwachung und Leistungsüberwachung zu beginnen.
  2. On-Premise-Betrieb: Sentry.io kann entweder in der Cloud oder On-Premise betrieben werden, je nach den Anforderungen Ihres Unternehmens. Mit der On-Premise-Lösung haben Sie volle Kontrolle über Ihre Daten und können die Sicherheits- und Datenschutzanforderungen Ihres Unternehmens erfüllen.
  3. Echtzeit-Alerts: Sentry.io informiert Sie in Echtzeit über auftretende Fehler und Leistungsprobleme, sodass Sie sofort eingreifen und die Probleme beheben können. Dies reduziert die Ausfallzeiten Ihrer Anwendung und verbessert die Benutzererfahrung.
  4. Integration mit Projektmanagement-Tools: Sentry.io integriert sich nahtlos in gängige Projektmanagement-Tools wie Jira, GitHub, GitLab, Slack, Trello und viele mehr. Dies erleichtert die Zusammenarbeit zwischen Entwicklern und anderen Teammitgliedern und ermöglicht es Ihnen, den Fortschritt Ihrer Fehlerbehebung und Leistungsoptimierung effizient zu verfolgen.

Leistungsüberwachungsfunktionen von Sentry.io:

Sentry.io bietet leistungsstarke Funktionen zur Leistungsüberwachung, die Entwicklern helfen, potenzielle Performance-Probleme zu erkennen und zu beheben. Mit diesen Funktionen können Sie:

  1. Detaillierte Leistungsdaten sammeln: Sentry.io sammelt detaillierte Leistungsdaten wie Ladezeiten, Netzwerkanfragen, Datenbankabfragen und mehr. Diese Daten helfen Ihnen, Engpässe in Ihrer Anwendung zu identifizieren und gezielte Optimierungen vorzunehmen.
  2. Leistungstrends analysieren: Mit Sentry.io können Sie Leistungstrends im Laufe der Zeit analysieren und herausfinden, welche Bereiche Ihrer Anwendung am meisten Aufmerksamkeit benötigen. Dies ermöglicht Ihnen, datengestützte Entscheidungen zu treffen und Ihre Entwicklungsressourcen effektiv einzusetzen.
  3. Leistungswarnungen einrichten: Sentry.io ermöglicht es Ihnen, benutzerdefinierte Leistungswarnungen einzurichten, die Sie benachrichtigen, wenn bestimmte Schwellenwerte überschritten werden. Dies hilft Ihnen, potenzielle Performance-Probleme frühzeitig zu erkennen und proaktiv zu handeln.
  4. Tracing und Debugging: Mit den umfassenden Tracing- und Debugging-Funktionen von Sentry.io können Sie die Ursache von Performance-Problemen schnell aufspüren und beheben. Sie erhalten Einblick in den gesamten Ablauf Ihrer Anwendung, von Frontend bis Backend, und können so gezielt Verbesserungen vornehmen.

Preise

Sentry.io kann man in der Cloud 4 Free nutzen / testen. Dabei stehen nicht alle Features zur Verfügung – aber als Einstieg eine super Sache. So können maximal 5000 Fehler, 10.000 Performance Datenpunkte, 50 Replays (Front-End) und 1GB Anlagen gespeichert werden. Das sollte für jedes Hobby-Projekt reichen.

Bei den größeren Paketen kommt dann mehr Volumen dazu. Wobei man auch Guthaben extra dazu kaufen kann. Dafür gibt es einen extra Rechner hier.

Self-Hosted Sentry

Für diejenigen, die eine größere Kontrolle über ihre Sentry-Installation wünschen, bietet Sentry.io auch eine Self-Hosted-Version an. Die Self-Hosted-Version von Sentry ist für einfache Anwendungsfälle optimiert und ermöglicht es Ihnen, die gesamte Infrastruktur selbst zu verwalten. Dieser Abschnitt beschreibt, wie Sie mit der Self-Hosted-Version von Sentry beginnen und welche Überwachungsoptionen Sie haben.

https://github.com/getsentry/self-hosted

Self-Hosted Sentry: Neben dem öffentlich zugänglichen Quellcode bietet und pflegt Sentry eine minimale, sofort einsatzbereite Setup-Lösung für einfache Anwendungsfälle. Diese Lösung dient auch als Vorlage für den Aufbau komplexerer Sentry-Installationen. Um die Einrichtung zu vereinfachen, verwendet Sentry Docker, Docker Compose und ein auf Bash basierendes Installations- und Upgrade-Skript.

Erste Schritte: Unsere Empfehlung ist, die neueste Version des Self-Hosted-Repositories herunterzuladen und anschließend ./install.sh in diesem Verzeichnis auszuführen. Dieses Skript kümmert sich um alle notwendigen Schritte, einschließlich der Basis-Konfiguration, und fordert Sie anschließend auf, docker-compose up -d auszuführen, um Sentry zu starten. Standardmäßig verwendet Sentry den Port 9000. Die Anmeldeseite sollte unter http://127.0.0.1:9000 erreichbar sein.

Self-Hosted Monitoring: Wenn Sie ./install.sh ausführen, haben Sie die Möglichkeit, sich für das Monitoring zu entscheiden. Dieses Monitoring dient der Entwicklungs- und Fehlerbehebung, sodass Sentry schnell auf auftretende Probleme reagieren und eine reibungslosere Installationsumgebung bieten kann. Weitere Details finden Sie im entsprechenden Abschnitt der Self-Hosted-README.

Beachten Sie, dass die Entscheidung, ob Fehler gesendet werden sollen oder nicht, ab der Version 22.11.0 verpflichtend ist.

Insgesamt bietet die Self-Hosted-Version von Sentry.io eine höhere Kontrolle über Ihre Fehlerüberwachungs- und Leistungsoptimierungsumgebung. Dies ermöglicht es Ihnen, die Anforderungen Ihres Unternehmens in Bezug auf Sicherheit, Datenschutz und individuelle Konfigurationen besser zu erfüllen.

Requirements

  • Docker 19.03.6+
  • Compose 1.28.0+
  • 4 CPU Cores
  • 8 GB RAM
  • 20 GB Free Disk Space

Sentry.IO und .NET

Sentry.io bietet umfassende Unterstützung für .NET-Entwickler, einschließlich spezieller NuGet-Pakete für ASP.NET und Entity Framework. Diese Integrationen ermöglichen es Ihnen, das volle Potenzial von Sentry.io in Ihren .NET-Projekten auszuschöpfen und die Fehlerüberwachung, Leistungsüberwachung und Optimierung zu verbessern.

ASP.NET und Entity Framework: Sentry.io bietet spezielle NuGet-Pakete für ASP.NET und Entity Framework, die das Einbinden der Fehlerüberwachungs- und Leistungsüberwachungsfunktionen in Ihre Projekte erleichtern. Mit der Integration von Entity Framework können Sie sogar die einzelnen SQL-Abfragen in Sentry.io verfolgen und genau nachvollziehen, was in Ihrer Anwendung passiert. Dies erleichtert das Debugging und die Identifizierung von Performance-Engpässen in Ihrer Datenbank.

.NET MAUI-Unterstützung: Die neueste Ergänzung zur Sentry.io-Unterstützung für .NET ist die Integration von .NET MAUI (Multi-platform App UI). .NET MAUI ist ein plattformübergreifendes Framework für die Entwicklung von nativen mobilen und Desktop-Anwendungen mit .NET und C#. Mit der Unterstützung von .NET MAUI in Sentry.io können Entwickler nun auch Fehler und Leistungsprobleme in ihren .NET MAUI-Anwendungen überwachen und beheben.

Dank der umfassenden Integration von Sentry.io in die .NET-Welt können Entwickler von den leistungsstarken Funktionen zur Fehlerüberwachung, Leistungsüberwachung und Optimierung profitieren, unabhängig davon, ob sie ASP.NET, Entity Framework oder .NET MAUI verwenden. Diese Integrationen erleichtern es Ihnen, die Qualität und Zuverlässigkeit Ihrer .NET-Anwendungen zu verbessern und potenzielle Probleme schnell und effizient zu beheben.

Beispiel mit .NET Core und ASP.NET

Fügen Sie die Sentry-Abhängigkeit hinzu:

dotnet add package Sentry.AspNetCore

Konfigurieren Sie Sentry in appsettings.json.

"Sentry": {
  "Dsn": "https://examplePublicKey@o0.ingest.sentry.io/0",
  "Debug": true,
},

Fügen Sie dann das SDK hinzu, indem Sie einfach UseSentry:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            // Add the following line:
            webBuilder.UseSentry();
        });

.NET Core / Konsole

Aber auch auf der Konsole kann man sentry sehr gut verwenden:

using (SentrySdk.Init(o => {
  // Tells which project in Sentry to send events to:
  o.Dsn = "https://<key>@sentry.io/<project>";
  // When configuring for the first time, to see what the SDK is doing:
  o.Debug = true;
  // Set TracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
  // We recommend adjusting this value in production.
  o.TracesSampleRate = 1.0; }))
{
  // App code goes here - Disposing will flush events out
}

Die Oberfläche

Los gehts immer mit den Issues die entstanden sind. In meiner Privaten Instanz überwache ich z.b. einige Discord Bots und da tritt häufiger der Fehler auf, dass die API von Discord nicht erreichbar ist. Die Fehler hier sind alle verursacht durch Netzwerkfehler oder weil die API schlicht nicht da war.

Was Sentry auch noch sehr interessant für KMU macht ist die Funktion der Organisationen wo man für verschiedene Teams auch eigene Mandanten zur Verfügung stelllen kann.

Alerts

Alerts sind ein wichtiges Feature von Sentry.io, das Ihnen Echtzeit-Einblicke in Probleme mit Ihrem Code und deren Auswirkungen auf Ihre Benutzer bietet. Es gibt verschiedene Arten von Alerts mit anpassbaren Schwellenwerten und Integrationen.

Über die Alert-Seite in Sentry.io können Sie neue Alert-Regeln erstellen und bestehende verwalten. Die Registerkarte “Alert Rules” zeigt Ihre bestehenden Alert-Regeln sowie deren aktuellen Status, Projekt, Team und Erstellungsdatum an. Standardmäßig werden nur Alerts angezeigt, die mit den Teams, denen Sie angehören, oder solche, die keinem Team zugeordnet sind, verknüpft sind. Sie können dies mit der Filterfunktion anpassen.

Auf der Alert-Seite gibt es auch eine Registerkarte “History”, auf der Sie eine Liste von Metrik-Alerts mit Informationen wie Auslösezeitpunkt und Aktivdauer finden.

Issue Alerts: Issue Alerts werden ausgelöst, wenn ein Issue in einem Projekt bestimmte Kriterien erfüllt. Sie können Alerts für Issue-bezogene Änderungen erstellen, wie zum Beispiel:

  • Neue Issues
  • Zunehmende Häufigkeit von Issues
  • Gelöste und ignorierte Issues, die wieder ungelöst werden

Eine vollständige Liste der Issue-Alert-Auslöser finden Sie in der Issue Alert Configuration.

Metrik-Alerts für Fehler & Performance: Metrik-Alerts werden ausgelöst, wenn eine Metrik für Fehler- oder Transaktionsereignisse überschritten wird. Verwenden Sie Metrik-Alerts, um eine endliche und bekannte Menge an Metriken und Komponenten zu überwachen, die Ihnen wichtig sind, wie zum Beispiel Fehlerhäufigkeit oder Leistungsmetriken in Ihrem gesamten Projekt, auf wichtigen Seiten oder mit bestimmten Tags.

Erstellen Sie Alerts, um Metriken wie folgende zu überwachen:

  • Gesamtanzahl der Fehler in Ihrem Projekt
  • Latenz: Minimum, Maximum, Durchschnitt, Perzentil
  • Fehlerquote
  • Absturzfreie Sitzungs- oder Benutzerrate zur Überwachung der Release-Gesundheit
  • Benutzerdefinierte Metriken

Eine vollständige Liste der verfügbaren Metrik-Alerts finden Sie in den Metric Alerts.

Fazit

Sentry.io ist ein umfassendes und leistungsstarkes Tool, das Entwickler bei der Fehlerüberwachung, Fehlerbehebung und Leistungsüberwachung ihrer Anwendungen unterstützt. Durch seine einfache Implementierung, On-Premise-Betriebsmöglichkeiten, Echtzeit-Alerts und Integration mit Projektmanagement-Tools ist Sentry.io eine wertvolle Ergänzung für jedes Entwicklerteam. Die Leistungsüberwachungsfunktionen von Sentry.io helfen Ihnen, potenzielle Performance-Probleme frühzeitig zu erkennen und zu beheben, sodass Sie die Qualität und Zuverlässigkeit Ihrer Anwendung kontinuierlich verbessern können.

Über Danny Sotzny

Hallo, ich bin Danny Sotzny und bin Software- entwickler und Fotograf. Dabei beschäftige ich mich mit aktuellen Technologien und bekannten Problemen. Schwerpunkte setze ich bei der Webentwicklung (PHP/JS) und der Software- entwicklung mit .NET (C#). Der Blog dient für mich selbst als Gedächtnishilfe für typische und alltägliche Probleme, aber auch persönliche Erlebnisse werden veröffentlicht. Ich betreibe zusätzlich noch Foto-Sotzny.de für meine Fotografien und sotzny.net, was meine Webseite für die Softwareentwicklung ist.
Dieser Beitrag wurde unter C#, Nützliches, Programmierung abgelegt und mit , , , , , , , , , , , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.