Графики за один час, сгенерированные за час до британского BST -> GMT показывают 'nan' - PullRequest
1 голос
/ 27 октября 2019

Во время последнего перехода на британское 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

И да, языковой стандарт системы настроен правильно.

...