PrometheusのTime Unitにmonthは無い
Prometheusでデータの保持期間を変更しようと --storage.tsdb.retention.time
をnヶ月に変更しようとしたらデータが消えた話
monthのつもりで --storage.tsdb.retention.time=3m
と書いたらminuteだったというもの
storage.tsdb.retention.time
https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects
--storage.tsdb.retention.time
オプションを指定することでデータの保持期間を設定できる
罠
https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects ココ見てretention.timeのunit supported書いてなかった
m
っていったらmonthかminuteか分からんけど、minuteでretentionするヤツはおらんだろうしまぁmonthだろって思ってた
のでまぁいっかと思って 3m
って書いたらgrafanaでほぼ何も見えなくなった(つまり数分でretentionされるようになって過去のデータも消えた)
おうちで使ってる僅かなデータしかなかったので消えても別によかったけど
PrometheusのTimeUnit
あとから見たけど今回のオプションはmanでは以下のような表示
y, w…と続いてるあたりmonthの単位は無さそう
--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME
How long to retain samples in storage. When this flag is set it overrides "storage.tsdb.retention". If neither this flag nor "storage.tsdb.retention" nor
"storage.tsdb.retention.size" is set, the retention time defaults to 15d. Units Supported: y, w, d, h, m, s, ms. Use with server mode only.
PromQLのtime unitにも、monthの単位は無い https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations