【问题标题】:How do I get Kissmetrics installed properly on a rails app?如何在 rails 应用程序上正确安装 Kissmetrics?
【发布时间】:2012-02-13 19:06:35
【问题描述】:

我正在使用 Ruby API 方法来安装 KM API,但我不确定我是否正确执行。我做的第一件事是将 KM 初始化代码放入我的 init.rb 文件中:

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

显然,我用我的 api 密钥替换了 API-KEY。然后它说正确的做法是将数据保存在文件中,并每 5 分钟将其作为 cronjob 发送到 KM。我的第一个问题是 - /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

这就是我在 Chef 中完成 cron 工作的方式。所以,几个问题:我怎么知道它是否有效?我似乎找不到为 cron 作业存储数据的文件,是我把它放在错误的目录中了吗?我的厨师食谱正确吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails cron chef-infra kissmetrics


    【解决方案1】:

    我没有使用 Chef 异步发送数据。 您可以安装debugger gem 并检查 KM 变量是否在正确的环境(development.rb、production.rb)中初始化。还要检查日志目录是否有正确的权限。

    【讨论】:

      【解决方案2】:

      我没有将 KissMetrics 数据保存到文件并设置 cron 作业,而是将 delayed_jobdelayed_km 结合起来获得了很好的结果。

      事件数据保存在数据库中,然后定期批量发送。 我发现这消除了设置自定义 cron 作业的需要,并且可能更容易扩展您的应用程序。 KissMetrics 对此有一个small amount of documentation

      【讨论】:

        猜你喜欢
        • 2013-10-02
        • 2012-10-14
        • 2011-06-01
        • 1970-01-01
        • 2013-08-24
        • 2017-03-25
        • 2015-01-11
        • 1970-01-01
        • 2014-10-09
        相关资源
        最近更新 更多