0

我正在使用安装 KM API 的 Ruby 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

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

谢谢!

4

2 回答 2

1

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

于 2012-11-26T16:19:06.093 回答
0

我没有将 KissMetrics 数据保存到文件并设置 cron 作业,而是将 delay_job 与 delay_km 结合起来取得了很好效果

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

于 2013-03-15T05:18:14.563 回答