2

我们正在尝试将 DataDog 与我们的 Ruby On Rails 应用程序集成。我们的 ROR 应用程序将每秒不断地添加用户、更新用户和删除用户。

我已经集成了 Datadog 来监控号码。通过 Datadog 提供的图表添加、更新和删除的用户。

我使用 Ubuntu Aws 实例的命令安装了 datadog 代理。

我获得了 14 天的免费试用期。

我为dogstatd-ruby gem遵循了这个文档:https ://github.com/DataDog/dogstatsd-ruby

之后,我在我的 ruby​​ 项目中编写了代码,如下所示:

require 'statsd'

dogstatsd = Statsd.new('MY_API_KEY')

user_data = ExportUser.find_by_userID(user["userId"].to_s)

if user_data.nil?
   dogstatsd.increment('custom.users.added')  #increment dogstat if a user is added and below query is run

   #new record, go ahead with insertion
   user_new = ExportUser.new(user)
   @status = user_new.save

else
   dogstatsd.increment('custom.users.updated') #increment dogstat if a user is updated and below query is run

   #existing record, go ahead with updation
   @status = user_data.update_attributes(user)
end

在这里,我在指标资源管理器中看不到“custom.users.updated”和“custom.users.added”图表。

如果有任何 1 帮助我在 Datadog 帐户中为这两个指标设置图表,我将不胜感激。如果我在这里遗漏了什么,请告诉我。

4

1 回答 1

4

只需注意几项即可使其正常工作:

dogstatsd = Statsd.new('MY_API_KEY')

这行代码尝试使用您的 API 密钥建立 statsD 连接,但这实际上应该尝试通过您的代理上当前配置的 statsD 端口建立 statsD 连接,如下所示:

Create a stats instance. statsd = Statsd.new('localhost', 8125)

将自定义指标导入 Datadog 的最简单方法是将它们发送到 DogStatsD,这是一个与 Datadog 代理捆绑在一起的指标聚合服务器(在 3.0 及更高版本中)。DogStatsD 实现了 StatsD 协议,以及一些针对特殊 Datadog 功能的扩展。

http://docs.datadoghq.com/guides/dogstatsd/

如果您不想在运行 RoR 应用程序的主机上部署代理,您可以使用 DogAPI gem:

https://github.com/DataDog/dogapi-rb

其中有额外的文档来提交这个自定义指标:

require 'rubygems'
require 'dogapi'

api_key = "abcdef123456"

dog = Dogapi::Client.new(api_key)

dog.emit_point('some.metric.name', 50.0, :host => "my_host", :device => "my_device")

如果您还有其他问题,请联系 support@datadoghq.com

于 2016-01-20T19:54:55.420 回答