Introduction

"That ought to be big enough" is one of those phrases that is never true. For load-balancing, high-availability, or just for jamming more stuff between two points, the networking world has always combined links in various ways - ethernet has LACP, serial lines have MLPPP, and so on.

Weathermap supports a number of ways to represent these links, depending on what you want to achieve. This is a quick review of the options.

Aggregate TARGETs

You need is to show one link, but with the data from two interfaces. The interfaces have their own files in your monitoring software.

You can get Weathermap to aggregate the data from two (or more) links and treat the result as one link on the map. It's a simple matter of listing the data sources one after another in the TARGET line, with a space between each one:

LINK mylink
NODES node1 node2
TARGET file1.rrd file2.rrd file3.rrd

Parallel Links

Offset Links
The endpoints of these links are pushed out to the corners of the nodes, using compass-point offsets.
You want to show two links between the same two NODEs.

If you've ever tried this, you'll know that having two links, both with NODES node1 node2 results in two arrows drawn over the top of each other.

You can change the position of the ends of the arrows though, so that they don't overlap. You can do this by adding an offset onto the end of the nodenames in the NODES line, either as a compass-point, or (in 0.9 and above) as a pixel-offset.

LINK mylink
NODES node1:N node2:N

or
LINK mylink
NODES node1:22:0 node2:0:44

By choosing the right compass-points, you can push the links apart, and end up with a nice pair of parallel arrows for your bundled connections. With suitably big nodes, and the pixel-offsets, you can extend this to many links, too.

Curvy Parallel Links

Curved links
The two outer links use VIA to curve the arrows apart. They also use link offsets to start the link arrows from the corners of the node.
Finally, you can leave the end-points where they were, and just bend the links away from each other using VIA lines in the link specification. Each VIA is a coordinate on the map that the link arrow must pass through. They are passed in the order that they appear in the config file.LINK mylink
NODES node1 node2
VIA 100 200
VIA 140 220

Figuring out the right position is currently a little bit painful though (there are plans to make this possible using the web-based editor). A handy trick to find the right place is to use the editor, place a node where you want to make the VIA, then edit the config file by hand. Your new node has the coordinates you need to put into the VIA line. Don't forget to delete the node too.

Moving the bandwidth labels

Pixel Offsets and BWLABELPOS
Extreme offsets! This shows two nodes with very large square icons, using pixel-offsets on the ends of the links to create lots of parallel links, representing VLANs in a tagged port. The bandwidth labels are moved using BWLABELPOS, so they don't all overlap.
The last two techniques here can result in some problems. If you have a lot of links of the same length between the same two places, then all the bandwidth labels for those links will appear at the same place - 25% and 75% of the way along the link. Before v0.9, all you could do about this was move the ends of the links a bit more so 25% falls in a different place

Version 0.9 has a new keyword - BWLABELPOS - that allows you to specify the positions of the bandwidth labels as a percentage of the distance along the link. So BWLABELPOS 75 25 (in then out) would be the default positioning, and you can move the labels closer to their nodes with something like BWLABELPOS 85 15 in the appropriate LINK section.

(more...)