У меня есть счетчик в stats.message.foo
и хочу переместить его в stats.messages.foo
.
Я обновил свой код, чтобы заполнить новый счетчик, однако старый все еще существует.
Я читать все, что мне нужно сделать, чтобы удалить статистику из графита, - это удалить соответствующий файл шепота на диске, однако кажется, что в течение нескольких секунд после удаления wsp
он восстанавливается (без данных).
Это раздражает, если я хочу переименовать ключ, под которым хранятся данные, поскольку мне нужно запомнить который ключ правильный.
Кто-нибудь знает, как навсегда удалить старый счетчик?
Причина, по которой так много людей борются с этой проблемой (включая меня), заключается в том, что statsd (в зависимости от его настроек) продолжает записывать данные в старую статистику (файлы шепота) даже после удаления файла шепота (.wsp).
Проверьте настройки statsd в /etc/statsd/config.js (в Ubuntu). Примеры настроек на https://github.com/etsy/statsd/blob/master/exampleConfig.js. Я бы рекомендовал установить deleteIdleStats к правда так что statsd не записывает статистику, когда она не получена.
Падение deleteIdleStats заключается в том, что Graphite теперь может иметь нулевые значения для определенных характеристик. Это можно сделать на уровне визуализации (я рекомендую Grafana).
У вас есть два варианта остановить регенерацию удаленных файлов шепота:
service statsd restart
илиservice statsd restart
Чтобы удалить ненужные файлы wsp:
find pathToUnwantedStatistic -print
find pathToUnwantedStatistic -delete
У меня была аналогичная проблема, когда записи все еще существовали в Graphite, хотя данные не были доступны. Я использую statsd, и там тоже не было показателей. Оказывается, мне пришлось удалить эти папки в дополнение к файлам wsp.
Мой конкретный случай: я использовал имя машины в качестве префикса для statsd. Углерод создал папку для каждой из машин, например, в / opt / graphite / storage / Whper / stats / ip-0A215A08, где хранил wsp для моих показателей. Из-за этого, как только я удалил файлы wsp, у меня все еще оставалась куча «папок» в Graphite без каких-либо данных, которые все еще отображались в пользовательском интерфейсе.
Проверки углерода / графита
В statsd (если вы его используете) убедитесь, что больше нет датчиков, таймеров или счетчиков для показателей, от которых вы хотите избавиться. Для этого вы также можете использовать telnet на своем экземпляре (порт по умолчанию 8126) и проверить метрики с помощью соответствующих команд Интерфейс администратора вместо того, чтобы убить процесс.
Я была такая же проблема. Мне удалось удалить каталог, сначала отключив работающий сервер StatsD. Возможно, это та же проблема, что и у вас.
pkill statsd
Ни один из приведенных выше ответов не помог в моем случае. Я нашел это в stackoverflow, который мне помог: https://stackoverflow.com/questions/15501677/deleted-empty-graphite-whisper-files-automatically-re-generating#answer-20011928
Я согласен с другими, что что-то должно все еще отправлять старую метрику.
В идеале вы должны решить проблему на своем клиенте, чтобы решить эту проблему, но вы также можете отклонить эту метрику на стороне сервера, используя черный список Whper's.
Сделать это:
USE_WHITELIST=True
в /opt/carbon/conf/carbon.conf
/opt/carbon/conf/blacklist.conf