Итак, у меня есть сеть для малого бизнеса, состоящая в основном из двух маршрутизируемых доменов уровня 2, в общей сложности ок. 100 устройств разбросаны по ок. 2000 м² производственных и офисных площадей. Типичные проблемы, которые необходимо решить с помощью графика: По какому (кабельному) пути ПК подключен к серверу? Где ожидать устройства, подключенные к порту коммутатора?
я бы хотел генерировать граф топологии физической сети: Узлы - это оконечные устройства, порты коммутатора, настенные розетки, порты коммутационной панели и т. Д. Края - это кабельные соединения. В идеале группирующие ребра (или сегменты), которые проходят через один и тот же пучок, могут быть сгруппированы.
Также я хотел бы дополнить данные графика автоматически собранными данными (состояние мониторинга, MAC-адрес, порт коммутатора <-> записи MAC для создания частей карты).
На данный момент я использую для этого graphviz в такой вики-странице Confluence:
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 для создания приемлемого макета. Края так сильно перекрываются, что вы больше не можете прочитать диаграмму.
Вопрос в том, какие еще инструменты (будь то интерактивный, как Visio, Omnigraffle или ориентированный на ввод-вывод, как graphviz), которые позволили бы легко редактируемый (как в: Работает с текстовым файлом) документация, которая одновременно машинные и человеческие читаемые и редактируемые?
Почему не OmniGraffle или Visio? Что ж, у нас нет компьютеров Mac, а Visio сейчас недоступен. Чтобы его купить, потребуются веские аргументы. Автоматизация была бы одним из них. Но в прошлый раз, когда я посмотрел, управление версиями файлов Visio или даже мысль об автоматической обработке были кошмаром.
Связанный:
Может взглянуть на yed (На основе Java). В качестве формата файлов он использует разные диалекты XML, поэтому он удобен для чтения.
OmniGraffle использует механизм компоновки GraphViz, поэтому, если GraphViz выйдет из строя, вы, вероятно, тоже не продвинетесь далеко с OG.