Wie löscht man einen Zähler im Graphitflüstern?

14

Ich habe einen Schalter an stats.message.foound möchte ihn verschieben stats.messages.foo.

Ich habe meinen Code aktualisiert, um den neuen Leistungsindikator zu füllen, der alte ist jedoch noch vorhanden.

Ich habe alles gelesen, was ich tun muss, um eine Statistik von Graphit zu entfernen, um die entsprechende Whisper-Datei auf der Festplatte zu löschen. Es scheint jedoch, dass sie innerhalb weniger Sekunden nach dem Entfernen neu wspgeneriert wird (ohne Daten).

Dies ist ärgerlich, wenn ich den Schlüssel, unter dem die Daten gespeichert sind, umbenennen möchte, da ich wissen muss, welcher Schlüssel der richtige ist.

Weiß jemand, wie man den alten Zähler dauerhaft entfernt?

Hafichuk
quelle
Wenn Graphit stats.message.foowegen irgendetwas weiter schreibt , sendet irgendwo immer noch diese Metrik. Ich würde mir deine Statistik ansehen.
Dave Wongillies
Haben Sie jemals eine Antwort darauf gefunden? Das gleiche Problem leiden.
David Elner
@ Dave Leider nein. Es ist eine Weile her und wir sind auf einen neuen Graphit-Server umgezogen, sodass sich das Problem von selbst "gelöst" hat.
Hafichuk

Antworten:

8

Der Grund, warum so viele Menschen mit diesem Problem zu kämpfen haben (ich eingeschlossen), ist, dass statsd (abhängig von seinen Einstellungen) weiterhin Daten in alte Statistiken (Flüsterdateien) schreibt, selbst nachdem Sie die Flüsterdatei (.wsp) gelöscht haben.

Überprüfen Sie Ihre Statistikeinstellungen unter /etc/statsd/config.js (unter Ubuntu). Beispieleinstellungen unter https://github.com/etsy/statsd/blob/master/exampleConfig.js . Ich würde empfehlen, deleteIdleStats auf true zu setzen, damit statsd keine Statistiken schreibt, wenn sie nicht empfangen werden.

Der Nachteil von deleteIdleStats ist, dass Graphite jetzt für bestimmte Statistiken Nullwerte haben kann. Dies kann auf der Visualisierungsebene erledigt werden (ich empfehle Grafana).

Sie haben zwei Möglichkeiten, um die Regeneration gelöschter Whisper-Dateien zu stoppen:

  • statsd einfach mit service statsd restartoder neu starten
  • Aktualisieren Sie statsd-Einstellungen, um keine Statistiken an das Backend zu senden, wenn die Statistiken nicht empfangen werden, UND dann service statsd restart

So löschen Sie nicht mehr benötigte wsp-Dateien:

  1. Listen Sie die zu löschenden Dateien mit auffind pathToUnwantedStatistic -print
  2. Wenn dabei nur die zu löschenden Dateien gedruckt werden, führen Sie die folgende Zeile aus, um die unerwünschten Dateien zu löschen find pathToUnwantedStatistic -delete
IvanD
quelle
1

Ich hatte ein ähnliches Problem, bei dem noch Einträge in Graphite vorhanden waren, obwohl keine Daten verfügbar waren. Ich verwende statsd und es gab dort auch keine Metriken. Es stellte sich heraus, dass ich diese Ordner zusätzlich zu den wsp-Dateien löschen musste.

Mein genauer Fall ist, ich habe den Computernamen als Präfix für statsd verwendet. Carbon erstellte einen Ordner für jede Maschine in z. B. / opt / graphite / storage / whisper / stats / ip-0A215A08, in dem der wsp für meine Metriken gespeichert wurde. Aus diesem Grund hatte ich nach dem Löschen der wsp-Dateien immer noch eine Reihe von "Ordnern" in Graphite ohne Daten, die noch in der Benutzeroberfläche angezeigt wurden.

Überprüft Carbon / Graphit

  • WSP-Dateien
  • Verzeichnisse für die Statistiken, die Sie losgeworden sind

Vergewissern Sie sich auf statsd (falls Sie es verwenden), dass es keine Anzeigen, Timer oder Zähler mehr für die Metriken gibt, die Sie entfernen möchten. Zu diesem Zweck können Sie auch eine Telnet-Verbindung zu Ihrer Instanz herstellen (Standardport 8126) und mit den entsprechenden Befehlen der Admin-Oberfläche nach Metriken suchen , anstatt den Prozess abzubrechen .

mrlabbe
quelle
0

Ich hatte das gleiche Problem. Ich konnte das Verzeichnis entfernen, indem ich zuerst einen StatsD-Server beendet habe, der ausgeführt wurde. Vielleicht ist dies das gleiche Problem, das Sie hatten.

pkill statsd

Gerry
quelle
0

Ich stimme anderen zu, dass die alte Metrik noch gesendet werden muss.

Im Idealfall können Sie das Problem auf Ihrem Client beheben. Sie können diese Metrik jedoch auch serverseitig ablehnen, indem Sie die Blacklist-Funktionalität von Whisper verwenden .

Um dies zu tun:

  1. gewährleisten USE_WHITELIST=Truein/opt/carbon/conf/carbon.conf
  2. ärgerliche Metrik hinzufügen /opt/carbon/conf/blacklist.conf
7yl4r
quelle