Во время последнего перехода на британское BST / GMT я наблюдал странную вещь, происходящую на производственном блоке, где графики за 1 час, сгенерированные rrdtool
, где показаны -nan
и прямой запрос rrd
, также вернули то же самое, что затем привело кк загрузке оповещений, генерируемых для вещей, которые кажутся неработающими.
rrd
был действителен и обновлялся при проверке с помощью rrdtool info
;
rrd_version = "0003"
step = 60
last_update = 1572136453
header_size = 2912
ds[ds0].index = 0
ds[ds0].type = "COUNTER"
ds[ds0].minimal_heartbeat = 600
ds[ds0].min = 0.0000000000e+00
ds[ds0].max = 1.0000000000e+05
ds[ds0].last_ds = "554"
ds[ds0].value = 5.5084745763e+00
ds[ds0].unknown_sec = 0
ds[ds1].index = 1
ds[ds1].type = "COUNTER"
ds[ds1].minimal_heartbeat = 600
ds[ds1].min = 0.0000000000e+00
ds[ds1].max = 1.0000000000e+05
ds[ds1].last_ds = "0"
ds[ds1].value = 0.0000000000e+00
ds[ds1].unknown_sec = 0
Однако, вызывая:
rrdtool graph dummy --start=end-300s DEF:x=timedelta.rrd:ds0:AVERAGE VDEF:xa=x,AVERAGE PRINT:xa:%lf
Возвращено;
0x0
-nan
Если я расширил окно --start=end-300s
до чего-то вроде 300000s
, я получил правильный ответ. 5.596822
Графики, отображаемые с помощью PHP для часа, показаны как пустые, и все временные деления вдоль дна исчезли. Тем не менее, у меня есть 6-часовой и более длинный граф, сгенерированный из того же самого rrd с тем же php-кодом, который еще обновлялся. (Например, 6-часовой график показывает действительные данные, но отстает примерно на 10 минут, вероятно, из-за способа, которым они были сгенерированы.
Обнаружил ли я ошибку, или это какое-то странное поведение следует ожидать во время переключения DST? (как примечание, я не помню, чтобы видел это при переходе от GMT -> BST, и я не помню, что произошло в прошлом году).
rrdtool-1.4.8-9.el7.x86_64
rrdtool-devel-1.4.8-9.el7.x86_64
php-7.3.11-1.el7.remi.x86_64
php-pecl-rrd-2.0.1-6.el7.remi.7.3.x86_64
И да, языковой стандарт системы настроен правильно.