mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-11 21:10:29 +01:00
New functionality: Business Systems #7371
Open
opened 2025-12-29 20:22:28 +01:00 by adam
·
11 comments
No Branch/Tag Specified
main
update-changelog-comments-docs
feature-removal-issue-type
20911-dropdown
20239-plugin-menu-classes-mutable-state
21097-graphql-id-lookups
feature
fix_module_substitution
20923-dcim-templates
20044-elevation-stuck-lightmode
feature-ip-prefix-link
v4.5-beta1-release
20068-import-moduletype-attrs
20766-fix-german-translation-code-literals
20378-del-script
7604-filter-modifiers-v3
circuit-swap
12318-case-insensitive-uniqueness
20637-improve-device-q-filter
20660-script-load
19724-graphql
20614-update-ruff
14884-script
02496-max-page
19720-macaddress-interface-generic-relation
19408-circuit-terminations-export-templates
20203-openapi-check
fix-19669-api-image-download
7604-filter-modifiers
19275-fixes-interface-bulk-edit
fix-17794-get_field_value_return_list
11507-show-aggregate-and-rir-on-api
9583-add_column_specific_search_field_to_tables
v4.5.0
v4.4.10
v4.4.9
v4.5.0-beta1
v4.4.8
v4.4.7
v4.4.6
v4.4.5
v4.4.4
v4.4.3
v4.4.2
v4.4.1
v4.4.0
v4.3.7
v4.4.0-beta1
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.9
v4.3.0-beta2
v4.2.8
v4.3.0-beta1
v4.2.7
v4.2.6
v4.2.5
v4.2.4
v4.2.3
v4.2.2
v4.2.1
v4.2.0
v4.1.11
v4.1.10
v4.1.9
v4.1.8
v4.2-beta1
v4.1.7
v4.1.6
v4.1.5
v4.1.4
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.11
v4.0.10
v4.0.9
v4.1-beta1
v4.0.8
v4.0.7
v4.0.6
v4.0.5
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v3.7.8
v3.7.7
v4.0-beta2
v3.7.6
v3.7.5
v4.0-beta1
v3.7.4
v3.7.3
v3.7.2
v3.7.1
v3.7.0
v3.6.9
v3.6.8
v3.6.7
v3.7-beta1
v3.6.6
v3.6.5
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.9
v3.6-beta2
v3.5.8
v3.6-beta1
v3.5.7
v3.5.6
v3.5.5
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.4.10
v3.4.9
v3.5-beta2
v3.4.8
v3.5-beta1
v3.4.7
v3.4.6
v3.4.5
v3.4.4
v3.4.3
v3.4.2
v3.4.1
v3.4.0
v3.3.10
v3.3.9
v3.4-beta1
v3.3.8
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.2.9
v3.2.8
v3.3-beta2
v3.2.7
v3.3-beta1
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.1.11
v3.1.10
v3.2-beta2
v3.1.9
v3.2-beta1
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.0.12
v3.0.11
v3.0.10
v3.1-beta1
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.11.12
v3.0-beta2
v2.11.11
v2.11.10
v3.0-beta1
v2.11.9
v2.11.8
v2.11.7
v2.11.6
v2.11.5
v2.11.4
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.10
v2.10.9
v2.11-beta1
v2.10.8
v2.10.7
v2.10.6
v2.10.5
v2.10.4
v2.10.3
v2.10.2
v2.10.1
v2.10.0
v2.9.11
v2.10-beta2
v2.9.10
v2.10-beta1
v2.9.9
v2.9.8
v2.9.7
v2.9.6
v2.9.5
v2.9.4
v2.9.3
v2.9.2
v2.9.1
v2.9.0
v2.9-beta2
v2.8.9
v2.9-beta1
v2.8.8
v2.8.7
v2.8.6
v2.8.5
v2.8.4
v2.8.3
v2.8.2
v2.8.1
v2.8.0
v2.7.12
v2.7.11
v2.7.10
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.1
v2.7.0
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.7-beta1
Solcon-2020-01-06
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.4
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.13
v2.5.12
v2.6-beta1
v2.5.11
v2.5.10
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.9
v2.5-beta2
v2.4.8
v2.5-beta1
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.7
v2.4-beta1
v2.3.6
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.3-beta2
v2.2.9
v2.3-beta1
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.6
v2.2-beta2
v2.1.5
v2.2-beta1
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.10
v2.1-beta1
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v2.0-beta3
v1.9.6
v1.9.5
v2.0-beta2
v1.9.4-r1
v1.9.3
v2.0-beta1
v1.9.2
v1.9.1
v1.9.0-r1
v1.8.4
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.7.3
v1.7.2-r1
v1.7.1
v1.7.0
v1.6.3
v1.6.2-r1
v1.6.1-r1
1.6.1
v1.6.0
v1.5.2
v1.5.1
v1.5.0
v1.4.2
v1.4.1
v1.4.0
v1.3.2
v1.3.1
v1.3.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.7-r1
v1.0.7
v1.0.6
v1.0.5
v1.0.4
v1.0.3-r1
v1.0.3
1.0.0
Labels
Clear labels
beta
breaking change
complexity: high
complexity: low
complexity: medium
needs milestone
netbox
pending closure
plugin candidate
pull-request
severity: high
severity: low
severity: medium
status: accepted
status: backlog
status: blocked
status: duplicate
status: needs owner
status: needs triage
status: revisions needed
status: under review
topic: GraphQL
topic: Internationalization
topic: OpenAPI
topic: UI/UX
topic: cabling
topic: event rules
topic: htmx navigation
topic: industrialization
topic: migrations
topic: plugins
topic: scripts
topic: templating
topic: testing
type: bug
type: deprecation
type: documentation
type: feature
type: housekeeping
type: translation
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/netbox#7371
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vliats2022 on GitHub (Dec 16, 2022).
NetBox version
v3.4.0
Feature type
New functionality
Proposed functionality
Business Systems (or Business applications) are a type of application that are used to improve the operations of a business.
For example, SAP ERP, Oracle EBS ERP, MES (Manufacturing Execution System), Material balance system, etc.
In general, a Вusiness system from the point of view of IT infrastructure operates on a certain number of VMs (database servers,
application servers, WEB servers, integration servers, etc.). Every business system has production environment, test environment,
development environment. Each environment is a collection of different VMs (bera metal servers).
Very often we or our bosses would like to know how many resources (VMs or bare metal servers) one business system or enother.
Often we would like to know how much resources (VMs or bare metal servers) one system or another is using.
Use case
A possible attributes for describing a business system:
Application Name
Application Description
Application Type
Tenant or Business Application Owner (for example, this field can refer to the Tenant entity of NetBox)
This is the application owner from the business, for example, various departments or organizations, etc.
Contact (this field can refer to the contacts entity of NetBox)
These are IT employees, for example, application administrator, devops engineer, etc.
Criticality
Is internet accessible
Database changes
A possible database schema could be something like this:
External dependencies
No new dependencies.
@ziggekatten commented on GitHub (Dec 16, 2022):
You can achieve this with services, tags, contacts and custom fields already today.
But you are getting close to the CMDB realm, and should maybe consider integrate netbox with a real CMDB. for example iTop. A real CMDB handles relations to external parties as well, like integrations, that really dont fit to be modelled in netbox.
@stavr666 commented on GitHub (Dec 17, 2022):
CMDB is not infrastructure-level logic. It's a (company) management logic. So, I'd prefer not have any of it in our "source of truth" service.
We have CMDBuild for this kind of stuff. All that matter for business projected there from Netbox. There you can limit some stuff by state, tenant etc., without continuously telling someone (without deep infrastructure knowledge), why they have "limited access".
P.S. Also, business apps operate close with financial responsibility and other relations. Integrating all that external contacts/schematics, that have not any relations to infrastructure outside of business logic...
@apellini commented on GitHub (Dec 17, 2022):
It's a good idea, also you could create relation with services and so you have the set of ports exposed by a business application.
Furthemore, we could create relation between them to collect network flows that are existing on your datacenter in high level mode.
@AlexCh1991 commented on GitHub (Jan 9, 2023):
Yes, it would be nice to have some information about business applications in the Netbox. Of course, we can use tags, but it's not comfortable for us. Integrating Netbox with CMDB for such a simple task is too complicated.
@DanSheps commented on GitHub (Jan 19, 2023):
For all those thumbing up, if you are doing it because you want this, make sure you thumb up the main FR. 😄
@alehaa commented on GitHub (Mar 3, 2024):
For managing our infrastructure, I came across the same problem. For our needs, most of the tenancy feature is sufficient, i.e. resources are assigned to an application tenant instead of an organizational unit tenant. You may be able to add some custom fields to tenants to cover additional characteristics such as criticality.
@alehaa commented on GitHub (Jul 28, 2024):
I'd like to contribute to this as I see great value in this information for managing applications in our infrastructure, e.g. to automatically add resource spaces in monitoring or virtualization systems. If there's interest, I can provide a PR for one of the following milestones.
A key question that came up in the discussion of https://github.com/Alef-Burzmali/netbox-data-flows/issues/25 is, whether or not a resource can belong to a
Tenantand anApplicationat the same time. If not, I think most of the tenancy logic could be reused to implement this feature. Another question would be whether this FR should only implement resource allocation, or also how they relate to each other (i.e.ApplicationA uses API ofApplicationB).@ghost commented on GitHub (Sep 13, 2024):
I personally feel this FR https://github.com/netbox-community/netbox/issues/17196 better fits the idea of modeling applications.
@alehaa commented on GitHub (Sep 14, 2024):
If I understand correctly, #17196 and the NetBox IPAM services target IP services. However, this FR targets applications in general. An application needs different resources to provide a certain service, which could be a device or a virtual machine, but also completely different resources like IP pools, DNS zones or even paper forms. So I think these FRs should be handled separately.
@jeremystretch could we add this to the 4.2 milestone by any chance? I think the window should be long enough to submit a PR and discuss any changes needed after review.
@ghost commented on GitHub (Sep 15, 2024):
no, it targets applications.
Adding some of the fields above to existing 'services' model would accomplish what you're looking for, and leverage a lot of what already exists with the current model.
https://github.com/netbox-community/netbox/issues/17196 aims to address a big gap in modeling layers 4-7 within NetBox.
What's great is that a lot of what is needed already exists within the services model. The problem is its too constrained to model only a single port/protocol rather than allowing grouping of ports/protocols to form an application which you can then associate with devices or virtual machines.
items 1, 2, 4, and 6 are already addressed in the current 'services' model. Adding some custom fields to a group of services aka an application for the 'application type' and the 'criticality' are simple enough.
@jeremystretch commented on GitHub (Feb 11, 2025):
FYI we're working on a solution for service mapping at NetBox Labs, which seems likely to address the use case cited above.