0

KM API をインストールする Ruby API メソッドを使用していますが、正しく実行されているかどうかわかりません。最初にしたことは、KM init コードを init.rb ファイルに入れることです。

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

明らかに、API-KEY を自分の API キーに置き換えました。次に、それを行う適切な方法は、データをファイルに保存し、cron ジョブとして 5 分ごとに 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ジョブを設定する代わりに、delayed_jobdelayed_kmを組み合わせて良い結果が得られました。

イベントデータはデータベースに保存され、定期的にバッチで送信されます。これにより、カスタムcronジョブを設定する必要がなくなり、アプリのスケーリングが容易になる可能性があることがわかりました。KissMetricsには、これに関する少量のドキュメントがあります。

于 2013-03-15T05:18:14.563 に答える