Создание кроссового журнала в Netbox

Версия 1.2 от Антон Волков на 2024/11/18 11:07

Подготовительные работы.

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

1. Создать сайты к которым у нас будет привязано оборудование.

Сайты это сущности которые по сути могут приравниваться к зданию, помещению или фактическому месту нахождения оборудования.

2. Создать записи о производителях оборудования.

Тут мы заполняем только вендора (Dell, cisco и т.д.), при этом наименование производителя, которого мы завели должно совпадать с производителем в нашем шаблоне..

3. Добавить записи с типами устройств, которые являются шаблонами для непосредственно наших устройств.

Типы устройств могут заполняться вручную или быть загружены из шаблонов (большое количество готовых шаблонов можно найти на GitHuB или в архиве ).

Для загрузки шаблона, переходим в "Типы устройств" -> "типы устройств", жмем импорт и вставляем в поле Data текст шаблона из файла yaml, нажимаем кнопку отправить.

1728979776901-694.png

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

1728980035182-849.png

Если мы выбрали тип устройства, которое добавили из шаблона, то все необходимые интерфейсы будут уже добавлены автоматически, проверить это можно на вкладке interfaces внутри записи о самом устройстве:

1728980163888-744.pngЕсли нам нахватает каких то интерфейсов, мы можем добавить их руками в этой же вкладке.

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

1728982001114-363.png1728982045595-515.png

Создание кабельных соединений

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

1728982192557-822.png

Переходим в "Подключения" -> "Кабели" и добавляем новое соединение.

1728982287808-946.pngВыбираем устройства на стороне А и Б, интерфейсы и жмем добавить.

Так же новые соединения можно добавлять прямо из вкладки inerfaces внутри самого устройства:

1728982401203-309.png

После создания нового кабельного соединения мы можем посмотреть итоговую таблицу в разделе "Интерфейсные подключения", а также во вкладке 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 

PLUGINS = ["netbox_topology_views"]

 Настройки плагина:

PLUGINS_CONFIG = {
   'netbox_topology_views': {
       'static_image_directory': 'netbox_topology_views/img',
       'allow_coordinates_saving': True,
       'always_save_coordinates': True
    }
}

 Теперь необходимо выполнить миграцию и наполнение статического содержимого и перезапустить службы:

(venv)$ cd /usr/local/share/netbox/netbox
(venv)$ python3.11 manage.py migrate
(venv)$ python3.11 manage.py collectstatic --no-input
# service netbox restart
# service netbox_rq restart

 Теперь в интерфейсе у нас должен появиться раздел Topology views 

1728998141323-355.png

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

1728998431871-237.png1728998458792-336.png