7

我不明白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.

任何帮助都将受到高度评价。

4

3 回答 3

3

好吧,我意识到查询值仅适用于指标,因此要创建一个计数器,我们可以发出指标,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函数。

我希望这对某人有所帮助,我仍在学习。问候

于 2017-03-24T12:26:09.137 回答
0

屏幕截图中的免费文本编辑器用于度量查询。图表中的事件作为叠加层添加,以显示事件随时间发生的时间。

到目前为止,没有任何小部件显示事件发生次数的单个值。但是您可以使用事件时间线小部件,它将显示按状态分组并在定义的时间段内存储的事件时间线。见下文:

在此处输入图像描述

于 2017-03-21T18:59:47.217 回答
0

在客户端上的 Ruby 中,我使用:

Datadog::Statsd.new(hostname, port)
datadog.increment(metric_name, tags: tag_list)

然后我有一个带有 查询值 小部件的仪表板,设置为“从显示的时间范围内获取 [Sum] 值”。

sum:some.event.name{*}.as_count()

我对此进行了测试,它似乎给出了正确的数字。.as_count () 似乎是关键。

于 2021-01-04T16:05:02.003 回答