Как отслеживать количество активных пользователей в Graphite

Мне нужно отслеживать количество активных пользователей на моем веб-сайте в любой момент времени. Для этого я увеличиваю ключ с именем «users.loggedin» каждый раз, когда пользователь входит в систему, и уменьшаю его каждый раз, когда пользователь выходит из системы.

Я отправляю свои показатели в Graphite через StatD. Но на основании того, что я прочитал, «Приращение» дает изменения за интервал времени, поэтому я мог видеть изменения на панели инструментов Graphite, но через некоторое время он снова показывает ноль.


person Nitesh    schedule 24.09.2013    source источник
comment
Вы имеете в виду интеграл (graphite.readthedocs.org /ru/0.9.10/)? Инкремент не графитовая функция.   -  person Matt Self    schedule 24.09.2013
comment
извините, я имел в виду показатели счетчика StatsD. Я увеличиваю счетчик на 1, когда новый пользователь входит в систему, и уменьшаю его в том же порядке, если пользователь выходит из системы.   -  person Nitesh    schedule 25.09.2013


Ответы (1)


Настроить Graphite для StatsD

Вы настроили Graphite для использования со StatsD? Вы должны указать в Конфигурация Graphite, как вы ожидаете, что он будет обрабатывать данные, которые вы отправляете из StatsD. Это важно, потому что Graphite может усреднять ваши подсчеты, а не суммировать их.

При отправке разреженных или "прерывистых" данных

Убедитесь, что ваш xFilesFactor достаточно низок, чтобы агрегация давала ненулевые значения даже при высокой частоте нулевых значений. Например, 100 запросов в течение первых 10 секунд и ни одного запроса в течение оставшихся 50 секунд в минуту приведут к хранению 100, null, null, null, null, null, которое суммируется с нулевым значением при устаревании данных, если XFilesFactor выше 1/6. С этим справится рекомендуемая statsd графитовая конфигурация, но полезно знать об этом... так как это может привести к потере данных.

Сохранение изменений схемы или агрегации

Если вы изменили схему графита или настройки агрегации после того, как какие-либо метрики были сохранены (шепотом = хранилище графита), вам потребуется либо удалить файлы .wsp для метрики (графит создаст их заново), либо запустить whisper-resize.py.

Проверка настроек

Вы можете проверить настройки по некоторым данным шепота, запустив шепот-info.py в файле .wsp. Найдите файл .wsp для одной из ваших метрик в /graphite/storage/whisper/. Запустите: whisper-info.py my_metric_data.wsp. Выходные данные шептала-info.py должны рассказать вам больше о том, как работают настройки хранилища.


После того, как вы подтвердите, что ваши данные точны, я перейду к созданию нужного вам графика в UI:

Вам может понадобиться использовать hitcount() функция для этого.

Этот пост довольно хорошо описывает то, что вам нужно (даже если вы не используете StatsD).

person Matt Self    schedule 24.09.2013