
Первоначально я задал этот вопрос на Stack Overflow, но мне посоветовали задать его здесь:
Это мой первый опыт работы с Docker и Graphite, поэтому я не совсем уверен, проблема ли это Docker или Graphicite (я предполагаю, Docker).
Я установил Graphite, следуя инструкциям по установке 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\
graphiteapp/graphite-statsd
Я могу получить доступhttps://localhost:80и увидеть общую страницу входа в систему graphite, но я совершенно не представляю, куда идти дальше.установить страницупоказывает, что все должно храниться в , однако, поскольку я устанавливаю его через 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
и поддерживаем наши графики в актуальном состоянии.