Graphite の Docker インストール用の rrd ファイルを指定する

Graphite の Docker インストール用の rrd ファイルを指定する

もともとデフォルトの Stack Overflow でこの質問をしたのですが、代わりにここで質問することを提案されました:

これは私にとって Docker と Graphite の両方への初めての試みなので、これが Docker の問題なのか、Graphite の問題なのか (おそらく Docker の問題だと思います) は完全にはわかりません。

dockerのインストール手順に従ってGraphiteをインストールしました。

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

アクセスできるhttps://localhost:80一般的なグラファイトのログインページを見ましたが、ここからどこに行けばいいのか全くわかりません。インストールページに保存する必要があることを示しています/opt/graphiteが、Docker 経由でインストールしているため、optディレクトリには何もないのは明らかです。

誰か良いチュートリアルを見つけたり、ここから先に進むための提案をしたりできましたか?

答え1

結局、私は自分でこの問題を解決しましたが、見つけるのが難しかったので、他の誰かが解決策を探している場合に備えて、docker ファイルの場所を見つけるには、次の手順に従ってください。

1. docker stop graphite
2. docker inspect graphite

Graphiteはrrdグラフ(および他のすべてのグラフ)を/opt/graphite/storage

検査ステートメントで、次のようなセクションを探します。

"Type": "volume",
"Name": "d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310",
"Source": "/var/lib/docker/volumes/d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310/_data",
"Destination": "/opt/graphite/storage",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""

これは、必要な場合に、/var/lib/docker/volumes/d78f944122a005cae1539d82a86fb93b6352371c3e0ca8a180ce0375da7f5310/_dataグラフ データがどこから取得されるかを見つけることができることを示しています。

確かにそのディレクトリは次のようになります:carbon-aggregator-a.pid carbon-cache-a.pid graphite.db index lists log rrd whisper

その後、ファイルを rrd ディレクトリに置くだけ.rrdで、Graphite で使用できるようになります。ファイルを最新の状態に保つための 1 つの解決策は、rrd ファイルが通常保存されている場所に rrd ディレクトリをシンボリックリンクすることです。

その後、グラファイトコンテナを再度起動することを忘れないでください。

docker start graphite

答え2

rrd ファイルへのシンボリック リンクのようなものが必要な場合、問題は Docker がシンボリック リンクをサポートしていないように見えることですが、代わりにバインド ボリュームを使用できます。

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

このコマンドのおかげで、ホストを/var/lib/collectdDocker にマウントし/opt/graphite/storage/rrd/collectd、グラフを最新の状態に維持できます。

関連情報