如何使用rrdfetch与时区



使用RRD在我的应用程序中,我试图找到一种方法来执行"rrdtool fetch">使用特定的时区。在我的情况下"欧洲/索菲亚">"+02:00">夏天"+ 03:00"从UTC。

获取此命令

rrdtool fetch test.rrd MAX -r 86400 -s -90d -e now

是否可以使用时区Europe/Sofia,需要在时间戳上增加两个小时?

如果可能的话,如果我们是在夏天会发生什么,会增加2或3小时吗?

在内部,rrdtool工作在unix中,因此它是与时区无关的。如果你使用'now',那么它将是当前时间,无论你在哪个时区。如果你给出一个时间,比如"03:00"然后,它将相对于系统定义的当前时区。

显示时间时,例如在图形的x轴上,那么时区就变得重要了。

注意:查看rrdtool文档获取更多详细信息- https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html

rrdtool使用系统时间库,因此它们控制使用的时区以及如何解释时区。在Linux下,您可以设置TZ环境变量来选择一个时区,当将时间转换为x轴的本地格式时,或者当您给出像"13:00"这样的时间时,库将使用它。如果您没有设置任何内容,那么您将获得系统的默认值,无论它是什么。

TLDR -使用适合您操作系统的方法设置您的时区,当您指定时间时,rrdtool会尊重它。

请参阅这里的文档,说明可以在x轴定义中使用哪些strftime符号:https://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

请参阅此处了解可用于-s-e的at样式时间规范的详细信息:https://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html#AT-STYLE_TIME_SPECIFICATION

需要注意的一点是,无论您在哪个时区,RRA桶都与午夜UCT对齐。如果你在欧洲,这并不能说明什么,但在新西兰,你可以看到"每日"计数在中午滚动。

相关内容

  • 没有找到相关文章

最新更新