2016-05-13 17 views
0

Ich arbeite derzeit an einem Überwachungssystem für meine Anwendung, die aus mehreren unabhängigen Microservices besteht. Ich verwende dropwizard-metrics zum Sammeln von Daten von JVMs, InfluxDB zum Speichern und Grafana zum Erstellen von gut aussehenden Graphen.Aggregierende Dropwizard-Timer-Metriken

Eines meiner Ziele ist die Erstellung eines einfachen Dashboards, das zeigt, wie meine Anwendung funktioniert. Also muss ich Metriken von jedem Microservice aggregieren, um eine globale Sicht zu haben.

Einige Metriken sind einfach zu aggregieren, z. Summe der aktiven Datenbankverbindungen. Ich habe Probleme mit der Aggregation timer metric, die ich irgendwie einfach visualisieren möchte, z. Ich bin daran interessiert, Perzentile der Antwortzeiten von Systemen zu aggregieren, von denen meine Anwendung von allen meinen Microservices-Instanzen abhängt.

Ich denke, das ist sehr häufig der Fall. Hast du irgendeinen Ratschlag? Ich habe blog post darüber gelesen, aber es deckt meinen Fall nicht ab.

Antwort

0

Sie möchten vielleicht nur ein APM-Tool kaufen, denken Sie an die Kosten, die mit dem Aufbau, der Aktualisierung und der Wartung all dessen verbunden sind. Auch der Speicher und die damit verbundene Rechenleistung. Sie werden auch einen Overhead für Ihre App einführen, wenn Sie all das sammeln. Es klingt nicht wie der richtige Weg, um das Problem zu lösen. Schließlich müssen Sie auch mit Dropwizard das Frontend und andere Technologien (Server usw.) überwachen. Dies ist der Hauptgrund, warum Sie es nicht selbst tun sollten. Sehen Sie sich AppDynamics, New Relic oder Ruxit als die Optionen an, die modern sind und all dies für Sie erledigen.

0

Ein Dropwizard-Metrik-Timer führt bereits eine Aggregation durch. Was Sie im Idealfall wollen, ist keine Vor-Aggregierung in Ihrer Metrik-Sammlung Anwendung, es sei denn, absolut notwendig. Sie können die Aggregation (Perzentile usw.) später in Grafana durchführen.