In diesem Beitrag geht es um die Einrichtung von Netzwerk-, System- und Datencenter-Dokumentationsservern.
Die Verwaltung Ihrer Infrastrukturdokumentation ist keine leichte Aufgabe. Eine Anwendung namens NET BOX ist darauf ausgelegt, 80 % der Infrastrukturdokumentation aufzubewahren. Als Systemnetzwerk-Typ habe ich mich immer gefragt, ob eine solche App / ein solcher Server meine Infrastrukturdokumentation verwalten könnte. Lassen Sie mich Ihnen mehr über diese Anwendung erzählen.
Was ist NETBOX?
Diese Anwendung dokumentiert hauptsächlich Netzwerk-Rechenzentrumsmodule, z. B. Racks, Serververwaltung und Stromquellen. Es handelt sich um eine Open-Source-Anwendung, die speziell für die Dokumentation der Infrastruktur entwickelt wurde. Dies machte es einfach, die Geräte, Racks und Standorte in einer riesigen Infrastruktur zu suchen und mit ihnen zu interagieren. Sie können vollständige Informationen zu Geräten, Links, Stromquellen und anderen Informationen anzeigen. Es umfasst die folgenden Aspekte der Netzwerkverwaltung.
- IP-Adressverwaltung (IPAM) :IP-Netzwerke und -Adressen, VRFs und VLANs.
- Geräteträger :Organisiert nach Gruppe und Standort.
- Geräte :Server, Router, Switches und andere Systemnetzwerkgeräte
- Leistungsressourcen und Berechnungen.
- Verbindungen :detaillierte Links und Verbindungen zwischen Geräten.
- Virtualisierung :Virtuelle Maschinen und Cluster
- Datenschaltkreise :Langstrecken-Kommunikationsleitungen und -anbieter.
Die folgenden Funktionen/Dienste werden nicht von netbox abgedeckt
- Netzwerküberwachung
- DNS-Server
- RADIUS-Server
- Konfigurationsverwaltung
- Einrichtungsverwaltung
Anwendungsstapel
NetBox basiert auf dem Django-Python-Framework und verwendet eine PostgreSQL-Datenbank. Es läuft als WSGI-Dienst hinter dem HTTP-Server Ihrer Wahl.
Funktion | Komponente |
---|---|
HTTP-Dienst | nginx oder Apache |
WSGI-Dienst | gunicorn oder uWSGI |
Bewerbung | Django/Python |
Datenbank | PostgreSQL 10+ |
Aufgabenwarteschlange | Redis/Django-rq |
Live-Gerätezugriff | NAPALM (optional) |
Anforderungen
- Ubuntu 20.04
- PostgreSQL | Version 10+
- Redis | Version 4.0 +
- Python | Version 3.7 +
Schritte zur Installation von NETBOX
Schritt 1:Maschine vorbereiten und aktualisieren
Aktualisieren Sie das Betriebssystem
sudo apt-get update
Installieren Sie PostgreSQL
sudo apt install -y postgresql
Starten Sie PostgreSQL und aktivieren Sie
systemctl start postgresql systemctl enable postgresql
überprüfen Sie die Version, indem Sie den folgenden Befehl ausführen
psql -V
Datenbank erstellen, Benutzer, Berechtigungen des Benutzers für die Datenbank festlegen
am DB-Terminal anmelden
sudo -u postgres psql
Übergeben Sie den folgenden Befehl im Terminal, um DB und Benutzer
zu erstellenCREATE DATABASE netbox;
CREATE USER netbox WITH PASSWORD 'netbox123';
GRANT ALL PRIVILEGES ON DATABASE netbox TO netbox;
Schritt 2:Installieren Sie den Redis-Server
apt install -y redis-server
überprüfen Sie den Redis-Dienst mit dem folgenden Befehl.
redis-cli ping
Schritt 3:NETBOX installieren
Erstellen Sie ein Verzeichnis für netbox
sudo mkdir -p /opt/netbox/
cd /opt/netbox/
Installieren Sie git, um das Netbox-GitHub-Repository zu klonen
apt install -y git
sudo git clone -b master –depth 1 https://github.com/netbox-community/netbox.git .
Erstellen Sie den NetBox-Systembenutzer
Erstellen Sie ein Systembenutzerkonto mit dem Namen netbox
. Wir konfigurieren die WSGI- und HTTP-Dienste so, dass sie unter diesem Konto ausgeführt werden. Wir weisen diesem Benutzer auch den Besitz des Medienverzeichnisses zu. Dadurch wird sichergestellt, dass NetBox hochgeladene Dateien speichern kann.
sudo adduser --system --group netbox
sudo chown --recursive netbox /opt/netbox/netbox/media/
Wechseln Sie in das NetBox-Konfigurationsverzeichnis und erstellen Sie eine Kopie von configuration.example.py
mit dem Namen configuration.py
. Diese Datei enthält alle Ihre lokalen Konfigurationsparameter.
cd /opt/netbox/netbox/netbox/
sudo cp configuration.example.py configuration.py
Parameter von PostgreSQL, Redis, Geheimschlüssel und erlaubten Hosts in der Datei configuration.py konfigurieren
Führen Sie den folgenden Befehl aus, um die Dienste einzurichten
sudo apt install python3.8-venv sudo /opt/netbox/upgrade.sh sudo PYTHON=/usr/bin/python3.7 /opt/netbox/upgrade.sh
Erstellen Sie einen Superuser
NetBox enthält keine vordefinierten Benutzerkonten. Sie müssen einen Superuser (Administratorkonto) erstellen, um sich bei NetBox anmelden zu können. Geben Sie zunächst die vom Upgrade-Skript erstellte virtuelle Python-Umgebung ein:
Befehle
source /opt/netbox/venv/bin/activate
cd /opt/netbox/netbox python3 manage.py createsuperuser
Benutzer:netbox
Passwort:netbox@123 (verwenden Sie Ihr Passwort)
Planen Sie die Haushaltsaufgabe
NetBox beinhaltet eine housekeeping
Der Verwaltungsbefehl verarbeitet wiederkehrende Bereinigungsaufgaben, z. B. das Löschen alter Sitzungen und abgelaufener Änderungsdatensätze. Obwohl dieser Befehl manuell ausgeführt werden kann, wird empfohlen, einen geplanten Job mit dem cron
des Systems zu konfigurieren Daemon oder ein ähnliches Dienstprogramm.
Ein Shell-Skript, das diesen Befehl aufruft, ist unter contrib/netbox-housekeeping.sh enthalten. Es kann in das tägliche Crontask-Verzeichnis Ihres Systems kopiert oder verlinkt oder direkt in die Crontab aufgenommen werden. (Wenn Sie NetBox in einem nicht standardmäßigen Pfad installieren, aktualisieren Sie zuerst die Systempfade in diesem Skript.)
Führen Sie den folgenden Befehl aus
sudo ln -s /opt/netbox/contrib/netbox-housekeeping.sh /etc/cron.daily/netbox-housekeeping
Testen Sie die Anwendung
Führen Sie den folgenden Befehl aus
python3 manage.py runserver 0.0.0.0:8000 --insecure
allow port in firewall
Führen Sie den folgenden Befehl aus
ufw allow 8000/tcp ufw reload
Greifen Sie auf das Dashboard zu
http://your server IP:8000
anmelden
Konfigurieren Sie Ihre Websites und fügen Sie Ihre Geräte und andere Details gemäß Ihrer Einrichtung hinzu
Heute haben Sie den Post zum Einrichten des Netzwerk-, System- und Datencenter-Dokumentationsservers erhalten.