Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Describe the Colour appearance :- green, yellow, red, black

Enhancing Network Visualization with Metric Links in opCharts

The Metric Links feature on opCharts provides highly enhanced visualization capabilities in topological, geographical, or network maps. It enables you to establish a custom metric defining link weight and colour. A common use-case for this could be defining the Signal-to-Noise Ratio (SNR) for a radio link between two distinct towers; see an illustration below.

Image Added

Metric Links function similarly to Interface Links, with the exception that Metric Links allow the usage of any resource with a threshold to calculate the metric, instead of only the interface data.

Metric Links utilize the NMIS status system to derive their values, providing flexibility in defining what constitutes a good link (as opposed to a bad link). For detailed guidance on how to set this up, refer to the guide on Creating Thresholds with NMIS Modelling.

Metric Links are compatible with all map types.

Info

The Metric Links feature is compatible with opCharts 4.5.9 and above.

To add a Metric Link - 

  1. From the opCharts menu bar, choose Views > Maps
  2. Click the Add Image Added icon on the top left corner to open the New Map page. 
  3. Click the Add Metric Link button under Components in the left pane.
    Image Added
  4. On the Add Metric Link window that opens, select the required Link Source and the Node.
    Image Added
  5. You can see the Resources (inventory) appear for the Node selected. Choose the one you require from the drop-down list.
  6. Select the Index for the chosen Resource
  7. If a threshold exists for the Node, Resource, and the Index chosen, you can see the same in the Status field.
  8. Select a Link Destination and specify a Link Name
  9. Click Add Metric Link to complete the Link creation. 

The link between the two nodes will now utilize the status document's level to display the overall status, colouring the link accordingly. The link's line weight will be calculated based on the value.

Level RangeWeight
          Level < 52
 5 <= Level < 103
10 <= Level < 204
20 <= Level < 405
40 <= Level < 606
60 <= Level < 808
80 <= Level10
StatusColour CodeAppearance
"reachable", "normal", "up"#5cb85cgreen
"degraded", "error", "minor", "warning"#FFD700yellow
"unreachable", "major", "critical", "fatal", "down"#d9534fred
Others / Null#999black

The Metric Links feature also enables you to configure custom resource panels - complete with tables and charts.

To set up these panels, you need to create a file opCharts_panels-all.json at conf/table_schemas/ ; see an illustration below.

Tip

You can use the file omk/lib/json/opCharts/table_schemas/opCharts_panels-all.json as a template.

The JSON file is an array of objects with each object containing three top-level keys:

KeyDescription
idThe resource name or inventory name.
tableAn array of objects constituting the cells of the table. For more information on customizing the table schema, please refer to the documentation.
chartsAn array of objects that generate radial charts at the bottom of the panel.


Code Block
languagejs
title conf/table_schemas/opCharts_panels-all.json
[
    {
        "id": "ospfNbr",
        "table": [
            {
                "label": "Node",
                "name": "nodes.name",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            },
            {
                "label": "ospfNbrIpAddr",
                "name": "inventory.data.ospfNbrIpAddr",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            },
            {
                "label": "ospfNbrRtrId",
                "name": "inventory.data.ospfNbrRtrId",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            },
            {
                "label": "ospfNbrState",
                "name": "inventory.data.ospfNbrState",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            }
        ],
        "charts": [
            {
                "name": "inventory.data.ospfNbrEvents",
                "max": 100,
                "label": "ospfNbrEvents",
                "levels": [
                    "red",     75,
                    "orange",  50,
                    "yellow",  25,
                    "green",    0
                ]
            }
        ]
    },
    {
        "id": "pkts_hc",
        "table": [
            {
                "label": "Node",
                "name": "nodes.name",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            },
            {
                "label": "Hardware",
                "name": "inventory.data.Hardware",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            },
            {
                "label": "IP",
                "name": "inventory.data.ipAdEntAddr1",
                "cell": "Tooltip",
                "formatter": "ShortenedString",
                "editable": "false",
                "maxLength": 22
            }
        ],
        "charts": [
            {
                "name": "latest_data.subconcepts.pkts_hc.derived_data.ifOutUcastPkts",
                "max": 100,
                "label": "outUcastPkts",
                "levels": [
                    "red",     75,
                    "orange",  50,
                    "yellow",  25,
                    "green",    0
                ]
            },
            {
                "name": "latest_data.subconcepts.pkts_hc.derived_data.ifInUcastPkts",
                "max": 100,
                "label": "inUcastPkts",
                "levels": [
                    "red",     75,
                    "orange",  50,
                    "yellow",  25,
                    "green",    0
                ]
            }
        ]
    }
]


Issue: Error - No schema found 

Image Added

Resolution: This may occur if a Resource does not have an existing table schema. These will be auto-generated in future updates

Info

Requires opCharts-4.5.8 or greater

opCharts metrics links is a new feature which allows the link between two nodes in a top, geo or network map to define a custom metric to set the link weight and colour, for example you could use this link to define the SNR of a radio between two separate towers.

It uses the NMIS status system to derivie the value as this allows you to configure the ratio of what is considered a bad vs good link. Please see Creating Thresholds with NMIS Modelling to see how this is setup.