
我最初在預設的 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://本地主機:80並查看一般石墨登錄頁面,但我完全不知道從這裡去哪裡。這安裝頁面顯示內容應該儲存在其中,但因為我是透過 Docker 安裝的,所以我的目錄/opt/graphite
中顯然沒有任何內容。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 一起使用。保持它們最新的一種解決方案是將您的 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/collectd
到 Docker/opt/graphite/storage/rrd/collectd
並保持圖表最新。