
Ich habe dies ursprünglich im Standard-Stack Overflow gefragt und mir wurde vorgeschlagen, die Frage stattdessen hier zu stellen:
Dies ist mein erster Ausflug in die Welt von Docker und Graphite, daher bin ich nicht ganz sicher, ob es sich um ein Docker- oder Graphite-Problem handelt (ich tippe auf Docker).
Ich habe Graphite gemäß den Docker-Installationsanweisungen mit dem Befehl installiert.
docker run -d\
--name graphite\
--restart=always\
-p 80:80\
-p 2003-2004:2003-2004\
-p 2023-2024:2023-2024\
-p 8125:8125/udp\
-p 8126:8126\
graphiteapp/graphite-statsd
Ich kann zugreifenhttps://localhost:80und sehe die allgemeine Graphit-Anmeldeseite, aber ich habe absolut keine Ahnung, wie es weitergeht. DieSeite installierenzeigt, dass die Dinge gespeichert werden sollten, /opt/graphite
aber da ich es über Docker installiere, befindet sich offensichtlich nichts in meinem opt
Verzeichnis.
Hat jemand ein gutes Tutorial gefunden oder hat jemand Vorschläge, wie es von hier aus weitergehen soll?
Antwort1
Ich habe das Problem letztendlich selbst gelöst, aber es war schwer für mich, es zu finden. Falls also jemand anders nach der Lösung sucht: Um den Speicherort Ihrer Docker-Dateien zu finden, können Sie diese Schritte ausführen.
1. docker stop graphite
2. docker inspect graphite
Graphit speichert die rrd-Graphen (und alle anderen Graphen) in/opt/graphite/storage
Suchen Sie in der Prüfanweisung nach dem Abschnitt, der ungefähr wie folgt aussehen könnte:
"Type": "volume",
"Name": "d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310",
"Source": "/var/lib/docker/volumes/d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310/_data",
"Destination": "/opt/graphite/storage",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
Dies sagt mir, dass ich, wenn ich gehe, /var/lib/docker/volumes/d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310/_data
herausfinden kann, woher die Diagrammdaten stammen.
Tatsächlich sieht dieses Verzeichnis so aus:carbon-aggregator-a.pid carbon-cache-a.pid graphite.db index lists log rrd whisper
Ich muss dann einfach meine Dateien in das rrd-Verzeichnis legen .rrd
und kann sie mit Graphite verwenden. Eine Lösung, um sie auf dem neuesten Stand zu halten, besteht darin, Ihr rrd-Verzeichnis mit dem Ort zu verknüpfen, an dem Ihre rrd-Dateien normalerweise gespeichert sind.
Vergessen Sie nicht, Ihren Graphitbehälter anschließend erneut zu starten.
docker start graphite
Antwort2
Für Leute, die so etwas wie einen symbolischen Link zu ihren RRD-Dateien möchten, besteht das Problem darin, dass Docker scheinbar keine symbolischen Links unterstützt. Stattdessen können Sie ein Bind-Volume verwenden:
docker run -d\
--name graphite\
--restart=always\
-p 80:80\
-p 2003-2004:2003-2004\
-p 2023-2024:2023-2024\
-p 8125:8125/udp\
-p 8126:8126\
--mount type=bind,source=/var/lib/collectd,target=/opt/graphite/storage/rrd/collectd \
graphiteapp/graphite-statsd
Dank dieses Befehls mounten wir unseren Host /var/lib/collectd
in Docker /opt/graphite/storage/rrd/collectd
und halten unsere Diagramme auf dem neuesten Stand.