Осилил rrdtool. Лень переделывать пока софтину сбора данных, чтобы она писала в него, написал коротенький бат файл, экспортирующий раз в 30 секунд текущие показания датчиков из базы данных и обновляющий rrd-базу. Завтра утром гляну что получится.
Остались непонятные моменты, как положено делать - по одному файлу на датчик или несколько одинаковых датчиков в файле (но тогда файл можно будет обновлять только все датчики сразу - если обновлять по одному подряд - ругается что слишком часто обновления).
И еще непонятно - rrdtool update каждый раз файл заново открывает, пишет в него новые данные и закрывает, это ж для производительности, по идее смерть будет. И как они взаимодействуют с другими процессами, долбящимися в этот же файл - например, если я запущу параллельно график по нему построить, а его в этот момент обновят.
Пока предполагаю, что надо к программе, получающей данные с датчиков приделать запуск rrdtool с перенаправлением stdin и писать в него команды на апдейт rrd-баз.
Остались непонятные моменты, как положено делать - по одному файлу на датчик или несколько одинаковых датчиков в файле (но тогда файл можно будет обновлять только все датчики сразу - если обновлять по одному подряд - ругается что слишком часто обновления).
И еще непонятно - rrdtool update каждый раз файл заново открывает, пишет в него новые данные и закрывает, это ж для производительности, по идее смерть будет. И как они взаимодействуют с другими процессами, долбящимися в этот же файл - например, если я запущу параллельно график по нему построить, а его в этот момент обновят.
Пока предполагаю, что надо к программе, получающей данные с датчиков приделать запуск rrdtool с перенаправлением stdin и писать в него команды на апдейт rrd-баз.
no subject
Date: 2011-01-15 10:38 pm (UTC)2.Да, открывает, пишет, закрывает.
3.ррдтул сам разрулит что там где как открыто итд.
Ты, надеюсь, понял, что бд тут специфическая. Она хранящиеся данные со временем усредняет и удаляет.
Более того, если я еще не совсем маразматик, то помоему нет смысла обновлять бд тула чаще чем раз в минуту (а вот не помню точно настраивается это или нет)
А вообще покури munin - он прост как рубль. Набросаешь к нему плагин и айда.
no subject
Date: 2011-01-16 12:39 am (UTC)no subject
Date: 2011-01-16 08:06 am (UTC)Можно подключить rrdtool как dll - свежих dll под винду дано не видел, а собирать самому это такой праздник что...
Можно заюзать JRobin (www.jrobin.org) или его порт на .NET RRDSharp (http://sourceforge.net/projects/rrdsharp/), только он давно не обновлялся, но вполне работоспособный...
no subject
Date: 2011-01-16 08:09 am (UTC)no subject
Date: 2011-01-16 08:18 am (UTC)Даже с dll - по идее, отличий от постоянно запущенного бинарника быть не должно, т.к. файлы ему нужно будет открывать закрывать постоянно.
no subject
Date: 2011-01-16 08:20 am (UTC)Я бы предпочел радиомодули типа на 433 мгц, один из них прикрутить к компу и уже комп будет раздавать данные в езернет. Чтобы лишние провода не таскать и чтобы все это гальванически развязано было.
no subject
Date: 2011-01-16 09:34 am (UTC)no subject
Date: 2011-01-16 09:35 am (UTC)запускаем с перенаправленным stdin и он висит себе и ждет что ему запишут в качестве команды
no subject
Date: 2011-01-16 10:22 am (UTC)no subject
Date: 2011-01-16 10:27 am (UTC)no subject
Date: 2011-01-16 04:36 pm (UTC)no subject
Date: 2011-01-16 04:38 pm (UTC)