Skip to content

Graph Database and Topology

Graph - Vertices and Edges

The Graph Database is the underlying foundation for both Topology and SLM, providing normalized Topology data including service hierarchy (SLM), geo-location (site mapping) and network (OSI layer 1-7) data, as well as more advanced applications such as service propagation, RCA/downstream suppression, and cross domain correlation and visualization.

Note

Great care should be taken when modifying anything in the Graph database as misconfigurations can cause unintended results.

Vertices

The Vertices interface (Configuration -> Graph -> Vertices) is used for adding, editing, and removing vertices and specifying special properties. A vertex can be a device, service, metric, etc., and is used to represent these items in the Graph database. Properties of the vertex are custom name/value pairs used for metadata. Certain Assure1 components leverage this meta data for display and for correlation purposes.

A column has been added to the grid to show a vertex's Custom Name. Vertices of type Device will now use the Assure1 built-in algorithm to determine the correct device name that is to be shown from the corresponding device in the device catalog. In order to use this new functionality, the vertices must have the DeviceID set as an vertex property, and this property must be set to a corresponding device in the Device Catalog. Vertices that are any type other than Device, will optionally use the CustomName property, if set.

This custom text, either the determined device name or the custom name, will be shown in Topology Dashboards, the Adhoc Graph Dashboard, the Vertices UI, and the Edges UI. In the Topology Dashboards and the Adhoc Graph Dashboard, the custom text will also be shown on the nodes that are displayed.

When adding or editing an vertex, the form fields are as follows:

  • Name - The name of the vertex, which must be unique within the Graph database.

  • Type - The type of the vertex, from Vertex Types interface.

  • Vertex Properties - This section contains any additional properties that may be needed for the vertex.

  • Viewers - The additional User Groups that will be able to see this vertex.

Vertex Types

The Vertex Types interface (Configuration -> Graph -> Vertex Types) is used for adding, editing, and removing Vertex Types within the Graph database. These custom types are used to define Vertices within the database and how they are represented. Deleting a Vertex Type will cause vertices, edges, and properties to cascade delete.

The form for adding or editing an vertex type has the following fields:

  • Name: The name of the vertex type.

  • Icon: The icon file for the vertex type.

Property Types

The Property Types interface (Configuration -> Graph -> Property Types) is used for adding, editing, and removing the Property Types within the database. These types are used to define the specific vertex and edge properties within the database and how they are represented.

When adding or editing a property type, the form has the following fields:

  • Name - The name of the property type.

  • Data Type - The UI type used to render data, so a specific property can be specified as a string, number or combo type.

Note

Property Types are for Render Types only. These only need to be added if custom property types are needed that match to existing renderers. If not created, the properties default to a text field renderer. They are used to format the property grid for Vertices and Edges.

Edges

The Edges interface (Configuration -> Graph -> Edges) is used for adding, editing, and removing Graph Edges and edge special properties. Graph Edges specify how two Graph Vertices are related to each other within the database. Properties of the Graph edges are custom name/value pairs used for metadata. Certain Assure1 components leverage this meta data for display and/or correlation purposes.

Two columns have been added to the grid to show the start and end vertex's Custom Name. Additional information is available in the Vertices section of this guide.

The form for adding or editing an edge has the following fields:

  • Start Vertex - Beginning vertex of the edge. Must be in Graph Vertices.

  • End Vertex - End vertex of the edge. Must be in Graph Vertices.

    • The Start Vertex and End Vertex are the Relationship pair.
  • Edge Type - The type of the edge, from Graph Edge Types.

  • Edge Properties - This section contains any additional properties that may be needed for the edge.

Edge Types

The Edge Types interface (Configuration -> Graph -> Edge Types) is used for adding, editing and removing the Edge Types that are used between vertices in the database. These custom types are used to define edges within the database and how they are represented indicating their name and display characteristics. These edge types also define the types of relationships like: physical, virtual, business, concept, custom, etc. Deleting an Edge Type will cascade delete any existing edges, along with the edge properties.

When adding/editing a edge type, the form fields are as follows:

  • Name - The name of the edge type.

  • Line Style - Type of line to use.

  • Dash Pattern - Details of how the dash line is to be displayed. (This field will only be visible if Line Style is set to Dashed.)

  • Direction - Flag indicating navigational flow between linked vertices. Directed indicates the relationship is only parent to child. Non-Directed indicates the relationship is bidirectional between vertices.

