RRD => XML => PERL => MYSQL

pikasun

Постоялец
Регистрация
23 Сен 2009
Сообщения
123
Реакции
9
Затея вынуть из RRD файла дампом данные в xml файлик и далее при помощи perl накатить в mysql. У кого-нибудь был такой опыт? Кусок xml файла в коде сдампил из RRD файла.

Код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump -->
<rrd>
<version>0003</version>
<step>60</step> <!-- Seconds -->
<lastupdate>1352515445</lastupdate> <!-- 2012-11-10 06:44:05 MSK -->
 
<ds>
<name> traffic_in </name>
<type> COUNTER </type>
<minimal_heartbeat>120</minimal_heartbeat>
<min>0.0000000000e+00</min>
<max>NaN</max>
 
<!-- PDP Status -->
<last_ds>10440442105107</last_ds>
<value>1.9858265079e+06</value>
<unknown_sec> 0 </unknown_sec>
</ds>
 
<ds>
<name> traffic_out </name>
<type> COUNTER </type>
<minimal_heartbeat>120</minimal_heartbeat>
<min>0.0000000000e+00</min>
<max>NaN</max>
 
<!-- PDP Status -->
<last_ds>9414680127813</last_ds>
<value>3.2905092063e+06</value>
<unknown_sec> 0 </unknown_sec>
</ds>
<!-- Round Robin Archives -->
<rra>
<cf>AVERAGE</cf>
<pdp_per_row>1</pdp_per_row> <!-- 60 seconds -->
 
<params>
<xff>5.0000000000e-01</xff>
</params>
<cdp_prep>
<ds>
<primary_value>4.3530227402e+05</primary_value>
<secondary_value>NaN</secondary_value>
<value>NaN</value>
<unknown_datapoints>0</unknown_datapoints>
</ds>
<ds>
<primary_value>6.6360863413e+05</primary_value>
<secondary_value>NaN</secondary_value>
<value>NaN</value>
<unknown_datapoints>0</unknown_datapoints>
</ds>
</cdp_prep>
<database>
<!-- 2012-11-09 22:25:00 MSK / 1352485500 --> <row><v>1.0580420441e+06</v><v>9.86309
<!-- 2012-11-09 22:26:00 MSK / 1352485560 --> <row><v>1.2621199042e+06</v><v>9.94217
</database>
</rra>
</rrd>
 
опыт был)
скрипт несложный
обязательно на perl?
 
опыт был)
скрипт несложный
обязательно на perl?
Спасибо, начеркали на Perl уже, но все равно буду признателен за идею.

Нам нужно было выдрать таймштамп из xml, который зарылся в виде комментариев в читабельный тег.
Регекспами добили и сформировали файл c нужными строчками вида:

Код:
<row>
<v>1353061080</v>
<v>1.0580420441e+06</v>
<v>9.8630978943e+07</v>
</row>

Разобрали xml на perl и залили в mysql.
Сложным было понять, как cacti кладет в rrd информацию по трафику.
 
Назад
Сверху