Một số công cụ hỗ trợ việc import dữ liệu lên NetBox
Tool được sử dụng để tự động Import Device lên NetBox với dữ liệu lấy từ file Excel theo 1 form đầu vào.
Tool sẽ thực hiện đọc dữ liệu từ file Excel của bạn, sau đó sẽ tự động thực hiện một số kiểm tra.
- Kiểm tra tồn tại file, kiểm tra kết nối tới NetBox
- Kiểm tra các trường dữ liệu đã có đầy đủ trên NetBox hay chưa
- Riêng đối với phần Device-Types sẽ có thêm phần tự động Add những Device-Types chưa tồn tại trên NetBox
Tool có thể chạy trên đa hệ điều hành: Windows, Linux, MacOS, yêu cầu phiên bản Python 3.7 trở lên và NetBox 4.0 trở lên
Một số yêu cầu cần làm trước khi khởi chạy Tools
- Kiểm tra file đầu vào đã đúng với định dạng theo như file
sample_input.xlsx
hay chưa - Kiểm tra các trường dữ liệu cần thiết trong file đã có đầy đủ trên NetBox hay chưa
- Kiểm tra file
config.py
xem đã cập nhật các biến cần thiết đúng hay chưa - Kiểm tra xem đã cài đặt đầy đủ các gói ở trong file
requirements.txt
hay chưa - Kiểm tra xem bạn đã cấp quyền khởi chạy file hay sử dụng quyền sudo đối với Linux hay chưa.
Hướng dẫn cài đặt và cấu hình để sử dụng tool
Windows
- Các bạn tải xuống các file trong thư mục
Auto_import_devices
. - Nên mở trong Visual Studio Code để đọc và kiểm soát file tốt hơn
- Mở Terminal và cài đặt các gói yêu cầu:
pip install -r requirements.txt
Linux
- Đối với cả CentOS và Ubuntu, các bạn dùng tổ hợp lệnh sau để thực hiện clone thư mục về:
# Clone git
git clone --depth 1 --filter=blob:none --sparse https://github.com/hocchudong/netbox-import-tool.git
# Giữ lại thư mục cần thiết
cd netbox-import-tool
git sparse-checkout set Auto_Import_Device
- Kích hoạt môi trường ảo và cài đặt các gói yêu cầu:
pip install -r requirements.txt
Mở file config.py
và thực hiện cấu hình như sau
# Nhập dữ liệu file
filepath = '<Nhập đường dẫn tới file xlsx của bạn>'
sheetname = '<Nhập tên Sheet chứa data>'
# Nhập dữ liệu để kết nối tới NetBox
NetBox_URL = '<Nhập URL NetBox>'
NetBox_Token = '<Nhập Token NetBox>'
# Nhập tên Site của bạn
sitename = '<Nhập tên Site>'
Sau khi đã cài đặt và hoàn thành các bước cấu hình, chúng ta cần làm:
- Bật quyền root
sudo su
- Cấp quyền khởi chạy file
chmod +x auto_import_devices.py
Windows
- Các bạn có thể sử dụng CMD hoặc Visual Studio Code,.. để chạy code
Linux
- Chạy file trong môi trường ảo
python auto_import_devices.py
- Hoặc sử dụng câu lệnh
.auto_import_devices
Sau khi việc thực thi hoàn tất, mẫu kết quả sẽ như sau:
Kiểm tra trên NetBox:
Nếu có bất kỳ trường hợp lỗi sử dụng, vui lòng góp ý ở mục Issue của GitHub
Dữ liệu của 2 cột trong mục CustomFields: Contract Number và Year of Investment trên NetBox sẽ có định dạng như sau
Mặc định các DeviceTypes mới khi được khởi tạo tự động sẽ có số U là 1 và phiên bản 1.0 sẽ chỉ có thể làm việc với file dữ liệu có các Device Type là 1 dòng.
Cột CustomFields của NetBox ở Version 3:
Version 1: Chưa có khả năng đọc file có data bị merge
Version 2: Có khả năng đọc file có data bị merge
Version 3: Tối ưu lại chương trình, thêm 1 số hàm kiểm tra lỗi, định dạng file mới, dữ liệu mới