Topology

Agents & Stitchers Overview

Topology Agents are used to collect data from devices and systems. This collected data is stored in the Topology tables or in the Assure1 SVN. Default rules provided with each Topology Agent collect the following types of information:

  • Static or Dynamic Network Inventory

    • Network interface information

    • IP Routes

    • CDP Tables

    • ARP Tables

    • MAC Addresses

    • VLAN Tables

  • System inventory information

  • Device configuration files

Other types of information can be collected using the Topology Discovery Agents and Topology Configuration Agents through the modification of rules files used by each application. Collected information is stored and then can be utilized by Stitchers to create relationships in the database or by other Assure1 applications, such as correlations.

The Topology Gather Network Inventory application is used to gather information about the network and devices in the device catalog using SNMP, and enter it into the Assure1 inventory tables. There are two types of information that can be discovered:

  • Static - These types are meant for after-hours discovery, as the information doesn't change throughout the day

    • CDP neighbors

    • Interfaces

    • IP addresses

    • LLDP neighbors

    • Ports

    • Routes

    • Trunks

  • Dynamic - These types are meant for business-hours discovery, as the information relates to active traffic and short-lived caches

    • ARP entries

    • Bridge ports

    • Cisco VLANs

    • MAC addresses

The application is run via a scheduled job (Configuration -> Broker Control -> Jobs):

  • Topology Gather Network Inventory (Flush and gathers both static and dynamic information).

The Graph Database is populated either by stitchers or manually through the UI. These stitchers use previously gathered information from inventory tables and/or configuration files stored in SVN. Topology Stitchers are used to parse collected data into vertices and edges, depicting how devices and/or services are connected. The relationship data is stored in the Graph database. These relationships are leveraged in the layout view of the Topology Manager and for correlation logic. The Stitchers can be run via Scheduled Jobs (Configuration -> Broker Control -> Jobs). These Scheduled Jobs are as follows:

  • Topology Database Stitcher

  • Topology NMAP Stitcher

  • Topology Perspective Stitcher

  • Topology Subversion Stitcher

Topology Configuration Agents

Topology Configuration Agents are used to prepare Assure1 to collect data from devices and systems. This collected data is stored in the Topology tables or in the Assure1 SVN. The Config Discovery scheduled job (Configuration -> Broker Control -> Jobs) uses pre-configured policies to identify devices where configuration files should be collected. This application performs the same function as manual configuration of device collections in the Collections interface (Configuration -> Device Configuration -> Collections).

The Config Gatherer scheduled job is used gather configuration information from devices and saves the output as files. These configuration information files are then tracked in the Assure1 SVN repository. Differences between polls can be viewed in the interface. Simple configuration gathering can be done via SSH or Telnet.

Topology Example

In this example, the Topology Gather Network Inventory is run on the existing devices in Assure1 to gather the full network inventory and parse the data into vertices and edges, and topology data is viewed for a device using the Adhoc Graph Dashboard.

  1. Navigate to Configuration -> Broker Control -> Jobs.

  2. Click to select the Topology Gather Network Inventory scheduled job, and click Start to run the scheduled job and gather your network inventory.

    • This may take a while, depending on the number of devices in your Device Catalog.
  3. Once the gather inventory job has been completed, navigate to the Dashboards navigation, expand the Adhoc folder and click to open the Adhoc Graph Dashboard.

    • This dashboard is used to view Topology information relating to custom search criteria such as devices and other vertices.

    • Dashboards will be covered in more detail in a subsequent section.

  4. Under Graph, select/enter the following:

    • Select the Device you wish to view Topology information for from the Start drop-down list.

    • For the End, select Hops and enter 3.

  5. Under View, select/enter the following:

    • View Type: ConnectsLayer2 and ConnectsLayer3

    • Node Type:

      • Active (shows availability, metric threshold violations, and events related to vertices if found)

      • Basic (shows only relationships)

  6. Click View to view the relevant Topology data.

    • The particular device you selected will be shown in the view along with other vertices that match the selection. Lines representing the edges will be drawn between the vertices.

    • The solid line in the view denotes a layer 2 connection.

    • The dashed line in the view denotes a layer 3 connection.

  7. The Topology data for a specific device can also be viewed through the Network Details dashboard by clicking on the Network icon to the right of a device name within the Devices navigation.