Move graphs to a plugin #3463

Closed
opened 2025-12-29 18:29:21 +01:00 by adam · 5 comments
Owner

Originally created by @jeremystretch on GitHub (Mar 11, 2020).

Proposed Changes

NetBox has the ability to define graphs (images) that can pop up in a modal when viewing devices, sites, etc. This issue proposes removing the function from NetBox core and establishing a plugin which provides similar functionality. We should also provide a reasonable migration path for people who use graphs to preserve their current configuration.

Justification

This feature is extraneous to NetBox's core functions and I get the feeling it is seldom used. It should also make a nice reference implementation for lightweight plugins.

Originally created by @jeremystretch on GitHub (Mar 11, 2020). ### Proposed Changes NetBox has the ability to define graphs (images) that can pop up in a modal when viewing devices, sites, etc. This issue proposes removing the function from NetBox core and establishing a plugin which provides similar functionality. We should also provide a reasonable migration path for people who use graphs to preserve their current configuration. ### Justification This feature is extraneous to NetBox's core functions and I get the feeling it is seldom used. It should also make a nice reference implementation for lightweight plugins.
adam added the status: acceptedtype: deprecation labels 2025-12-29 18:29:21 +01:00
adam closed this issue 2025-12-29 18:29:21 +01:00
Author
Owner

@xkilian commented on GitHub (Jun 14, 2020):

mxgraph seems like a library to explore for the graph plugin as it can accept dynamically created context based of csv input(or directly from netbox) and then auto-arrange the display layout. It can also have a full on editor via draw.io.

Having this feature is still relevant as a plugin as some things need a graphical display to help understand their structure: Power, DMZ zones, network backbone, anything that is non standard. Though for hardcore network visualisation this would be done in the network management software or in Grafana(insert here favorite dashboarding app) for more state/performance related data.

@xkilian commented on GitHub (Jun 14, 2020): mxgraph seems like a library to explore for the graph plugin as it can accept dynamically created context based of csv input(or directly from netbox) and then auto-arrange the display layout. It can also have a full on editor via draw.io. Having this feature is still relevant as a plugin as some things need a graphical display to help understand their structure: Power, DMZ zones, network backbone, anything that is non standard. Though for hardcore network visualisation this would be done in the network management software or in Grafana(_insert here favorite dashboarding app_) for more state/performance related data.
Author
Owner

@jeremystretch commented on GitHub (Jun 15, 2020):

@xkilian That's not what this feature does. It merely embeds graphs generated by other systems within the NetBox UI for convenience. It does not generate graphs by any means. You're probably thinking of the old topology graphs function which was removed some time ago.

@jeremystretch commented on GitHub (Jun 15, 2020): @xkilian That's not what this feature does. It merely embeds graphs generated by other systems within the NetBox UI for convenience. It does not generate graphs by any means. You're probably thinking of the old topology graphs function which was removed some time ago.
Author
Owner

@xkilian commented on GitHub (Jun 15, 2020):

Thank you for the clarification.

In that case, the plugin is much simpler and fits right in to the Netbox philosophy.

Suggestions for the plugin:

  • png format
  • configurable limits (file size) so as not to choke it due to users putting way too high resolution files.
  • No local storage of files
  • Use templating support like custom links to permit pointing to the external image
  • Global configurable image constraints: So that the image may or may not be allowed to fill the screen. Constrain to a certain max size and auto-fit/scale.
    Other features
  • An admin panel with a list of objects that have configured image links. Or other housekeeping method.
@xkilian commented on GitHub (Jun 15, 2020): Thank you for the clarification. In that case, the plugin is much simpler and fits right in to the Netbox philosophy. Suggestions for the plugin: - png format - configurable limits (file size) so as not to choke it due to users putting way too high resolution files. - No local storage of files - Use templating support like custom links to permit pointing to the external image - Global configurable image constraints: So that the image may or may not be allowed to fill the screen. Constrain to a certain max size and auto-fit/scale. Other features - An admin panel with a list of objects that have configured _image links_. Or other housekeeping method.
Author
Owner

@czarnian commented on GitHub (Jun 22, 2020):

We are using this as nicely integrated shortcut to external monitoring (LibreNMS) to quickly check/verify interface traffic.

@czarnian commented on GitHub (Jun 22, 2020): We are using this as nicely integrated shortcut to external monitoring (LibreNMS) to quickly check/verify interface traffic.
Author
Owner

@jeremystretch commented on GitHub (Aug 21, 2020):

Support for embedded graphs will be removed in NetBox v2.10. Hopefully someone within the community will volunteer to take on the task of replicating this functionality in a plugin.

@jeremystretch commented on GitHub (Aug 21, 2020): Support for embedded graphs will be removed in NetBox v2.10. Hopefully someone within the community will volunteer to take on the task of replicating this functionality in a plugin.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#3463