Frage

Ich bin daran interessiert zu wissen, ob es eine Alternative zu rrdtool ist Zeitreihendaten für die Anmeldung. Ich bin auf der Suche etwas, das für eine große Anzahl von Geräten skalieren zu überwachen.

Von dem, was ich zu diesem Thema lesen, rrdtool ist I / O gebunden, wenn Sie ihn treffen mit großen Datenmengen. Da ich dies vorstellen, auf eine sehr große Anzahl von Geräten zu skalieren zu überwachen, ich bin gespannt, ob eine Alternative gibt es die nicht auf I / O ersticken würden. Bevorzugte SQL-basierte, aber nicht unbedingt.

Danke

War es hilfreich?

Lösung

Wenn I / O-Leistung die Hauptsorge ist, dann Sie in etwas aussehen wollen wie

Andere Tipps

Ein Freund von mir hat eine Weile einige Arbeit vor auf einem SQL-Backend Round-Robin-Daten zu speichern: http: // rrs .decibel.org

Allerdings vermute ich, dass da Sie über „Geräte zu überwachen“ sind zu fragen, können Sie sich für eine Komplettlösung suchen.

Wenn I / O-Operationen pro Sekunde Hauptengpass ist und Sie verwenden Linux, gibt es eine einfache Hack, dass Sie Speicher kostet nur. Verwenden Sie ein tmpfs mounten RRD schreibt Bühne.

Alle I / O-Operationen werden im Speicher durchgeführt werden und werden nicht der Engpaß dabei Disk I / O (dies ist sogar schneller als die Verwendung von Solid State Disks) gefunden entstehen. Anschließend können Sie einen cron-Job und rsync verwenden nur geänderte RRDs auf die Festplatte einmal alle paar Minuten zu kopieren.


Erstellen Sie die Verzeichnisse

bash-4.2# mkdir /mnt/rrd-reads
bash-4.2# mkdir /mnt/rrd-writes

Erstellen Sie ein 500 MB-RAM maximalen Dateisystem mit entsprechenden Optionen

bash-4.2# mount -t tmpfs -o size=500m,mode=0750,uid=collectd,gid=collectd none /mnt/rrd-writes
bash-4.2# echo "none /mnt/rrd-writes tmpfs size=500m,mode=0750,uid=collectd,gid=collectd 1 2" >> /etc/fstab

Kopieren Sie die alten RRD-Dateien in den neuen Mount-Punkt

bash-4.2# cp -a /var/lib/collectd/rrd/* /mnt/rrd-writes

Konfigurieren Sie Ihre rrd-Schreibanwendung auf den neuen Bereitstellungspunkt

schreiben
bash-4.2# sed -i -e 's/DataDir "\/var\/lib\/collectd\/rrd"/DataDir "\/mnt\/rrd-writes"/' /etc/collectd/collectd.conf

einen Cron-Job einrichten, um nur die geänderten RRDs auf die Festplatte einmal alle 2 Minuten

synchronisieren
bash-4.2# echo "*/2 * * * * collectd rsync -a /mnt/rrd-writes/* /mnt/rrd-reads/ ; sync" > /etc/cron.d/rrd-sync

Vergessen Sie nicht, Ihre gespeicherten RRD-Dateien in den Bereitstellungspunkt kopieren vor Sie Ihre rrd-Schreiben Anwendung starten! Möglicherweise müssen Sie das Init-Skript für diesen Dienst bearbeiten, um sicherzustellen, dass die Dateien vorhanden sind, bevor es beginnt. Wenn es ohne die Dateien an ihrem Platz beginnt, wird neue kahle erstellt werden, und Sie werden sehr verwirrt sein, wenn das Lesebuch mit leeren RRDs überschrieben wird.

Wenn Sie an einem gewissen Punkt müssen die tmpfs mounten, um die Größe, können Sie, dass im Fluge tun:

bash-4.2# mount -t tmpfs -o remount,size=850m /mnt/rrd-writes
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top