Geben Sie RRD-Dateien für die Docker-Installation von Graphite an

Geben Sie RRD-Dateien für die Docker-Installation von Graphite an

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/graphiteaber da ich es über Docker installiere, befindet sich offensichtlich nichts in meinem optVerzeichnis.

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/_dataherausfinden 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 .rrdund 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/collectdin Docker /opt/graphite/storage/rrd/collectdund halten unsere Diagramme auf dem neuesten Stand.

verwandte Informationen