Как удалить счетчик графитовым шепотом?

14

У меня есть счетчик stats.message.fooи я хочу переместить его в stats.messages.foo.

Я обновил свой код, чтобы заполнить новый счетчик, однако старый все еще существует.

Я прочитал все, что мне нужно сделать, чтобы удалить стат из графита, это удалить соответствующий шепот файл на диске, однако кажется, что в течение нескольких секунд после удаления wspон восстанавливается (без данных).

Это раздражает, если я хочу переименовать ключ, под которым хранятся данные, так как мне нужно запомнить, какой ключ является правильным.

Кто-нибудь знает, как навсегда удалить старый счетчик?

hafichuk
источник
Если графит продолжает писать, stats.message.fooпотому что что-то еще отправляет эту метрику. Я бы посмотрел на ваши настройки statsd.
Дейв Вонгиллис
Вы когда-нибудь нашли ответ на это? Страдает от той же проблемы.
Дэвид Элнер
@dave К сожалению нет. Прошло много времени, и мы перешли на новый графитовый сервер, поэтому проблема «сама по себе» решена.
хафичук

Ответы:

8

Причина, по которой так много людей борются с этой проблемой (включая меня), заключается в том, что statsd (в зависимости от его настроек) продолжает записывать данные в старую статистику (шепотные файлы) даже после удаления файла шепота (.wsp).

Проверьте свои настройки statsd в /etc/statsd/config.js (в Ubuntu). Пример настроек на https://github.com/etsy/statsd/blob/master/exampleConfig.js . Я бы порекомендовал установить deleteIdleStats в значение true, чтобы statsd не записывал статистику, когда они не получены.

Падение deleteIdleStats заключается в том, что Graphite теперь может иметь нулевые значения для определенной статистики. Это можно сделать на слое визуализации (я рекомендую Grafana).

У вас есть две возможности остановить регенерацию удаленных шепотных файлов:

  • просто перезапустите statsd с помощью service statsd restartили
  • обновить настройки statsd, чтобы не отправлять статистику бэкэнду, если статистика не получена И затем service statsd restart

Чтобы удалить ненужные файлы wsp:

  1. Перечислите файлы, которые будут удалены сfind pathToUnwantedStatistic -print
  2. если при этом печатаются только те файлы, которые вы хотите удалить, запустите следующую строку, чтобы удалить ненужные файлы find pathToUnwantedStatistic -delete
IvanD
источник
1

У меня была похожая проблема, когда записи все еще существовали в графите, хотя данные не были доступны. Я использую statsd, и там тоже не было метрик. Оказывается, мне пришлось удалить эти папки в дополнение к файлам WSP.

Мой точный случай, я использовал имя машины в качестве префикса для statsd. Carbon создал папку для каждой из машин, например, в / opt / graphite / storage / whisper / stats / ip-0A215A08, где он сохранил wsp для моих метрик. Из-за этого, после того как я удалил файлы wsp, у меня все еще была куча «папок» в Graphite без каких-либо данных, которые все еще отображались в пользовательском интерфейсе.

Проверяет на углерод / графит

  • файлы .wsp
  • каталоги для статистики, от которой вы избавились

На statsd (если вы его используете) убедитесь, что больше нет индикаторов, таймеров или счетчиков для метрик, от которых вы хотите избавиться. Для этого вы также можете использовать telnet в своем экземпляре (порт по умолчанию 8126) и проверить метрики с помощью соответствующих команд интерфейса администратора, а не завершать процесс.

mrlabbe
источник
0

Я была такая же проблема. Я смог удалить каталог, сначала убив работающий сервер StatsD. Возможно, это та же проблема, что и у вас.

pkill statsd

Gerry
источник
0

Я согласен с другими, что что-то должно отправлять старую метрику.

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

Сделать это:

  1. обеспечить USE_WHITELIST=Trueв/opt/carbon/conf/carbon.conf
  2. добавить раздражающую метрику к /opt/carbon/conf/blacklist.conf
7yl4r
источник