Netbox — это открытое (open source) веб-приложение, созданное для эффективного управления и документирования компьютерных сетей. Первоначально разработанный сетевыми инженерами из DigitalOcean, Netbox нацелен на удовлетворение потребностей системных администраторов.
Основные возможности Netbox:
- Управление IP-адресами (IPAM) — управление IP-адресным пространством сети, включая VRF и VLAN.
- Управление инфраструктурой дата-центра (DCIM) — организация стоечного оборудования по различным группам и устройствам.
- Устройства — классификация разновидностей оборудования и определение их местоположения.
- Соединения — управление сетевыми, консольными и силовыми типами.
- Виртуализация — поддержка виртуальных машин и их групп.
- Схемы информационной передачи — создание направлений дальней связи и управление провайдерами.
- Секреты — безопасное хранение зашифрованной информации конфиденциального характера по типу учётных данных.
Netbox поддерживает интеграцию с LDAP, однако стоит отметить отсутствие локализации как некоторый недостаток.
Технологический стек Netbox:
- Веб-сервер — Nginx или Apache для обработки HTTP-запросов.
- WSGI-сервер — Gunicorn или uWSGI для работы с Python-приложениями.
- Приложение — разработано на Django/Python.
- База данных — PostgreSQL версии 9.6 и выше.
- Очередь задач — Redis или django-rq для управления фоновыми задачами.
- Доступ к устройствам в реальном времени — используется NAPALM.
Хотя я лично не использую Netbox для управления сетью, это приложение идеально подходит для документирования, сбора данных и визуализации стоек с устройствами. К сожалению, не могу предоставить много элементов визуализации, так как в текущей установке содержится служебная информация.

Есть возможность создания собственных видов устройств и назначения им ролей с выделением цветом в стойке.


Программа оснащена REST API, которое отвечает за получение и изменение данных в Netbox. API используется для интеграции приложения с другими системами виртуализации, мониторинга, логирования, резервирования и т.д. Также можно разрабатывать собственные модули для расширения функционала.