Netbox bietet die Möglichkeit Graphen an den Interfaces der Devices anzuzeigen. Leider basiert die Authentifizierung an der LibreNMS API auf einm im Header mitgeschickten Auth-Token, sodass eine Einbindung in die Netbox nicht ohne weiteres möglich ist. Daher habe ich ein kleines PHP Skript geschrieben, dass sich zwischen die Netbox und LibreNMS hängt und die Anfragen an die API durchreicht.

Netbox interface graph from LibreNMS

Das Skript findet sich auf Github und kann einfach in den Plugin-Ordner der LibreNMS Installation hochgeladen werden. Sobald ein API Token in LibreNMS generiert und im Skript hinterlegt ist, können die Graphen in der Netbox mit folgendem Schema angelegt werden.

https://nms.level66.network/plugins/netbox-graph.php?device={{ obj.device.name }}&interface={{ obj.name }}&duration=8h
https://nms.level66.network/plugins/netbox-graph.php?device={{ obj.device.name }}&interface={{ obj.name }}&duration=12h
https://nms.level66.network/plugins/netbox-graph.php?device={{ obj.device.name }}&interface={{ obj.name }}&duration=24h
https://nms.level66.network/plugins/netbox-graph.php?device={{ obj.device.name }}&interface={{ obj.name }}&duration=1w

Wichtig ist, dass die Namen der Interfaces in LibreNMS und der Netbox übereinstimmen, da sonst der Abruf der Graphen nicht korrekt funktioniert.