Вывод моего графика из rrdtool пуст. Зачем? - PullRequest
0 голосов
/ 19 июня 2020

Я хочу построить график памяти определенных процессов в windows с помощью rrdtool, который затем можно показать на простой веб-странице.

Итак, я дошел до этого. Не совсем уверен, что понимаю, как это работает, после некоторых руководств я получаю пустой результат.

rrdtool create psrvr-mem.rrd --start 1023654125 --step 300 DS:mem:GAUGE:600:0:U RRA:AVERAGE:0.5:12:24 RRA:AVERAGE:0.5:288:31

Сценарий обновления.

@ECHO OFF

:LOOP
FOR /F "tokens=*" %%g IN ('powershell "get-process psrvr | select -ExpandProperty PrivateMemorySize"') do (SET mem_usage=%%g)

rrdtool update psrvr-mem.rrd N:%mem_usage%
TIMEOUT /t 300
GOTO LOOP

И, наконец, график

rrdtool graph memory.png --start -1800 -a PNG -t "Memory" --vertical-label "" -w 1260 -h 400 -r DEF:mem=psrvr-mem.rrd:mem:AVERAGE  AREA:mem#FF0000

К сожалению, результат - пустой график. Не знаю почему. И не совсем понимаю, особенно критично время старта или нет.

- edit - По-прежнему не создаются линии на графике. Однако я обнаружил одну проблему: ни на одной оси не было меток. Поскольку файл шрифта отсутствовал. Оказывается, предварительно скомпилированные двоичные файлы, загруженные с веб-сайта rrdtool, устарели на 15 лет для windows. Я нашел более новый двоичный файл, но если у меня это получится, я, вероятно, попробую скомпилировать его с последней версией. А пока я остановлюсь на том, что, кажется, работает лучше с 2013 года. rrdtool create psrvr-mem.rrd --start 1592774026 --step 60 DS: mem: GAUGE: 120: 0: U RRA: AVERAGE: 0.5: 1: 5

Затем заполните некоторыми значениями с помощью скрипта обновления выше.

А затем попробуйте снова построить график. rrdtool graph memory.png --start = now-300 -a PNG -t "Память" --vertical-label "Bytes" -w 800 -h 300 -r DEF: mem = psrvr.rrd: mem: AVERAGE LINE: mem # FF0000

Результатом является график, на котором линия не движется. Он может быть полностью нулевым.

введите описание изображения здесь

...