]>
Commit | Line | Data |
---|---|---|
0f3c7a54 CS |
1 | #!/usr/bin/perl |
2 | ||
3 | my $rrddir = "/var/log/rrd"; | |
4 | my @files = `cd $rrddir && ls class_* `; | |
5 | ||
6 | if ( -e "$rrddir/migrated" ){print "Already migrated rrd files -> exit.\n";exit 1;} | |
7 | ||
8 | system("/etc/init.d/collectd stop"); | |
9 | system("/usr/local/bin/qosctrl stop"); | |
10 | ||
11 | foreach (@files){ | |
12 | chomp($_); | |
13 | my @lines = `rrdtool dump $rrddir/$_`; | |
14 | ||
15 | my $fromhere = 0; | |
16 | my @newlines = "<!-- Round Robin Database Dump --><rrd> <version> 0003 </version> | |
17 | <step> 10 </step> <!-- Seconds --> | |
18 | <lastupdate> </lastupdate> | |
19 | ||
20 | <ds> | |
21 | <name> bytes </name> | |
22 | <type> COUNTER </type> | |
23 | <minimal_heartbeat> 20 </minimal_heartbeat> | |
24 | <min> 0.0000000000e+00 </min> | |
25 | <max> NaN </max> | |
26 | ||
27 | <!-- PDP Status --> | |
28 | <last_ds> </last_ds> | |
29 | <value> </value> | |
30 | <unknown_sec> 0 </unknown_sec> | |
31 | </ds> | |
32 | ||
33 | <!-- Round Robin Archives --> <rra> | |
34 | <cf> AVERAGE </cf> | |
35 | <pdp_per_row> 1 </pdp_per_row> <!-- 10 seconds --> | |
36 | ||
37 | <params> | |
38 | <xff> 5.0000000000e-01 </xff> | |
39 | </params> | |
40 | <cdp_prep> | |
41 | <ds> | |
42 | <primary_value> </primary_value> | |
43 | <secondary_value> NaN </secondary_value> | |
44 | <value> NaN </value> | |
45 | <unknown_datapoints> 0 </unknown_datapoints> | |
46 | </ds> | |
47 | </cdp_prep> | |
48 | <database> | |
49 | "; | |
50 | foreach (@lines){ | |
51 | if ( $_ =~ /\<database\>/ ){ | |
52 | $fromhere = 1;next; | |
53 | } | |
54 | if ( $_ =~ /\<\/database\>/ ){ | |
55 | $fromhere = 0;next; | |
56 | } | |
57 | if ( $fromhere eq "0" ){ | |
58 | next; | |
59 | }else{ | |
60 | my @t = split(/<v>/,$_); | |
61 | push(@newlines,$t[0]."<v>".$t[1]."</row>\n"); | |
62 | } | |
63 | } | |
64 | push(@newlines," </database> | |
65 | </rra> | |
66 | </rrd>"); | |
67 | open(DATEI, ">/tmp/rrd.xml") || die "Unable to create temp file"; | |
68 | print DATEI @newlines; | |
69 | close(DATEI); | |
70 | ||
71 | system("rm -f $rrddir/$_"); | |
72 | system("rrdtool restore -f /tmp/rrd.xml $rrddir/$_"); | |
73 | print "$_ ... resized\n"; | |
74 | } | |
75 | ||
76 | system("/etc/init.d/collectd start"); | |
77 | system("/usr/local/bin/qosctrl start"); | |
78 | system("touch $rrddir/migrated"); | |
79 | exit 0; |