利用 graphviz 创建网络天气图配置

Leveraging graphviz to create a network weathermap configuration

给定一个生成的节点和链接列表,有没有一种方法可以使用点或 graphviz 包中的其他工具为这些节点创建坐标,这样我就可以使用该信息生成配置文件网络天气图?

答案很简单,调用 dot 或其他没有输出参数的工具打印我想要输出的信息。

我写了这个 shell 脚本来从 mrtg 配置文件制作图表,但由于结果太杂乱,我决定不追求天气图部分;

grep -P '^SetEnv.*MRTG_INT_IP="..*" MRTG_INT_DESCR=".*"'  | grep -v 'MRTG_INT_IP="127.' | grep -v 'MRTG_INT_IP="10.255.' |\
sed \
    -e 's/SetEnv\[\(.*\.switch\.hapro\.no_.*\)]: MRTG_INT_IP="\(.*\)" MRTG_INT_DESCR="\(.*\)"/  /' \
    -e 's/\//_/g' |\
sort -t/ -k 1 -n -k 2 -n -k 3 -n -k 4 |\
gawk '
BEGIN { print "graph '' {"; }
{
        graph[overlap=false];
        v = "''"
        print v " -- " 
}
END { print "}" }'

我想我会分享这个以防将来其他人发现它有用。

我使用了类似 ./mkconf ../switch/mrtg.1c.conf 1c | dot -Tpng > test.png

的脚本