NETBOX
MISE EN PLACE via docker :
Configuration des agent sur les différente machine :
Installation de netbox-agent sur Debian
Prérequis : NetBox accessible sur http://192.168.110.6:8080 — remplacez cette IP par
celle de votre serveur NetBox si différente.
1.Installer les dépendances
apt install -y python3-pip dmidecode lshw
2.Installer netbox-agent
pip3 install netbox-agent==1.1.0 --break-system-packages
Puis faire :
apt --fix-missing install -y python3-pip dmidecode lshw
pip3 install netbox-agent==1.1.0 --break-system-packages mkdir -p /etc/netbox nano /etc/netbox/netbox-agent.yml
3. Ajouter netbox_agent au PAF
echo 'export PATH=$PATH:/usr/local/bin:/usr/sbin' >> ~/.bashrc
source ~/.bashrc
4. Créer un token API dans NetBox
1. Connectez-vous sur NetBox
2. Cliquez sur votre nom d'utilisateur (en haut à droite) → API Tokens
3. Cliquez Add Token
4. Copiez le token généré (sans le mot Bearer )
5. Créer le fichier de configuration
mkdir -p /etc/netbox
nano /etc/netbox/netbox-agent.yml
yaml
netbox:
url: 'http://192.168.110.6:8080' # IP de votre serveur NetBox
token: 'VOTRE_TOKEN_ICI'
ssl_verify: false
virtual:
enabled: true
cluster_name: 'proxmox' # Nom exact du cluster dans NetBox
device:
server_role: 'Server'
network:
ignore_interfaces: "^(lo|docker|veth|br-)"
datacenter_location:
driver: 'cmd'
Important : le cluster_name doit correspondre exactement au nom du cluster dans NetBox
→ Virtualisation > Clusters.
6. Tester l'envoi vers NetBox
PATH=$PATH:/usr/sbin netbox_agent -c /etc/netbox/netbox-agent.yml
Si vous voyez Finished updating NIC! à la fin, c'est bon
Normalement dans l'interface de NetBox on vois quelque chose de similaire ( le nom c le nom de la machine)
Et pour avoir l'ip il faut aller dans modifier , décendre jusqu'a ip et choir la bonne IP
7. Automatiser avec un timer systemd (toutes les heures)
cat > /etc/systemd/system/netbox-agent.service << 'EOF'
[Unit]
Description=NetBox Agent
After=network.target
[Service]
Type=oneshot
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
ExecStart=/usr/local/bin/netbox_agent -c /etc/netbox/netbox-agent.yml -u
EOF
cat > /etc/systemd/system/netbox-agent.timer << 'EOF'
[Unit]
Description=NetBox Agent toutes les heures
[Timer]
OnBootSec=5min
OnUnitActiveSec=1h
[Install]
WantedBy=timers.target
EOF
systemctl daemon-reload
systemctl enable --now netbox-agent.timer
Vérification :
systemctl status netbox-agent.timer
