Назад | Перейти на главную страницу

Укажите файлы rrd для Docker-установки Graphite

Первоначально я задавал этот вопрос в стандартном переполнении стека, и мне было предложено задать вопрос здесь:

Это мое первое знакомство с Docker и Graphite, поэтому я не совсем уверен, проблема ли это в докере или в графите (я предполагаю, что это 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 и просмотрите общую страницу входа в систему с графитом, но я совершенно не знаю, что делать дальше. В страница установки показывает, что вещи должны храниться в /opt/graphite однако, поскольку я устанавливаю его через Docker, в моем opt каталог.

Кто-нибудь смог найти хороший учебник или есть предложения о том, что делать дальше?

Для людей, которым требуется что-то вроде символической ссылки на свои файлы 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 в докер /opt/graphite/storage/rrd/collectd и мы постоянно обновляем наши графики.

В конечном итоге я решил это для себя, но мне было трудно найти, так что на случай, если кто-то еще ищет решение. Чтобы найти местоположение ваших файлов докеров, вы можете выполнить следующие действия.

1. docker stop graphite
2. docker inspect graphite

Graphite хранит графики rrd (и все остальные графики) в /opt/graphite/storage

Найдите в инструкции inspect раздел, который может выглядеть примерно так:

"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