RRD Tool - запутанное время запуска - PullRequest
0 голосов
/ 07 июля 2019

Я настраиваю базу данных rrd для хранения данных датчиков в течение 3 дней с интервалом в 12 часов (43200 с) = 6 строк в RRA.

rrdtool create test.rrd --step 43200 --start 1562429286 DS: temp: GAUGE: 86400: U: U RRA: AVERAGE: 0: 1: 6

Время запуска баз данных: 1562429286 ( 06.07.2019 - 18: 08: 06 ).

Когда я сбрасываю базу данных:

rrdtool dump test.rrd

он говорит (вывод обрезан для ясности):

2019-07-04 02:00:00 CEST / 1562198400 NaN

2019-07-04 14:00:00 CEST / 1562241600 NaN

2019-07-05 02:00:00 CEST / 1562284800 NaN

2019-07-05 14:00:00 CEST / 1562328000 NaN

2019-07-06 02:00:00 CEST / 1562371200 NaN

2019-07-06 14: 00: 00 CEST / 1562414400 NaN

Я ожидал, что rrdtool выдаст следующую ближайшую метку времени (6.7.19 18:00) в качестве последней записи («начальная точка»). Так почему же это в 14:00? Сначала это объяснение ( Как создать rrd-файл с определенным временем? ) имело смысл для небольшого промежутка в 5 м для меня. Но в моем случае я не могу отстать от логики, если интервал больше (12 ч)

1 Ответ

0 голосов
/ 08 июля 2019

Это связано с тем, что сегменты RRA всегда нормализуются для выравнивания с часовым поясом GMT (UCT). Это не видно, если вы используете cdp (объединенную точку данных) шириной час или меньше; но в вашем случае ваш cdp имеет ширину 12 часов. Ваш часовой пояс означает, что они смещены на 2 часа от нуля UCT, что приводит к очевидным границам 02 и 14 по местному времени (если бы вы были в Лондоне, вы бы увидели 0 и 12, как и ожидалось).

Этот эффект гораздо более заметен, когда вы используете однодневные сводки и расположены где-то вроде Новой Зеландии, когда вы увидите, что граница CDP появляется в полдень, а не в полночь.

В настоящее время невозможно указать другой часовой пояс для использования в качестве базы для сегментов RRA (это сделало бы данные непереносимыми), хотя я полагаю, что это было в списке запросов функций RRDTool в течение ряда лет.

...