Mapping Fortinet CIs and relationships
Summarize
Summary of Mapping Fortinet CIs and relationships
The Service Graph Connector (SGC) for Fortinet SD-WAN enables ServiceNow customers to automatically discover and map physical and logical network resources into telecom-aligned configuration item (CI) classes within the Configuration Management Database (CMDB). This mapping ensures consistent service modeling, enhances visibility into chassis-level components, and automates the creation of logical and physical relationships between CIs. The connector uses advanced engines—the Robust Transform Engine (RTE) and Identification and Reconciliation Engine (IRE)—to accurately classify and insert CIs according to telecom-specific device and chassis models. This results in a clean, normalized CMDB across multiple vendors.
Show less
Key Features
- CI Classification and Relationships: The SGC maps Fortinet-discovered resources such as network sites, IP routers (FortiGate devices), slots, subslots, network interfaces, network service instances, groups, and IP addresses into corresponding CMDB classes with hierarchical and relational context.
- Logical Interface Discovery: In addition to physical ports, logical interfaces like tunnels and VPNs are discovered and represented as network interface CIs related to their parent IP router, enabling precise interface-level metric correlation and reporting.
- Firmware Version Calculation: The connector calculates firmware versions for IP routers by concatenating device OS version fields (osver, mr, patch) from Fortinet inventory. A customizable extension point allows customers to override the default version format to meet specific needs.
- Standardized Model Identifiers: Fortinet model names are automatically transformed into ServiceNow AI Platform standard identifiers and categories, facilitating consistent slot and subslot component classification.
Practical Benefits for ServiceNow Customers
- Automates and simplifies the integration of Fortinet SD-WAN network components into the CMDB, reducing manual effort and errors.
- Maintains a normalized and vendor-agnostic CMDB structure, improving data quality and reliability for telecom service management.
- Provides detailed visibility into network topology, including physical and logical interfaces, supporting better monitoring and troubleshooting.
- Enables accurate firmware tracking and supports customization to align with specific organizational standards or reporting requirements.
The Service Graph Connector (SGC) for Fortinet SD-WAN maps discovered physical and logical network resources to telecom-aligned configuration item (CI) classes in the Configuration Management Database (CMDB). Service Graph Connectors support consistent service modeling, provide visibility into chassis-level components, and automate the creation of logical and physical relationships.
The connector uses the Robust Transform Engine (RTE) and Identification and Reconciliation Engine (IRE) to confirm accurate CI classification and insertion.
The connector classifies and relates discovered CIs using telecom-specific models based on device type, function, and chassis structure. This organization helps maintain a clean and normalized CMDB across vendors. Discovered model names from Fortinet are automatically transformed into ServiceNow AI Platform standard model identifiers and categories for slot and subslot components.
CI mapping and relationships
| CMDB CI Class | CMDB CI Table | CMDB Hierarchy | Object types/models | Description and Relationships |
|---|---|---|---|---|
| Network site | cmdb_ci_ni_site |
CI → Site →Network Site | Organization network |
|
| IP router | cmdb_ci_ip_router |
CI → HW →NG → IP router | SD-WAN Edge/ network or service router is represented by the IP router |
|
| Slot | cmdb_ci_container_slot |
HW → Equipment → holder → Slot | Slot |
|
| Subslot | cmdb_ci_container_subslot |
HW → Equipment → holder → Slot | Subslot |
|
| Network Interface CI | cmdb_ci_ni_interface |
Port → Network Port → Network interface | The list of support port models is defined in the vendor-specific network physical information. |
|
| Network service instance | cmdb_ci_network_service_instance |
CI → Service instance → Network service instance | Network service instance |
|
| Group | cmdb_ci_group |
CI → Group | Represents organization | Network sites and network service instance are members. |
| IP Address CI | cmdb_ci_ip_address |
CI → IP address | Represents discovered IP addresses for CIs. | Owned by the corresponding CI. |
Discovered logical interfaces
In addition to physical ports, the SGC discovers logical interfaces, such as tunnel and VPN
interfaces (for example, Hub1-inetVPN, inetVPN, and
mplsVPN), from the Fortinet inventory. Each logical interface is created as a network
interface CI (cmdb_ci_ni_interface) and related to its parent device
(IP router) CI.
A CMDB CI exists for each logical interface. Metrics that report against a logical interface name are mapped to the corresponding logical interface CI rather than to the parent device CI. This mapping enables interface-level metric correlation and reporting for tunnel and VPN interfaces.
Firmware version calculation
When the SGC discovers an IP router, it sets the firmware version on the cmdb_ci_ip_router CI by joining the device os_ver, mr, and patch
fields from the Fortinet inventory with periods. For example, a device with os_ver=7, mr=4, and patch=11 resolves to 7.4.11. This matches the value shown
in the Fortinet GUI. If any of these fields is missing, the firmware version is left empty. The firmware value is also left empty if the major version is not a whole number.
Override the default with the sn_sgc_fortinet.FortinetCustomizedFirmwareVersion extension point to calculate the firmware version differently. Create an implementation that defines a
formatFirmwareVersion() handler, where device is the Fortinet device object returned by the API. Return your own version string from the handler. A custom firmware handler's return value is used exactly as returned, including an empty result; the built-in calculation is used only when no custom handler is active.