我不理解DataDog中事件和指标之间的区别。我试图在我的信息中心中创建一个计数指示器,这样我现在可以发生某种类型事件的次数。
有许多名为some.event.name
的事件,但无论我使用什么查询,它总是返回1
。
我已尝试过这些查询,
sum:some.event.name{*}
count_nonzero(sum:some.event.name{*})
count_not_null(sum:some.event.name{*})
我还尝试过其他聚合函数avg|max|min|sum
,结果总是1
。
任何帮助都会受到高度关注。
答案 0 :(得分:0)
屏幕截图中的自由文本编辑器用于度量标准查询。图表中的事件将作为叠加层添加,以显示事件随时间发生的时间。
截至目前,没有窗口小部件显示事件发生次数的单个值。但您可以使用事件时间轴窗口小部件,该窗口小部件将显示按状态分组的事件的时间轴,并在定义的时间段内进行分段。见下文:
答案 1 :(得分:0)
我意识到查询值仅适用于指标,因此要创建计数器,我们可以使用value: 1
发出指标,然后使用rollup(sum, 60)
函数对其进行计数。
dog.emit_point('some.event.name', 1)
sum:some.event.name{*}.rollup(sum, 60)
这里要理解的主要是DataDog不会检索给定时间范围内的所有点。实际上,正如McCloud所说,对于给定的时间范围,我们不会返回超过350点,这在创建计数器时要记住这一点非常重要。
当您从时间范围中的度量标准中查询值时,DataDog会返回一组表示实际存储点的点,而不是所有点;这些点的表示水平(据我所知)被称为粒度,你用这个rollup
函数做的是定义这些点如何表示真实点,在这种情况下将是使用sum
功能。
我希望这对某人有所帮助,我还在学习它。此致
答案 2 :(得分:0)
在客户端的 Ruby 中,我使用:
Datadog::Statsd.new(hostname, port)
datadog.increment(metric_name, tags: tag_list)
然后我有一个仪表板 Query Value 小部件,设置为“从显示的时间范围中获取 [Sum] 值”。
sum:some.event.name{*}.as_count()
我对此进行了测试,它似乎给出了正确的数字。这 .as_count() 似乎很关键。