Подготовительные работы.
Для того чтобы использовать функционал кроссового журнала, нам необходимо:
1. Создать сайты к которым у нас будет привязано оборудование.
Сайты это сущности которые по сути могут приравниваться к зданию, помещению или фактическому месту нахождения оборудования.
2. Создать записи о производителях оборудования.
Тут мы заполняем только вендора (Dell, cisco и т.д.), при этом наименование производителя, которого мы завели должно совпадать с производителем в нашем шаблоне..
3. Добавить записи с типами устройств, которые являются шаблонами для непосредственно наших устройств.
Типы устройств могут заполняться вручную или быть загружены из шаблонов (большое количество готовых шаблонов можно найти на GitHuB или в ).
Для загрузки шаблона, переходим в "Типы устройств" -> "типы устройств", жмем импорт и вставляем в поле Data текст шаблона из файла yaml, нажимаем кнопку отправить.

4. Добавляем наше устройство:

Если мы выбрали тип устройства, которое добавили из шаблона, то все необходимые интерфейсы будут уже добавлены автоматически, проверить это можно на вкладке interfaces внутри записи о самом устройстве:
Если нам нахватает каких то интерфейсов, мы можем добавить их руками в этой же вкладке.
При желании мы можем назначить на интерфейс оборудования уже имеющийся IP адрес из IPAM или добавить новый, после чего в основных настройках оборудования мы можем выбрать для него основной IP адрес:


Создание кабельных соединений
После того как мы добавили все необходимые устройства и интерфейсы, можно начать создавать кабельные соединения:

Переходим в "Подключения" -> "Кабели" и добавляем новое соединение.
Выбираем устройства на стороне А и Б, интерфейсы и жмем добавить.
Так же новые соединения можно добавлять прямо из вкладки inerfaces внутри самого устройства:

После создания нового кабельного соединения мы можем посмотреть итоговую таблицу в разделе "Интерфейсные подключения", а также во вкладке Interfaces.
Отрисовка топологии
После создания всех соединений, можно установить плагин "NetBox Topology Views"
$ . /usr/local/share/netbox/venv/bin/activate
--- Создаем каталог для изображений ---
(venv)$ mkdir -p /usr/local/share/netbox/netbox/static/netbox_topology_views/img
--- Ставим плагин ---
(venv)$ pip install netbox-topology-views
--- Добавляем плагин в зависимости Netbox что бы при обновлении он не слетел ---
(venv)$ echo netbox-topology-views >> /usr/local/share/netbox/requirements.txt
Подключаем плагин в файле configuration.py
Настройки плагина:
'netbox_topology_views': {
'static_image_directory': 'netbox_topology_views/img',
'allow_coordinates_saving': True,
'always_save_coordinates': True
}
}
Теперь необходимо выполнить миграцию и наполнение статического содержимого и перезапустить службы:
(venv)$ python3.11 manage.py migrate
(venv)$ python3.11 manage.py collectstatic --no-input
# service netbox restart
# service netbox_rq restart
Теперь в интерфейсе у нас должен появиться раздел Topology views

Если мы перейдем в раздел Topology и на вкладке Filter поставим "Show cables", то увидим визуализацию всех наших соединений которые мы сделали в разделе "Подключения"

