Instalando o Diode Plugin
O Diode Plugin é um componente essencial para habilitar a ingestão automatizada de dados no NetBox. Ele fornece integração direta com o ORM do NetBox e gerencia as chaves de API, permitindo que o servidor Diode envie dados estruturados de forma segura e validada. Com esse plugin, o NetBox passa a receber atualizações de inventário em tempo real, facilitando a descoberta, documentação e sincronização contínua da infraestrutura de rede.
Repositório do Plugin
Copie o link abaixo ou clique a seguir para acessar o Repositório do Github
https://github.com/netboxlabs/diode-netbox-plugin
1. Requisitos para instalação
Esta documentação utilizou os seguintes componentes com suas respectivas versões:
| Componentes | Versões |
|---|---|
| Netbox | v4.1.11 |
| Diode Plugin | v0.6.0 |
2. Instalando e Configurando o Plugin no Netbox
Para instalarmos o plugin no Netbox, precisamos alterar e adicionar alguns arquivos que são responsáveis pela configuração do Netbox.
Os arquivos são:
plugin_requirements.txt.DockerFile-Plugins.docker-compose.override.yml.configuration/plugins.py.
2.1. Configurando a versão do Netbox:
-
Primeiro, vamos clonar o repositório do Netbox:
git clone -b release https://github.com/netbox-community/netbox-docker.git -
Acesse o diretório clonado:
cd netbox-docker -
Agora, mude para a release 3.0.0
git checkout 3.0.0
Informação
Alteramos a branch do repositório para termos acesso à versão 4.1.11 do Netbox.
Dica
Todos os comandos abaixos serão executados dentro diretório raiz do netbox netbox-docker/.
2.2. plugin_requirements.txt
Este arquivo contém ama lista dos plugins do Netbox (como pacotes Python do PyPO) que devem ser instalados durante a construção da imagem Docker.
Execute o seguinte comando para escrever o pacote dentro do arquivo plugin_requirements.txt.
echo "netboxlabs-diode-netbox-plugin" > plugin_requirements.txt
2.3. DockerFile-Plugins
Esse é o DockerFile usado para construir a imagem docker customizada.
-
Crie o arquivo e acesse com um editor:
nano DockerFile-Plugins -
Copie o conteúdo abaixo e cole no arquivo:
FROM netboxcommunity/netbox:v4.1 COPY ./plugin_requirements.txt /opt/netbox/ RUN pip install -r /opt/netbox/plugin_requirements.txt
2.4. docker-compose.override.yml
Como o nome implica, esse arquivo contaim as configurações que vão sobrescrever o docker-compose.yml.
Caso você ainda não tenha configurado a rede br-lab. Acesse: Configurando a Rede Docker
-
Crie o arquivo e acesse com um editor:
nano docker-compose.override.yml -
Copie o conteúdo abaixo e cole no arquivo:
services: netbox: image: netbox:latest-plugins pull_policy: never ports: - 8000:8080 build: context: . dockerfile: Dockerfile-Plugins networks: br-lab: ipv4_address: 172.10.10.5 netbox-worker: image: netbox:latest-plugins pull_policy: never networks: - br-lab netbox-housekeeping: image: netbox:latest-plugins pull_policy: never networks: - br-lab postgres: networks: - br-lab redis: networks: - br-lab redis-cache: networks: - br-lab networks: br-lab: external: true
As alterações feitas foram:
- adicionar o Netbox na rede
br-lab. - alteração do dockerfile para o
Dockerfile-Plugins, criado anteriormente. - Também alterado a imagem dos serviços para:
netbox:latest-plugins.
2.5. plugins.py
Este arquivo é responsável por setar as configurações específicas de cada plugin.
-
Acesse o arquivo com o editor:
nano configuration/plugins.py -
Copie e cole o conteúdo no arquivo:
PLUGINS = [ "netbox_diode_plugin", ] PLUGINS_CONFIG = { "netbox_diode_plugin": { # Auto-provision users for Diode plugin "auto_provision_users": True, # Diode gRPC target for communication with Diode server "diode_target_override": "grpc://172.10.10.120:80/diode", # User allowed for Diode to NetBox communication "diode_to_netbox_username": "diode-to-netbox", # User allowed for NetBox to Diode communication "netbox_to_diode_username": "netbox-to-diode", # User allowed for data ingestion "diode_username": "diode-ingestion", }, }
Dica
Indicamos que deixe a configuração auto_provision_users como True para automatizar a criação de usuário, grupos e chaves de API que são responsáveis pela integração com o Diode Server.
3. Build e Deploy!
Agora seu Netbox está configurado e pronto para o deploy, siga os comandos abaixo e construa a nova instancia do Netbox!
-
Construa a imagem:
docker compose build --no-cache -
Suba os containeres:
docker compose up -d
4. Próximos Passos
Com o plugin do Diode instalado, seu ambiente NetBox agora está preparado para receber dados do servidor Diode, permitindo a ingestão automatizada de informações da rede.
O próximo passo é configurar o Diode Server, responsável por processar e encaminhar esses dados para o NetBox.
Próximo: Instalando o Diode Server