RRD для измерения использования ЦП и памяти

Я хотел бы измерить использование ЦП и памяти для сервера во время непрерывной интеграции и представить их на нескольких графиках. Я использую файлы базы данных Round Robin (*.rrd), чтобы сделать это в java с библиотекой RRD4J.

Я не знаю, как определить архивы Round Robin... Я пробовал такой RRA:

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 150, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:8:300"); 

Or

rrdDefCPU.addDatasource("CPU", DsType.COUNTER, 600, 0, 100);
rrdDefCPU.addArchive("RRA:AVERAGE:0.5:1:600"); 

В обоих случаях я записываю один такт в секунду, но у меня все равно 2 точки на графике за период 5 минут. Мне нужен график с большим количеством значений за тот же период.


person Fabien    schedule 20.05.2011    source источник


Ответы (1)


Если вы не видите больше деталей в своем 5-минутном интервале, то я предполагаю, что размер вашего шага составляет 5 минут, и вы получили его, скопировав демонстрационный код. Пожалуйста, покажите свой конструктор RrdDef в своем вопросе.

RrdDef rrdDef = new RrdDef(rrdPath, startTime, 300); // step size 300s

Кроме того, вам, вероятно, нужен ДАТЧИК для использования процессора / памяти, а не СЧЕТЧИК, который только увеличивается. Если вы используете СЧЕТЧИК по ошибке, вы получите скачкообразный вывод, потому что RRD интерпретирует движение вниз как переполнение и добавляет к этому наблюдению очень большую величину.

В вашем коде вы меняете размер Heartbeat, который в сочетании с Xff определяет допустимый размер промежутка во входных данных. Если у вас есть непрерывные данные, вы не увидите никакого эффекта от изменения HB.

person Erik Olson    schedule 28.06.2011
comment
Большое спасибо! Я изменил шаг на 5 и DsType.COUNTER на DsType.GAUGE! Оно работает! - person Fabien; 29.06.2011