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

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

У меня есть счетчик в 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).

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

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

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

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

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

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

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

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

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

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

pkill statsd

Ни один из приведенных выше ответов не помог в моем случае. Я нашел это в stackoverflow, который мне помог: https://stackoverflow.com/questions/15501677/deleted-empty-graphite-whisper-files-automatically-re-generating#answer-20011928

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

В идеале вы должны решить проблему на своем клиенте, чтобы решить эту проблему, но вы также можете отклонить эту метрику на стороне сервера, используя черный список Whper's.

Сделать это:

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