OpenTsdb官方文档----日期和时间

  查询数据时,OpenTSDB支持许多日期和时间格式。在通过GUI,CliQuery工具或HTTP API提交的查询中支持以下格式。每个查询都需要一个开始时间和一个可选结束时间。如果未指定结束时间,则将使用运行TSD的系统上的当前时间。

相对的

  如果您不知道要请求的确切时间戳,可以提交相对于TSD运行系统上的时间过去的时间。相对时间遵循以下格式<amount><time unit>-ago,其中<amount>为数值,<time unit>是指时间单位,如小时,天,等。例如,如果我们提供了一个起始时间1h-ago,并且leave结束时间,我们的查询将返回在1小时前到当前时间的数据。可能的时间单位包括:

  • ms - Milliseconds
  • s - Seconds
  • m - Minutes
  • h - Hours
  • d - Days (24 hours)
  • w - Weeks (7 days)
  • n - Months (30 days)
  • y - Years (365 days)

注意:
  相对时间不包括闰秒,闰年或时区。他们只是计算当前时间过去的秒数。

绝对Unix时间

  在存储内部,所有数据都与Unix(或POSIX)风格的时间戳相关联。Unix时间定义为自1970年1月1日00:00:00 UTC时间起过去的秒数。时间戳被表示为一个正整数,例如1364410924,表示ISO 8601:2013-03-27T19:02:04Z。由于在OpenTSDB中存储数据的调用需要Unix时间戳,因此在查询中支持此格式是有意义的。因此,可以在查询中为开始或结束时间的提供整数。

  使用Unix时间戳的查询可以通过简单追加三位数字来支持毫秒精度。例如,提供开始时间1364410924000和结束时间1364410924250将返回250毫秒窗口内数据。毫秒时间戳也可以提供一段时间,从毫秒中分隔秒数1364410924.250。任何具有13(或14)个字符的整数都将被视为毫秒时间戳。任何10个字符或更少的字符代表秒。毫秒只能以3位精度提供。如果您的工具输出超过3位数字,则必须截断或舍入该值。

绝对格式化时间

  由于在您的头脑中计算Unix时间非常困难,OpenTSDB还支持人类可读的绝对日期和时间。支持的格式包括:

  • YYYY/ MM/ DD-HH:MM:SS
  • yyyy/MM/dd HH:mm:ss
  • YYYY/MM/ DD-HH:MM
  • yyyy/MM/dd HH:mm
  • YYYY/MM/DD
      yyyy代表年份为四位数值,例如2013。MM代表从01月份到12 月份。dd代表从月份开始的月份的一天01。HH代表在一天的24小时制出发的时间00到23。mm表示起始于分钟00到59并ss表示秒开始00到59。所有月份,日,小时,分钟和秒钟都是单个数字,必须以0为前缀,例如每月的第5天必须为05。当没有时间提供数据时,系统将假定给定日期的午夜。

  例子包括2013/01/23-12:50:42或2013/01/23。格式化的时间从运行TSD的主机的默认时区转换为UTC。HTTP API查询可以接受用户提供的时区以覆盖本地时区 。

  注意:
  使用CliQuery工具时,必须使用用短划线将时间与日期分开的格式。这是因为命令行以空格为分割,所以如果在时间戳中放置空格,它将无法正确解析执行

时区

  在转换人类可读的时间戳时,OpenTSDB将根据TSD正在运行的系统上配置的时区转换为UTC。尽管许多服务器都配置为UTC,但我们建议所有运行OpenTSDB的系统都使用UTC,但有时会使用本地时区。
  通过查询字符串查询HTTP API可以指定tz带有时区标识字符串的参数,格式适用于运行TSD的系统的本地化设置。例如,我们可以指定tz=America/Los_Angeles将我们的时间戳从洛杉矶当地时间转换为UTC。
  或者,如果无法更改系统时区,则可以通过配置文件tsd.core.timezone属性提供覆盖。

猜你喜欢

转载自blog.51cto.com/1196740/2159787