【发布时间】:2016-11-25 19:01:14
【问题描述】:
鉴于生成的节点和链接列表,有没有办法可以使用 dot 或 graphviz 包中的其他工具为这些节点创建坐标,以便我可以使用该信息生成网络配置文件天气图?
【问题讨论】:
标签: graphviz
鉴于生成的节点和链接列表,有没有办法可以使用 dot 或 graphviz 包中的其他工具为这些节点创建坐标,以便我可以使用该信息生成网络配置文件天气图?
【问题讨论】:
标签: graphviz
答案很简单,调用 dot 或其他不带输出参数的工具将我想要的信息打印到标准输出。
【讨论】:
我编写了这个 shell 脚本来从 mrtg 配置文件制作图表,但由于结果太杂乱,决定不研究天气图部分;
grep -P '^SetEnv.*MRTG_INT_IP="..*" MRTG_INT_DESCR=".*"' $1 | 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="\(.*\)"/\1 \2 \3/' \
-e 's/\//_/g' |\
sort -t/ -k 1 -n -k 2 -n -k 3 -n -k 4 |\
gawk '
BEGIN { print "graph '$2' {"; }
{
graph[overlap=false];
v = "'$2'"
print v " -- " $3
}
END { print "}" }'
我想我会分享这个以防其他人将来发现它有用。
我使用了./mkconf ../switch/mrtg.1c.conf 1c | dot -Tpng > test.png之类的脚本
【讨论】: