Как правильно установить Kissmetrics в приложении rails? - PullRequest
0 голосов
/ 13 февраля 2012

Я использую метод Ruby API для установки KM API, но я не уверен, что делаю это правильно. Первое, что я сделал, это вставил код инициализации KM в мой файл init.rb:

KM.init("API-KEY", 
  :log_dir => '/var/logs/km/', 
  :use_cron => true, 
  :to_stderr => true)

Я заменил API-KEY своим ключом API, очевидно. Затем в нем говорится, что правильный способ сделать это - сохранить данные в файл и отправлять их в KM каждые 5 минут в качестве cronjob. Мой первый вопрос - правильный ли каталог / var / logs / km / для сохранения данных? Я не вижу этот каталог в моем приложении rails.

Затем я использую рецепт шеф-повара для отправки заданий cron следующим образом:

# send KM logs to KM
cron "Send KM data to KM" do
  minute  '*/5'
  hour    '*'
  day     '*'
  month   '*'
  weekday '*'
  command "/usr/bin/ruby /km-install-dir/bin/km_send"
end

Я тоже не уверен, правильно ли это. Пример показывает код cron следующим образом:

*/5 * * * * /usr/bin/ruby /km-install-dir/bin/km_send

Вот так я и сделал работу cron в шеф-поваре. Итак, несколько вопросов: как узнать, работает ли он или нет? Кажется, я не могу найти файл, в котором хранятся данные для задания cron. Я поместил его в неправильный каталог? Мой рецепт шеф-повара правильный?

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 ноября 2012

Я не использовал Chef для асинхронной отправки данных. Вы можете установить гем debugger и проверить, инициализирована ли переменная KM в правильной среде (development.rb, production.rb). Также проверьте, имеет ли каталог журналов нужные права.

0 голосов
/ 15 марта 2013

Вместо сохранения данных KissMetrics в файл и настройки задания cron я получил хорошие результаты, комбинируя delayed_job с delayed_km .

Данные о событиях сохраняются в базе данных, а затем отправляются партиями через равные промежутки времени. Я обнаружил, что это избавляет от необходимости настраивать пользовательские задания cron и потенциально упрощает масштабирование вашего приложения. KissMetrics имеет небольшое количество документации по этому вопросу.

...