Questo post riguarda la configurazione del server di documentazione di rete, sistema e datacenter.
La gestione della documentazione dell'infrastruttura non è un lavoro facile. Un'applicazione è progettata per conservare l'80% della documentazione dell'infrastruttura denominata NET BOX. Essendo un ragazzo di System Network, mi sono sempre chiesto un'app/server del genere in grado di gestire la documentazione della mia infrastruttura. Lascia che ti dica di più su questa applicazione.
Cos'è NETBOX?
Questa applicazione documenta principalmente i moduli del data center di rete, ad esempio rack, gestione dei server e fonti di alimentazione. Si tratta di un'applicazione open source sviluppata specificamente per soddisfare la necessità di documentare l'infrastruttura. Ciò ha semplificato la ricerca e l'interazione con dispositivi, rack e siti in un'immensa infrastruttura. È possibile visualizzare informazioni complete su dispositivi, collegamenti, fonti di alimentazione e altre informazioni. Comprende i seguenti aspetti della gestione della rete.
- Gestione degli indirizzi IP (IPAM) :reti e indirizzi IP, VRF e VLAN.
- Rack per attrezzature :Organizzato per gruppo e sito.
- Dispositivi :server, router, switch e altri dispositivi di rete del sistema
- Risorse energetiche e calcoli.
- Connessioni :collegamenti dettagliati e connessioni tra dispositivi.
- Virtualizzazione :macchine virtuali e cluster
- Circuiti di dati :circuiti e provider di comunicazione a lungo raggio.
Le seguenti funzionalità/servizi non sono coperti da netbox
- Monitoraggio della rete
- Server DNS
- Server RADIUS
- Gestione della configurazione
- Gestione delle strutture
Stack di applicazioni
NetBox è basato sul framework Django Python e utilizza un database PostgreSQL. Funziona come un servizio WSGI dietro la tua scelta di server HTTP.
Funzione | Componente |
---|---|
Servizio HTTP | nginx o Apache |
Servizio WSGI | gunicorn o uWSGI |
Applicazione | Django/Python |
Banca dati | PostgreSQL 10+ |
In coda attività | Redis/Django-rq |
Accesso al dispositivo in tempo reale | NAPALM (opzionale) |
Requisiti
- Ubuntu 20.04
- PostgresSQL | Versione 10+
- Redis | Versione 4.0 +
- Pitone | versione 3.7 +
Passaggi per installare NETBOX
Fase 1:prepara e aggiorna la macchina
Aggiorna il sistema operativo
sudo apt-get update
Installa PostgreSQL
sudo apt install -y postgresql
Avvia PostgreSQL e abilita
systemctl start postgresql systemctl enable postgresql
controlla la versione eseguendo il comando seguente
psql -V
Crea database, utente, imposta i privilegi dell'utente su DB
accedi al terminale DB
sudo -u postgres psql
passare il seguente comando nel terminale per creare DB e utente
CREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'netbox123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Fase 2:installa il server Redis
apt install -y redis-server
verifica il servizio Redis utilizzando il comando seguente.
redis-cli ping
Fase 3:Installa NETBOX
Crea una directory per netbox
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
Installa git per clonare il repository GitHub della netbox
apt install -y git
sudo git clone -b master –depth 1 https://github.com/netbox-community/netbox.git .
Crea l'utente del sistema NetBox
Crea un account utente di sistema denominato netbox
. Configureremo i servizi WSGI e HTTP per l'esecuzione con questo account. Assegneremo anche a questo utente la proprietà della directory multimediale. Ciò garantisce che NetBox sarà in grado di salvare i file caricati.
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/
Spostarsi nella directory di configurazione di NetBox e fare una copia di configuration.example.py
denominato configuration.py
. Questo file conterrà tutti i parametri di configurazione locale.
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
configurare i parametri di PostgreSQL, Redis, chiave segreta e host consentiti nel file configuration.py
esegui il seguente comando per configurare i servizi
sudo apt install python3.8-venv sudo /opt/netbox/upgrade.sh sudo PYTHON=/usr/bin/python3.7 /opt/netbox/upgrade.sh
Crea un super utente
NetBox non viene fornito con alcun account utente predefinito. Dovrai creare un superutente (account amministrativo) per poter accedere a NetBox. Innanzitutto, entra nell'ambiente virtuale Python creato dallo script di aggiornamento:
Comandi
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox python3 manage.py createsuperuser
utente:netbox
password:netbox@123 (utilizza la tua password)
Programma il compito di pulizia
NetBox include un housekeeping
Il comando di gestione gestisce le attività di pulizia ricorrenti, come la cancellazione di vecchie sessioni e record di modifiche scaduti. Sebbene questo comando possa essere eseguito manualmente, si consiglia di configurare un lavoro pianificato utilizzando il cron
del sistema demone o un'utilità simile.
Uno script di shell che invoca questo comando è incluso in contrib/netbox-housekeeping.sh. Può essere copiato o collegato dalla directory delle attività cron giornaliere del tuo sistema o incluso direttamente nel crontab. (Se si installa NetBox in un percorso non standard, aggiornare prima i percorsi di sistema all'interno di questo script.)
esegui il comando seguente
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Verifica l'applicazione
Esegui il comando seguente
python3 manage.py runserver 0.0.0.0:8000 --insecure
allow port in firewall
Esegui il comando seguente
ufw allow 8000/tcp ufw reload
Accedi alla dashboard
http://your server IP:8000
accesso
configura i tuoi siti e aggiungi i tuoi dispositivi e altri dettagli in base alla tua configurazione
Oggi hai il post di installazione di rete, sistema e server di documentazione del centro dati.