所以我有一个小型企业networking,主要由两个路由的第二层域共约ca. 100个设备分布在约。 2000平方米的生产和办公空间。 使用图表解决的典型问题是:在什么(电缆)path是连接到服务器的PC? 在哪里期望设备连接到交换机端口?
我想生成物理networking拓扑图 :节点是端点设备,交换机端口,墙上sockets,配线板端口等。边缘是电缆连接。 理想情况下,可以对通过同一个包的边(或段)进行分组。
另外,我想通过自动收集的数据(监控状态,MAC地址,交换机端口< – > MAC条目来构build部分地图)来扩充graphics数据。
目前,我在这样一个Confluence wiki中使用graphviz:
layout = "neato" overlap = scale subgraph { rankdir = "TB" subgraph cluster_r1pf1 { r1pf1 [label="{ Rack 1 PF 1 | { <p1>P1 | <p2>P2 | <p3>P3} }", shape=record] } subgraph cluster_switch1 { switch1 [label="{ Rack 1 Switch 1 | { <p1> P1 | <p1> P1 | <p3> P3} }", shape=record] } r1pf1:p1 -> switch1:p1
(显然这里省略了几十个条目)
问题是:我很难影响graphviz生成一个可承受的布局。 边缘重叠如此糟糕,以致于无法再读取图表。
问题是:还有其他什么工具 (不pipe是像Visio,Omnigraffle还是I / O这样的交互方式,像graphviz)都可以使用一个简单的versionable (如:在文本文件中操作) 可编辑 ?
为什么不是OmniGraffle或Visio? 那么我们没有Mac,Visio目前不可用。 要买它,我需要很好的论据。 自动化将是其中之一。 但是上次我看,版本化Visio文件,甚至想到自动处理都是一场噩梦。
有关:
也许看看yed (基于Java)。 它使用不同的XML方言作为文件格式,所以它是一种人类可读的。
OmniGraffle使用GraphViz布局引擎,所以如果GraphViz失败,那么OG也许不会太远。