"Fossies" - the Fresh Open Source Software Archive 
Member "opennms-31.0.8/opennms-rrd/utilities/README.combine-rrds" (9 May 2023, 3663 Bytes) of package /linux/misc/opennms-31.0.8-source.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1
2 RRD data in OpenNMS can switch locations if hardware changes MAC address
3 (some large network gear re-numbers it's MACs when adding hardware ports).
4
5 This script lets you re-combine them into the latest RRD.
6
7 The first argument is a regular expression (and must have at least one
8 match in parentheses), and any argument after that is considered to be
9 the directories to search for RRDs.
10
11 For example, if you have this structure:
12
13 /path/to/rrds/foo-0015f9bf9201/ifHCInOctets.rrd
14 /path/to/rrds/foo-0015f9bf9201/ifHCOutOctets.rrd
15 /path/to/rrds/foo-0015f9bf9201/locIfInPktsSec.rrd
16 /path/to/rrds/foo-0015f9bf9201/locIfInQueueDrops.rrd
17 /path/to/rrds/foo-0015f9bf9201/locIfOutPktsSec.rrd
18 /path/to/rrds/foo-0015f9bf9201/locIfOutQueueDrops.rrd
19 /path/to/rrds/foo-0017591ea481/ifHCInOctets.rrd
20 /path/to/rrds/foo-0017591ea481/ifHCOutOctets.rrd
21 /path/to/rrds/foo-0017591ea481/locIfInPktsSec.rrd
22 /path/to/rrds/foo-0017591ea481/locIfInQueueDrops.rrd
23 /path/to/rrds/foo-0017591ea481/locIfOutPktsSec.rrd
24 /path/to/rrds/foo-0017591ea481/locIfOutQueueDrops.rrd
25 /path/to/rrds/foo-001818755e01/ifHCInOctets.rrd
26 /path/to/rrds/foo-001818755e01/ifHCOutOctets.rrd
27 /path/to/rrds/foo-001818755e01/locIfInPktsSec.rrd
28 /path/to/rrds/foo-001818755e01/locIfInQueueDrops.rrd
29 /path/to/rrds/foo-001818755e01/locIfOutPktsSec.rrd
30 /path/to/rrds/foo-001818755e01/locIfOutQueueDrops.rrd
31
32 ...you can see that the foo device has changed MAC addresses twice.
33
34 To fix this, you would run the script like so:
35
36 ./combine-rrds '(.*)-\d+' /path/to/rrds
37
38 ...and it will have output like this:
39
40 - dumping /path/to/rrds/foo-001818755e01/ifHCInOctets.rrd
41 - dumping /path/to/rrds/foo-0015f9bf9201/ifHCInOctets.rrd
42 - dumping /path/to/rrds/foo-0017591ea481/ifHCInOctets.rrd (primary)
43 erasing 1184776427(/path/to/rrds/foo-001818755e01/ifHCInOctets.rrd)
44 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/ifHCInOctets.rrd)
45 - dumping /path/to/rrds/foo-001818755e01/ifHCOutOctets.rrd
46 - dumping /path/to/rrds/foo-0015f9bf9201/ifHCOutOctets.rrd
47 - dumping /path/to/rrds/foo-0017591ea481/ifHCOutOctets.rrd (primary)
48 erasing 1184776427(/path/to/rrds/foo-001818755e01/ifHCOutOctets.rrd)
49 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/ifHCOutOctets.rrd)
50 - dumping /path/to/rrds/foo-001818755e01/locIfInPktsSec.rrd
51 - dumping /path/to/rrds/foo-0015f9bf9201/locIfInPktsSec.rrd
52 - dumping /path/to/rrds/foo-0017591ea481/locIfInPktsSec.rrd (primary)
53 erasing 1184776427(/path/to/rrds/foo-001818755e01/locIfInPktsSec.rrd)
54 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/locIfInPktsSec.rrd)
55 - dumping /path/to/rrds/foo-001818755e01/locIfInQueueDrops.rrd
56 - dumping /path/to/rrds/foo-0015f9bf9201/locIfInQueueDrops.rrd
57 - dumping /path/to/rrds/foo-0017591ea481/locIfInQueueDrops.rrd (primary)
58 erasing 1184776427(/path/to/rrds/foo-001818755e01/locIfInQueueDrops.rrd)
59 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/locIfInQueueDrops.rrd)
60 - dumping /path/to/rrds/foo-001818755e01/locIfOutPktsSec.rrd
61 - dumping /path/to/rrds/foo-0015f9bf9201/locIfOutPktsSec.rrd
62 - dumping /path/to/rrds/foo-0017591ea481/locIfOutPktsSec.rrd (primary)
63 erasing 1184776427(/path/to/rrds/foo-001818755e01/locIfOutPktsSec.rrd)
64 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/locIfOutPktsSec.rrd)
65 - dumping /path/to/rrds/foo-001818755e01/locIfOutQueueDrops.rrd
66 - dumping /path/to/rrds/foo-0015f9bf9201/locIfOutQueueDrops.rrd
67 - dumping /path/to/rrds/foo-0017591ea481/locIfOutQueueDrops.rrd (primary)
68 erasing 1184776427(/path/to/rrds/foo-001818755e01/locIfOutQueueDrops.rrd)
69 erasing 1184784018(/path/to/rrds/foo-0015f9bf9201/locIfOutQueueDrops.rrd)
70
71 The only files that will be left are the ones marked "primary".
72