GCP Stackdriver Monitoring累计累积自定义指标开始和结束时间错误

时间:2018-10-04 19:58:20

标签: python-3.x monitoring metrics google-cloud-stackdriver

编辑:我想我已经解决了这个问题。只是开始时间需要保持不变,直到需要重置累计数字为止,因此在我的情况下,一天的开始时间将在午夜之后重置,但结束时间将始终是当前时间。我仍在对此进行测试,因此一旦获得更多结果,我将立即解决此问题。

EDIT2:因此,将时间间隔设置为从每天的开始开始到发送时结束,图表仍然显示对client.create_time_series的每次调用都出现尖峰。这是我要寻找的示例(忽略右轴,数字应该更高,但是我的photoshop技能并不好): enter image description here 这就是我目前得到的: enter image description here

在解释错误之前,这是我尝试使用此自定义监视指标实现的目标。我的程序经常记录许多已处理的数据,我想查看每天处理的总数。因此,我认为累计指标是正确的选择,每天重置间隔。问题是我不确定如何实现这一目标。

这就是我在做什么。每次处理一些新数据时,我都会使用client.create_time_series(project_name, [series])将其添加到度量标准中,其中[series]仅包含当时处理数据数的point.value.int64_value。现在我的问题是间隔。我认为该间隔应该是每天的开始和结束时间,我认为该指标应在一天结束时从0开始。所以我这样做了:

point                             = series.points.add()
point.value.int64_value           = num
startDay                          = time.mktime(datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0).timetuple())
endDay                            = time.mktime(datetime.datetime.now().replace(hour=23, minute=59, second=59, microsecond=0).timetuple())
point.interval.start_time.seconds = int(startDay)
point.interval.start_time.nanos   = int((startDay - point.interval.start_time.seconds) * 10**9)
point.interval.end_time.seconds   = int(endDay)
point.interval.end_time.nanos     = int((endDay - point.interval.end_time.seconds) * 10**9)
client.create_time_series(project_name, [series])

我收到此错误:

400 Field timeSeries[0].points[0].interval.end had an invalid value of \"2018-10-04T16:59:59-07:00\": The end time is too far in the future. A point cannot be written more than 5 minutes into the future.

如果我将时间间隔设置为仅当前时间,则我的图表中每发送一个指标就会出现一堆峰值。我想看到的是一条线,它在1天的时间(从00:00:00到23:59:59)内累积,然后再次在00:00:00重置。我希望这样做,以便可以查看每天相对于每隔一天要处理多少数据,以便可以查看过程中是否存在异常。

因此,我想我可能误解了累积指标的工作原理。有没有更好的方法可以实现我想要做的事情?

0 个答案:

没有答案