Skip to end of banner
Go to start of banner

Enhancing Network Visualization with Metric Links in opCharts

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Requires opCharts-4.5.8 or greater

opCharts introduces a powerful new feature known as Metric Links. This feature enhances the visualization capabilities in topological, geographical, or network maps. It enables the establishment of a custom metric defining link weight and color. A common use-case for this might be defining the Signal-to-Noise Ratio (SNR) for a radio link between two distinct towers.

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

Metric Links are compatible with all map types.

Example:

You can find the Add Metric Link button next to the Add Interface Link button.


   




Adding a Metric Link:

  1. Locate the Metric Link button situated next to the Add Interface Link button.

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

  3. Choose the desired node. The resources (inventory) for the selected node will appear.

  4. Choose the Resource you require. Next, choose the index for the resource.

  5. If a threshold exists for the node, resource, and index, the status field will be auto-populated.

  6. Lastly, select the link destination and save your changes.

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 weight will be calculated based on the value.


Line Weight

Level RangeWeight
Level < 52
5 <= Level < 103
10 <= Level < 204
20 <= Level < 405
40 <= Level < 606
60 <= Level < 808
80 <= Level10


Line Colour

StatusColor Code
"reachable", "normal", "up"#5cb85c
"degraded", "error", "minor", "warning"#FFD700
"unreachable", "major", "critical", "fatal", "down"#d9534f
Others / Null#999

Metric Link Resource Views

Another powerful aspect of the Metric Links feature in opCharts is the ability to configure custom resource panels, complete with tables and charts.

To set up these panels, you need to create a file located at conf/table_schemas/opCharts_panels-all.json. You can use the template file provided in omk/lib/json/opCharts/table_schemas/opCharts_panels-all.json as a starting point.

The JSON file is an array of objects. Each object includes three top-level keys:



id The 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.
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
                ]
            }
        ]
    }
]


In some cases, a resource might not have an existing table schema. These will be auto-generated in future updates.

  • No labels