簡體   English   中英

如何使用帶時區的 rrdfetch

[英]How to use rrdfetch with timezone

在我的應用程序中使用RRD我試圖找到一種在特定時區執行“rrdtool fetch”的方法。 在我的例子中, “歐洲/索非亞”是來自 UTC 的“+02:00”夏季“+03:00”

獲取此命令

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

是否可以將它與時區Europe/Sofia一起使用,它必須在時間戳上增加 2 小時?

如果可能的話,如果我們在夏令時會發生什么,會增加 2 或 3 個小時?

在內部,rrdtool 在 Unixtime 中工作,因此它與時區無關。 如果您使用“現在”,那么它將是當前時間,無論您處於什么時區。如果您給出類似“03:00”的時間,那么它將相對於系統定義的當前時區。

顯示時間時,例如在圖表的 X 軸上,時區就變得很重要。

注意:有關詳細信息,請參閱 rrdtool 文檔 - https://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html

rrdtool 使用系統時間庫,因此它們控制使用的時區以及如何解釋時區。 在 Linux 下,您可以將TZ環境變量設置為 select 一個時區,庫將在將時間轉換為 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 對齊。 如果您在歐洲,這不會顯示太多,但在新西蘭,您可以看到“每日”計數在中午滾動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM