diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9d5318128bf81..63adeb355cf69 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -120,6 +120,7 @@ manifest.json @DataDog/documentation @DataDog/agent-integrations /snmp_*/*.md @DataDog/ndm-core @DataDog/agent-integrations @DataDog/documentation /network_path/ @DataDog/network-device-monitoring @DataDog/Networks @DataDog/agent-integrations /network_path/*.md @DataDog/network-device-monitoring @DataDog/Networks @DataDog/agent-integrations @DataDog/documentation +/versa/ @DataDog/ndm-integrations @DataDog/agent-integrations @DataDog/documentation /datadog_checks_dev/datadog_checks/dev/tooling/commands/meta/snmp/ @DataDog/ndm-core @DataDog/agent-integrations /docs/developer/tutorials/snmp/ @DataDog/ndm-core @DataDog/agent-integrations diff --git a/.github/workflows/config/labeler.yml b/.github/workflows/config/labeler.yml index 50999edddba6d..4823b42d22d74 100644 --- a/.github/workflows/config/labeler.yml +++ b/.github/workflows/config/labeler.yml @@ -707,6 +707,8 @@ integration/vault: - vault/**/* integration/velero: - velero/**/* +integration/versa: +- versa/**/* integration/vertica: - vertica/**/* integration/vllm: diff --git a/.github/workflows/test-target.yml b/.github/workflows/test-target.yml index a445822594150..ab1a4b0118119 100644 --- a/.github/workflows/test-target.yml +++ b/.github/workflows/test-target.yml @@ -306,10 +306,10 @@ jobs: # by default set +e # Disable immediate exit if [ '${{ inputs.pytest-args }}' = '-m flaky' ] || [ '${{ inputs.pytest-args }}' = '-m "not flaky"' ]; then - ddev env test --new-env --junit ${{ inputs.target }} ${{ inputs.target-env || 'all' }} -- ${{ inputs.pytest-args }} -k "not fips" + ddev env test --dev --junit ${{ inputs.target }} ${{ inputs.target-env || 'all' }} -- ${{ inputs.pytest-args }} -k "not fips" exit_code=$? else - ddev env test --new-env --junit ${{ inputs.target }} ${{ inputs.target-env || 'all' }} ${{ inputs.pytest-args != '' && format('-- {0} -k "not fips"', inputs.pytest-args) || '-- -k "not fips"' }} + ddev env test --dev --junit ${{ inputs.target }} ${{ inputs.target-env || 'all' }} ${{ inputs.pytest-args != '' && format('-- {0} -k "not fips"', inputs.pytest-args) || '-- -k "not fips"' }} exit_code=$? fi diff --git a/datadog_checks_base/CHANGELOG.md b/datadog_checks_base/CHANGELOG.md index 69dc377e67deb..87a5c925c1afc 100644 --- a/datadog_checks_base/CHANGELOG.md +++ b/datadog_checks_base/CHANGELOG.md @@ -2,6 +2,14 @@ +## 37.18.1 / 2025-09-03 + +***Fixed***: + +* Regularly check for cancel event between DBMAsyncJob check intervals ([#21150](https://github.com/DataDog/integrations-core/pull/21150)) + +*Note: This release is bundled with Agent version `7.70.1` and does not include changes from the `37.18.0` release.* + ## 37.18.0 / 2025-08-29 ***Added***: diff --git a/datadog_checks_base/datadog_checks/base/__about__.py b/datadog_checks_base/datadog_checks/base/__about__.py index 166fa2fe06bdd..6564d57ab061c 100644 --- a/datadog_checks_base/datadog_checks/base/__about__.py +++ b/datadog_checks_base/datadog_checks/base/__about__.py @@ -1,4 +1,4 @@ # (C) Datadog, Inc. 2018-present # All rights reserved # Licensed under a 3-clause BSD style license (see LICENSE) -__version__ = "37.18.0" +__version__ = "37.18.1" diff --git a/docker_daemon/assets/service_checks.json b/docker_daemon/assets/service_checks.json index f165e9f1fee5a..c454a3cb5c943 100644 --- a/docker_daemon/assets/service_checks.json +++ b/docker_daemon/assets/service_checks.json @@ -15,7 +15,7 @@ "statuses": ["ok", "critical", "unknown"], "groups": ["host"], "name": "Container Health", - "description": "Returns `CRITICAL` if a container is unhealthy. Returns `OK` otherwise or `UNKNOWN` if the health is unknown." + "description": "Returns `CRITICAL` if a container is unhealthy. Returns `OK` otherwise or `UNKNOWN` if the health is unknown. **Note**: Only available for Agent v6 and below." }, { "agent_version": "5.1.0", diff --git a/postgres/changelog.d/21238.changed b/postgres/changelog.d/21238.changed new file mode 100644 index 0000000000000..199506dc0f394 --- /dev/null +++ b/postgres/changelog.d/21238.changed @@ -0,0 +1 @@ +Bump minimum datadog_checks_base to 37.18.0 \ No newline at end of file diff --git a/postgres/pyproject.toml b/postgres/pyproject.toml index 026334b3bf7fc..04ca2af353645 100644 --- a/postgres/pyproject.toml +++ b/postgres/pyproject.toml @@ -28,7 +28,7 @@ classifiers = [ "Private :: Do Not Upload", ] dependencies = [ - "datadog-checks-base>=37.17.1", + "datadog-checks-base>=37.18.0", ] dynamic = [ "version", diff --git a/requirements-agent-release.txt b/requirements-agent-release.txt index ccea80f659384..82ebb4943e2b2 100644 --- a/requirements-agent-release.txt +++ b/requirements-agent-release.txt @@ -29,7 +29,7 @@ datadog-celery==2.0.1 datadog-ceph==4.1.0; sys_platform != 'win32' datadog-cert-manager==6.0.1 datadog-checkpoint-quantum-firewall==1.0.0 -datadog-checks-base==37.18.0 +datadog-checks-base==37.18.1 datadog-checks-dependency-provider==3.0.0 datadog-checks-downloader==8.0.0 datadog-cilium==6.0.1 diff --git a/sanity/manifest.json b/sanity/manifest.json index fce239127a2ab..303b5afe3bb64 100644 --- a/sanity/manifest.json +++ b/sanity/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "2.0.0", "app_uuid": "93cb9b8c-8258-45d7-895b-7129e5274b40", "app_id": "sanity", - "display_on_public_website": false, + "display_on_public_website": true, "tile": { "overview": "README.md#Overview", "configuration": "README.md#Setup", @@ -66,4 +66,4 @@ "homepage": "https://www.datadoghq.com", "sales_email": "info@datadoghq.com" } -} \ No newline at end of file +} diff --git a/symantec_vip/CHANGELOG.md b/symantec_vip/CHANGELOG.md index f241f66fa171b..4e9639193ac09 100644 --- a/symantec_vip/CHANGELOG.md +++ b/symantec_vip/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG - symantec-vip -## 1.0.0 / 2025-01-16 +## 1.0.0 / 2025-09-03 ***Added***: diff --git a/symantec_vip/manifest.json b/symantec_vip/manifest.json index aeb2e29c3da0e..2369eafba7d9a 100644 --- a/symantec_vip/manifest.json +++ b/symantec_vip/manifest.json @@ -2,7 +2,7 @@ "manifest_version": "2.0.0", "app_uuid": "291079db-0a41-435b-a908-747c06c703a2", "app_id": "symantec-vip", - "display_on_public_website": false, + "display_on_public_website": true, "tile": { "overview": "README.md#Overview", "configuration": "README.md#Setup", diff --git a/versa/CHANGELOG.md b/versa/CHANGELOG.md new file mode 100644 index 0000000000000..7795baa900fcb --- /dev/null +++ b/versa/CHANGELOG.md @@ -0,0 +1,8 @@ +# CHANGELOG - Versa + + +## 1.0.0 + +***Added***: + +* Initial release. \ No newline at end of file diff --git a/versa/README.md b/versa/README.md new file mode 100644 index 0000000000000..892d2d678c159 --- /dev/null +++ b/versa/README.md @@ -0,0 +1,57 @@ +# Agent Check: Versa + +## Overview + +The Versa integration lets you monitor your Versa environment within [Network Device Monitoring][1]. Gain comprehensive insights into the performance and health of your SD-WAN infrastructure, including sites, tunnels, and devices. + +## Setup + +**The Versa NDM integration is in Preview and will not be billed until it is Generally Available.** + +Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the [Autodiscovery Integration Templates][3] for guidance on applying these instructions. + +### Installation + +The Versa check is included in the [Datadog Agent][2] package. +No additional installation is needed on your server. + +### Configuration + +1. Edit the `versa.d/conf.yaml` file, in the `conf.d/` folder at the root of your Agent's configuration directory to start collecting your versa performance data. See the [sample versa.d/conf.yaml][4] for all available configuration options. + +2. [Restart the Agent][5]. + +### Validation + +[Run the Agent's status subcommand][6] and look for `versa` under the Checks section. + +## Data Collected + +### Metrics + +See [metadata.csv][7] for a list of metrics provided by this integration. + +### Events + +The Versa integration does not include any events. + +### Service Checks + +The Versa integration does not include any service checks. + +See [service_checks.json][8] for a list of service checks provided by this integration. + +## Troubleshooting + +Need help? Contact [Datadog support][9]. + + +[1]: /devices +[2]: /account/settings/agent/latest +[3]: https://docs.datadoghq.com/containers/kubernetes/integrations/ +[4]: https://github.com/DataDog/datadog-agent/blob/main/cmd/agent/dist/conf.d/versa.d/conf.yaml.example +[5]: https://docs.datadoghq.com/agent/configuration/agent-commands/#start-stop-and-restart-the-agent +[6]: https://docs.datadoghq.com/agent/configuration/agent-commands/#agent-status-and-information +[7]: https://github.com/DataDog/integrations-core/blob/master/versa/metadata.csv +[8]: https://github.com/DataDog/integrations-core/blob/master/versa/assets/service_checks.json +[9]: https://docs.datadoghq.com/help/ diff --git a/versa/assets/dashboards/versa.json b/versa/assets/dashboards/versa.json new file mode 100644 index 0000000000000..44eb4810be03a --- /dev/null +++ b/versa/assets/dashboards/versa.json @@ -0,0 +1,2583 @@ +{ + "title": "Versa Dashboard Draft (Preview 8/20)", + "description": "[[suggested_dashboards]] (cloned)", + "widgets": [ + { + "id": 1937983187702050, + "definition": { + "title": "Overview", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 2149395572154170, + "definition": { + "type": "note", + "content": "**Versa SD-WAN Overview & Dashboard**\n\nThis dashboard provides a comprehensive overview of your SD-WAN environment, allowing you to effortlessly monitor the status of your sites, tunnels, and devices. Stay informed about network performance, traffic patterns, and potential issues, to ensure optimal network efficiency and reliability.\n\n**Further reading on NDM**\n\n- Our blog post on [Monitoring Datacenters and network devices with Datadog](https://www.datadoghq.com/blog/datacenter-monitoring-dashboards/)\n- Network Device Monitoring [docs](https://docs.datadoghq.com/network_performance_monitoring/devices) ", + "background_color": "white", + "font_size": "14", + "text_align": "left", + "vertical_align": "top", + "show_tick": false, + "tick_pos": "50%", + "tick_edge": "left", + "has_padding": true + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 3 + } + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 4 + } + }, + { + "id": 8249325739946598, + "definition": { + "title": "Sites", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 1943687279834620, + "definition": { + "title": "Top 10 Sites by Total Bandwidth", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.site.bandwidth_tx{$device_namespace,$device_hostname} by {site}" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.site.bandwidth_rx{$device_namespace,$device_hostname} by {site}" + } + ], + "formulas": [ + { + "alias": "Total Bandwidth", + "formula": "top(query1 + query2, 10, 'mean', 'desc')" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 2 + } + }, + { + "id": 7974813190361672, + "definition": { + "title": "Site table (Volume, Bandwidth, Availability)", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query2", + "query": "sum:versa.site.volume_rx{$device_namespace,$device_hostname} by {device_hostname,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "sum:versa.site.volume_tx{$device_namespace,$device_hostname} by {device_hostname,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query4", + "query": "sum:versa.site.bandwidth_rx{$device_namespace,$device_hostname} by {device_hostname,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query5", + "query": "sum:versa.site.bandwidth_tx{$device_namespace,$device_hostname} by {device_hostname,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query6", + "query": "sum:versa.site.availability{$device_namespace,$device_hostname} by {device_hostname,device_id}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "text_formats": [ + [], + [ + { + "match": { + "type": "is", + "value": "up" + }, + "palette": "white_on_green" + }, + { + "match": { + "type": "is", + "value": "down" + }, + "palette": "white_on_red" + } + ] + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 4, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "Volume RX", + "formula": "query2" + }, + { + "cell_display_mode": "bar", + "alias": "Volume TX", + "formula": "query3" + }, + { + "cell_display_mode": "bar", + "alias": "Bandwidth RX", + "formula": "query4" + }, + { + "cell_display_mode": "bar", + "alias": "Bandwidth TX", + "formula": "query5" + }, + { + "cell_display_mode": "number", + "alias": "Availability %", + "conditional_formats": [ + { + "comparator": ">", + "value": 90, + "palette": "white_on_green" + }, + { + "comparator": ">", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": "<=", + "value": 50, + "palette": "white_on_red" + } + ], + "formula": "query6" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 2, + "width": 12, + "height": 3 + } + } + ] + }, + "layout": { + "x": 0, + "y": 4, + "width": 12, + "height": 6 + } + }, + { + "id": 1857807865466825, + "definition": { + "title": "Headends", + "background_color": "blue", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 489513951732572, + "definition": { + "title": "Directors Up", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.reachable{type:director,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "green_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 0, + "y": 0, + "width": 3, + "height": 2 + } + }, + { + "id": 2254207651240089, + "definition": { + "title": "Directors Down", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.unreachable{type:director,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "red_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 3, + "y": 0, + "width": 3, + "height": 2 + } + }, + { + "id": 931891232447134, + "definition": { + "title": "Controllers Up", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.reachable{type:controller,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "green_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 6, + "y": 0, + "width": 3, + "height": 2 + } + }, + { + "id": 1539462784563171, + "definition": { + "title": "Controllers Down", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.unreachable{type:controller,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "red_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 9, + "y": 0, + "width": 3, + "height": 2 + } + }, + { + "id": 4857178228554875, + "definition": { + "title": "CPU Load", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.cpu.usage{(type:director OR type:controller) AND $device_namespace AND $device_hostname} by {device_id,type}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 2, + "width": 6, + "height": 2 + } + }, + { + "id": 6924959805282918, + "definition": { + "title": "Disk usage", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.disk.usage{(type:director OR type:controller) AND $device_namespace AND $device_hostname} by {device_id,type,partition}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 2, + "width": 6, + "height": 2 + } + }, + { + "id": 1847570889962885, + "definition": { + "title": "Memory", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.memory.usage{(type:director OR type:controller) AND $device_namespace AND $device_hostname} by {device_id,type}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 4, + "width": 6, + "height": 2 + } + }, + { + "id": 8498531253254278, + "definition": { + "title": "Sys Uptime", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.device.uptime{(type:director OR type:controller) AND $device_namespace AND $device_hostname} by {type,device_id}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 4, + "width": 6, + "height": 2 + } + } + ] + }, + "layout": { + "x": 0, + "y": 10, + "width": 12, + "height": 7, + "is_column_break": true + } + }, + { + "id": 2021669523016294, + "definition": { + "title": "Appliances", + "background_color": "purple", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 1089115146257922, + "definition": { + "title": "Devices Up", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.reachable{!type:director,!type:controller,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "green_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 0, + "y": 0, + "width": 2, + "height": 2 + } + }, + { + "id": 293628861115551, + "definition": { + "title": "Devices Down", + "title_size": "16", + "title_align": "left", + "type": "query_value", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "sum:versa.device.unreachable{!type:director,!type:controller,$device_namespace,$device_hostname}", + "aggregator": "last" + } + ], + "response_format": "scalar", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "red_on_white" + } + ] + } + ], + "autoscale": true, + "precision": 2, + "timeseries_background": { + "yaxis": {}, + "type": "bars" + } + }, + "layout": { + "x": 2, + "y": 0, + "width": 2, + "height": 2 + } + }, + { + "id": 7574618021374432, + "definition": { + "title": "CPU", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.cpu.usage{$device_namespace,$device_hostname ,!type:director,!type:controller} by {device_id}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 4, + "y": 0, + "width": 3, + "height": 2 + } + }, + { + "id": 6334152719067053, + "definition": { + "title": "Appliances", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.device.reachable{!type:director,$device_namespace,$device_hostname , !type:controller} by {device_hostname,device_id,type}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "status", + "conditional_formats": [ + { + "comparator": ">", + "value": 0, + "palette": "white_on_green" + }, + { + "comparator": "<=", + "value": 0, + "palette": "white_on_red" + } + ], + "formula": "query1" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 7, + "y": 0, + "width": 5, + "height": 5 + } + }, + { + "id": 1049553099213704, + "definition": { + "title": "Memory", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.memory.usage{$device_namespace,$device_hostname ,!type:director ,!type:controller} by {device_id}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 2, + "width": 4, + "height": 3 + } + }, + { + "id": 2199093683475578, + "definition": { + "title": "Disk", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.disk.usage{$device_namespace,$device_hostname,!type:director,!type:controller} by {device_id}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 4, + "y": 2, + "width": 3, + "height": 3 + } + } + ] + }, + "layout": { + "x": 0, + "y": 17, + "width": 12, + "height": 6 + } + }, + { + "id": 2867797573402597, + "definition": { + "title": "Interfaces", + "background_color": "blue", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 8495732616336603, + "definition": { + "title": "Inbound Throughput (bps)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.interface.bandwidth{$device_namespace,$device_hostname} by {device_id,site,interface}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 3761648095963762, + "definition": { + "title": "Outbound Throughput (bps)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.interface.bandwidth_rx{$device_namespace,$device_hostname} by {device_id,site,interface}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 3, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 5205000034452573, + "definition": { + "title": "Inbound Utilization (%)", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.interface.rx_util{$device_namespace,$device_hostname} by {device_id,site,interface}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 5403848799954680, + "definition": { + "title": "Outbound Utilization (%)", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.interface.tx_util{$device_namespace,$device_hostname} by {device_id,site,interface}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 9, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 394385377410930, + "definition": { + "title": "Interfaces (Throughput (bps), Utilization (%))", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.interface.bandwidth_rx{$device_namespace,$device_hostname} by {device_hostname,interface,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.interface.bandwidth_tx{$device_namespace,$device_hostname} by {device_hostname,interface,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "avg:versa.interface.rx_util{$device_namespace,$device_hostname} by {device_hostname,interface,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query4", + "query": "avg:versa.interface.tx_util{$device_namespace,$device_hostname} by {device_hostname,interface,device_id}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "text_formats": [ + [], + [], + [ + { + "match": { + "type": "is", + "value": "up" + }, + "palette": "white_on_green" + }, + { + "match": { + "type": "is", + "value": "down" + }, + "palette": "white_on_red" + }, + { + "match": { + "type": "is", + "value": "off" + }, + "palette": "black_on_light_red" + } + ] + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 5, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "Inbound Throughput", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "alias": "Outbound Throughput", + "formula": "query2" + }, + { + "cell_display_mode": "number", + "alias": "Inbound Utilization", + "formula": "query3", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">=", + "value": 90, + "palette": "white_on_red" + } + ] + }, + { + "cell_display_mode": "number", + "alias": "Outbound Utilization", + "formula": "query4", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">=", + "value": 90, + "palette": "white_on_red" + } + ] + }, + { + "alias": "Total Throughput", + "cell_display_mode": "bar", + "formula": "query1 + query2" + }, + { + "alias": "Total Utilization", + "formula": "query3 + query4", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">", + "value": 90, + "palette": "white_on_red" + } + ] + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 3, + "width": 12, + "height": 3 + } + } + ] + }, + "layout": { + "x": 0, + "y": 23, + "width": 12, + "height": 7 + } + }, + { + "id": 6111342913598089, + "definition": { + "title": "Links", + "background_color": "blue", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 2207008988947940, + "definition": { + "title": "Inbound Throughput (bps)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.link.volume_rx{$device_namespace,$device_hostname} by {device_id,site,access_circuit}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 155389330474434, + "definition": { + "title": "Outbound Throughput (bps)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.link.bandwidth_tx{$device_namespace,$device_hostname} by {device_id,site,access_circuit}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 3, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 5149422755420640, + "definition": { + "title": "Inbound Utilization (%)", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.link.rx_util{$device_namespace,$device_hostname} by {device_id,site,access_circuit}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 6086460678815693, + "definition": { + "title": "Outbound Utilization (%)", + "title_size": "16", + "title_align": "left", + "show_legend": false, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "formulas": [ + { + "formula": "query1" + } + ], + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.link.tx_util{$device_namespace,$device_hostname} by {device_id,site,access_circuit}" + } + ], + "response_format": "timeseries", + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 9, + "y": 0, + "width": 3, + "height": 3 + } + }, + { + "id": 5418035373856068, + "definition": { + "title": "Interfaces (Throughput (bps), Utilization (%))", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.link.bandwidth_rx{$device_namespace,$device_hostname} by {device_hostname,device_id,site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.link.bandwidth_tx{$device_namespace,$device_hostname} by {device_hostname,device_id,site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "avg:versa.link.rx_util{$device_namespace,$device_hostname} by {device_hostname,device_id,site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query4", + "query": "avg:versa.link.tx_util{$device_namespace,$device_hostname} by {device_hostname,device_id,site,access_circuit}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "text_formats": [ + [], + [], + [ + { + "match": { + "type": "is", + "value": "up" + }, + "palette": "white_on_green" + }, + { + "match": { + "type": "is", + "value": "down" + }, + "palette": "white_on_red" + }, + { + "match": { + "type": "is", + "value": "off" + }, + "palette": "black_on_light_red" + } + ] + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 5, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "Inbound Throughput", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "alias": "Outbound Throughput", + "formula": "query2" + }, + { + "cell_display_mode": "number", + "alias": "Inbound Utilization", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">=", + "value": 90, + "palette": "white_on_red" + } + ], + "formula": "query3" + }, + { + "cell_display_mode": "number", + "alias": "Outbound Utilization", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">=", + "value": 90, + "palette": "white_on_red" + } + ], + "formula": "query4" + }, + { + "alias": "Total Throughput", + "cell_display_mode": "bar", + "formula": "query1 + query2" + }, + { + "alias": "Total Utilization", + "conditional_formats": [ + { + "comparator": "<=", + "value": 50, + "palette": "white_on_green" + }, + { + "comparator": ">=", + "value": 50, + "palette": "white_on_yellow" + }, + { + "comparator": ">", + "value": 90, + "palette": "white_on_red" + } + ], + "formula": "query3 + query4" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 3, + "width": 12, + "height": 3 + } + } + ] + }, + "layout": { + "x": 0, + "y": 30, + "width": 12, + "height": 7 + } + }, + { + "id": 3808492318589673, + "definition": { + "title": "Path SLA Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 3594132705417076, + "definition": { + "title": "SLA Metrics by Local + Remote Site (delay, fwd/rev delay var, fwd/rev loss ratio, pdu loss ratio)", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.sla.delay{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.sla.fwd_delay_var{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "avg:versa.sla.rev_delay_var{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query4", + "query": "avg:versa.sla.fwd_loss_ratio{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query5", + "query": "avg:versa.sla.rev_loss_ratio{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query6", + "query": "avg:versa.sla.pdu_loss_ratio{$device_namespace,$device_hostname} by {local_site,remote_site,local_access_circuit,remote_access_circuit,device_id}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "text_formats": [ + [], + [], + [], + [ + { + "match": { + "type": "is", + "value": "up" + }, + "palette": "white_on_green" + } + ] + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "delay", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "alias": "fwd_delay_var", + "formula": "query2" + }, + { + "cell_display_mode": "bar", + "alias": "rev_delay_var", + "formula": "query3" + }, + { + "cell_display_mode": "bar", + "alias": "fwd_loss_ratio", + "formula": "query4" + }, + { + "cell_display_mode": "bar", + "alias": "rev_loss_ratio", + "formula": "query5" + }, + { + "cell_display_mode": "bar", + "alias": "pdu_loss_ratio", + "formula": "query6" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 0, + "width": 12, + "height": 4 + } + }, + { + "id": 6999385581675706, + "definition": { + "title": "Top SLA Measurement by delay", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.sla.delay{$device_namespace,$device_hostname} by {device_id,local_site,remote_site,local_access_circuit,remote_access_circuit,device_hostname}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 0, + "y": 4, + "width": 12, + "height": 4 + } + } + ] + }, + "layout": { + "x": 0, + "y": 37, + "width": 12, + "height": 9 + } + }, + { + "id": 5166932986834590, + "definition": { + "title": "QoS Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 3831460218987376, + "definition": { + "title": "Path QoS (local site, remote site, volume TX, TX drops, percentage drop)", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.path_qos.volume_tx{$site,$device_namespace,$device_hostname} by {local_site,remote_site,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.path_qos.total_drop{$site,$device_namespace,$device_hostname} by {local_site,remote_site,device_id}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "avg:versa.path_qos.percent_drop{$site,$device_namespace,$device_hostname} by {local_site,remote_site,device_id}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "formula": "query2" + }, + { + "cell_display_mode": "bar", + "formula": "query3" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 0, + "width": 6, + "height": 4 + } + }, + { + "id": 3665258115609752, + "definition": { + "title": "Traffic Volume", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.path_qos.volume_tx{$device_namespace,$device_hostname, $site}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 0, + "width": 6, + "height": 2 + } + }, + { + "id": 3112340488942484, + "definition": { + "title": "Percentage Drop (%)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.path_qos.percent_drop{$device_namespace,$device_hostname, $site}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 2, + "width": 6, + "height": 2 + } + } + ] + }, + "layout": { + "x": 0, + "y": 46, + "width": 12, + "height": 5 + } + }, + { + "id": 2146084934056988, + "definition": { + "title": "Applications and Users", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 4698781026950000, + "definition": { + "title": "Top Users by Bandwidth (sites)", + "title_size": "16", + "title_align": "left", + "requests": [ + { + "response_format": "scalar", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.user.bandwidth{$device_namespace,$device_hostname} by {site,user}", + "aggregator": "avg" + } + ], + "style": { + "palette": "datadog16" + }, + "formulas": [ + { + "formula": "query1" + } + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + } + } + ], + "type": "sunburst", + "legend": { + "type": "automatic" + } + }, + "layout": { + "x": 0, + "y": 0, + "width": 4, + "height": 4 + } + }, + { + "id": 5612156549794008, + "definition": { + "title": "Top User Bandwidth (per site)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.user.bandwidth{$device_namespace,$device_hostname} by {site,user}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 4, + "y": 0, + "width": 8, + "height": 4 + } + }, + { + "id": 4089199831316850, + "definition": { + "title": "Top Applications by Bandwidth (sites)", + "title_size": "16", + "title_align": "left", + "requests": [ + { + "response_format": "scalar", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.app.bandwidth{$device_namespace,$device_hostname} by {site,app_id}", + "aggregator": "avg" + } + ], + "style": { + "palette": "datadog16" + }, + "formulas": [ + { + "formula": "query1" + } + ], + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + } + } + ], + "type": "sunburst", + "legend": { + "type": "automatic" + } + }, + "layout": { + "x": 0, + "y": 4, + "width": 4, + "height": 4 + } + }, + { + "id": 1183747223959408, + "definition": { + "title": "Top Applications by Bandwidth (per site)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.app.bandwidth{$device_namespace,$device_hostname} by {site,app_id}" + } + ], + "formulas": [ + { + "formula": "query1" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 4, + "y": 4, + "width": 8, + "height": 4 + } + } + ] + }, + "layout": { + "x": 0, + "y": 51, + "width": 12, + "height": 9 + } + }, + { + "id": 6310510752903556, + "definition": { + "title": "DIA Application Metrics", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 868146667782968, + "definition": { + "title": "DIA Application Traffic Usage (site, acckt, IP; volume TX, volume RX, bandwidth TX, RX)", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.dia.volume_tx{$device_namespace,$device_hostname} by {site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.dia.volume_rx{$device_namespace,$device_hostname} by {site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query3", + "query": "avg:versa.dia.bandwidth_tx{$device_namespace,$device_hostname} by {site,access_circuit}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query4", + "query": "avg:versa.dia.bandwidth_rx{$device_namespace,$device_hostname} by {site,access_circuit}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "Volume TX", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "alias": "Volume RX", + "formula": "query2" + }, + { + "cell_display_mode": "bar", + "alias": "Bandwidth TX", + "formula": "query3" + }, + { + "cell_display_mode": "bar", + "alias": "Bandwidth RX", + "formula": "query4" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 0, + "width": 6, + "height": 4 + } + }, + { + "id": 1260741089714376, + "definition": { + "title": "DIA Application Traffic Bandwidth (per access circuit)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.dia.bandwidth_rx{$device_namespace,$device_hostname, $site} by {site,access_circuit}" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.dia.bandwidth_tx{$device_namespace,$device_hostname, $site} by {site,access_circuit}" + } + ], + "formulas": [ + { + "formula": "query1 + query2" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 0, + "width": 6, + "height": 4 + } + } + ] + }, + "layout": { + "x": 0, + "y": 60, + "width": 12, + "height": 5 + } + }, + { + "id": 8614837194469100, + "definition": { + "title": "Tunnels", + "background_color": "vivid_green", + "show_title": true, + "type": "group", + "layout_type": "ordered", + "widgets": [ + { + "id": 6376822767038620, + "definition": { + "title": "Tunnel Utilizations (appliance, local/remote IP, Volume RX/TX)", + "title_size": "16", + "title_align": "left", + "type": "query_table", + "requests": [ + { + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.tunnel.volume_tx{$device_namespace,$device_hostname} by {appliance,local_ip,remote_ip,vpn_prof_name}", + "aggregator": "avg" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.tunnel.volume_rx{$device_namespace,$device_hostname} by {appliance,local_ip,remote_ip,vpn_prof_name}", + "aggregator": "avg" + } + ], + "response_format": "scalar", + "sort": { + "count": 500, + "order_by": [ + { + "type": "formula", + "index": 0, + "order": "desc" + } + ] + }, + "formulas": [ + { + "cell_display_mode": "bar", + "alias": "Volume TX", + "formula": "query1" + }, + { + "cell_display_mode": "bar", + "alias": "Volume RX", + "formula": "query2" + } + ] + } + ], + "has_search_bar": "auto" + }, + "layout": { + "x": 0, + "y": 0, + "width": 6, + "height": 4 + } + }, + { + "id": 6708211809539018, + "definition": { + "title": "Tunnel Volume (TX, RX, Total)", + "title_size": "16", + "title_align": "left", + "show_legend": true, + "legend_layout": "auto", + "legend_columns": [ + "avg", + "min", + "max", + "value", + "sum" + ], + "type": "timeseries", + "requests": [ + { + "response_format": "timeseries", + "queries": [ + { + "data_source": "metrics", + "name": "query1", + "query": "avg:versa.tunnel.volume_tx{$device_namespace,$device_hostname} by {appliance,local_ip,remote_ip,vpn_prof_name}" + }, + { + "data_source": "metrics", + "name": "query2", + "query": "avg:versa.tunnel.volume_rx{$device_namespace,$device_hostname} by {appliance,local_ip,remote_ip,vpn_prof_name}" + } + ], + "formulas": [ + { + "alias": "Volume TX", + "formula": "query1" + }, + { + "alias": "Volume RX", + "formula": "query2" + }, + { + "alias": "Volume Total", + "formula": "query1 + query2" + } + ], + "style": { + "palette": "dog_classic", + "order_by": "values", + "line_type": "solid", + "line_width": "normal" + }, + "display_type": "line" + } + ] + }, + "layout": { + "x": 6, + "y": 0, + "width": 6, + "height": 4 + } + } + ] + }, + "layout": { + "x": 0, + "y": 65, + "width": 12, + "height": 5 + } + } + ], + "template_variables": [ + { + "name": "site", + "available_values": [], + "default": "*" + }, + { + "name": "device_namespace", + "prefix": "device_namespace", + "available_values": [], + "default": "*" + }, + { + "name": "device_hostname", + "prefix": "device_hostname", + "available_values": [], + "default": "*" + } + ], + "layout_type": "ordered", + "notify_list": [], + "reflow_type": "fixed" +} diff --git a/versa/assets/monitors/device_unreachable.json b/versa/assets/monitors/device_unreachable.json new file mode 100644 index 0000000000000..d0e8a3c392af1 --- /dev/null +++ b/versa/assets/monitors/device_unreachable.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "created_at": "2025-08-22", + "last_updated_at": "2025-08-22", + "title": "Versa Device is unreachable", + "description": "This monitor checks the reachability of Versa devices. It triggers an alert if a device becomes unreachable, indicating potential network connectivity issues.", + "definition": { + "id": 182975939, + "name": "[Versa] Device unreachable alert on {{device_hostname.name}} in namespace {{device_namespace.name}}", + "type": "query alert", + "query": "avg(last_5m):avg:versa.device.unreachable{*} by {device_id,device_namespace,device_hostname,device_ip} > 0.2", + "message": "{{#is_alert}}\nA network device {{device_hostname.name}} with IP {{device_ip.name}} in namespace {{device_namespace.name}} is unreachable and can't be monitored anymore.\n{{/is_alert}}\n\n{{#is_alert_recovery}}\nA network device {{device_hostname.name}} with IP {{device_ip.name}} in namespace {{device_namespace.name}} is reachable again.\n{{/is_alert_recovery}}\n\nTo know more about the status of your device, you can have more information from the [NDM page for the device {{device_hostname.name}}](/devices?inspectedDevice={{device_namespace.name}}%3A{{device_ip.name}}).", + "tags": [], + "options": { + "thresholds": { + "critical": 0.2 + }, + "notify_audit": false, + "on_missing_data": "default", + "include_tags": false, + "new_group_delay": 60, + "silenced": {} + }, + "priority": null, + "restriction_policy": { + "bindings": [] + } + }, + "tags": [ + "integration:versa" + ] +} \ No newline at end of file diff --git a/versa/assets/monitors/inbound_link_utilization_high.json b/versa/assets/monitors/inbound_link_utilization_high.json new file mode 100644 index 0000000000000..534e7491e163c --- /dev/null +++ b/versa/assets/monitors/inbound_link_utilization_high.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "created_at": "2025-08-22", + "last_updated_at": "2025-08-22", + "title": "Inbound Link Utilization >90%", + "description": "This monitor detects when the inbound link utilization across an access circuit over the last 5 minutes is greater than 90%.", + "definition": { + "id": 183690711, + "name": "[Versa] Inbound Link Utilization >90% on {{access_circuit.name}} at {{site.name}} over the last 5 minutes", + "type": "query alert", + "query": "avg(last_5m):avg:versa.link.rx_util{*} by {site,access_circuit,device_hostname,device_id,device_namespace,device_ip} > 90", + "message": "{{#is_alert}}\nInbound Link Utilization exceeded 90% in the last 5 minutes.\n\nSite: {{site.name}}\nAccess Circuit: {{access_circuit.name}}\nDevice: {{device_hostname.name}}\n{{/is_alert}}\n\n{{#is_alert_recovery}}\nInbound Link Utilization is <90% in the last 5 minutes.\n\nSite: {{site.name}}\nAccess Circuit: {{access_circuit.name}}\nDevice: {{device_hostname.name}}\n{{/is_alert_recovery}}\n\nTo know more about the status of your device, you can have more information from the [NDM page for the device {{device_hostname.name}}](/devices?inspectedDevice={{device_namespace.name}}%3A{{device_ip.name}}).", + "tags": [], + "options": { + "thresholds": { + "critical": 90 + }, + "notify_audit": false, + "on_missing_data": "default", + "include_tags": false, + "new_group_delay": 60, + "silenced": {} + }, + "priority": null, + "restriction_policy": { + "bindings": [] + } + }, + "tags": [ + "integration:versa" + ] +} \ No newline at end of file diff --git a/versa/assets/monitors/outbound_link_utilization_high.json b/versa/assets/monitors/outbound_link_utilization_high.json new file mode 100644 index 0000000000000..15cb0bc9d0306 --- /dev/null +++ b/versa/assets/monitors/outbound_link_utilization_high.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "created_at": "2025-08-22", + "last_updated_at": "2025-08-22", + "title": "Outbound Link Utilization >90%", + "description": "This monitor detects when the outbound link utilization across an access circuit over the last 5 minutes is greater than 90%.", + "definition": { + "id": 183692872, + "name": "[Versa] Outbound Link Utilization >90% on {{access_circuit.name}} at {{site.name}} over the last 5 minutes", + "type": "query alert", + "query": "avg(last_5m):avg:versa.link.tx_util{*} by {site,access_circuit,device_hostname,device_id,device_namespace,device_ip} > 90", + "message": "{{#is_alert}}\nOutbound Link Utilization exceeded 90% in the last 5 minutes.\n\nSite: {{site.name}}\nAccess Circuit: {{access_circuit.name}}\nDevice: {{device_hostname.name}}\n{{/is_alert}}\n\n{{#is_alert_recovery}}\nInbound Link Utilization is <90% in the last 5 minutes.\n\nSite: {{site.name}}\nAccess Circuit: {{access_circuit.name}}\nDevice: {{device_hostname.name}}\n{{/is_alert_recovery}}\n\nTo know more about the status of your device, you can have more information from the [NDM page for the device {{device_hostname.name}}](/devices?inspectedDevice={{device_namespace.name}}%3A{{device_ip.name}}).", + "tags": [], + "options": { + "thresholds": { + "critical": 90 + }, + "notify_audit": false, + "on_missing_data": "default", + "include_tags": false, + "new_group_delay": 60, + "silenced": {} + }, + "priority": null, + "restriction_policy": { + "bindings": [] + } + }, + "tags": [ + "integration:versa" + ] +} \ No newline at end of file diff --git a/versa/assets/monitors/sla_pdu_loss_high.json b/versa/assets/monitors/sla_pdu_loss_high.json new file mode 100644 index 0000000000000..77ef650b1e2ae --- /dev/null +++ b/versa/assets/monitors/sla_pdu_loss_high.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "created_at": "2025-08-22", + "last_updated_at": "2025-08-22", + "title": "SLA Breach PDU Loss Ratio >1%", + "description": "This monitor detects when the PDU loss ratio across an access circuit over the last 5 minutes is greater than 1%.", + "definition": { + "id": 183655427, + "name": "[Versa] SLA Breach {{forwarding_class.name}} PDU Loss Ratio >1% from {{local_site.name}} to {{remote_site.name}} on device {{device_hostname.name}}", + "type": "query alert", + "query": "avg(last_5m):avg:versa.sla.pdu_loss_ratio{*} by {device_id,device_namespace,device_ip,local_site,remote_site,local_access_circuit,remote_access_circuit,forwarding_class,device_hostname} > 1", + "message": "{{#is_alert}}\nThe PDU loss ratio from {{local_site.name}} ({{local_access_circuit.name}}) to {{remote_site.name}} ({{remote_access_circuit.name}}) is >1%.\nForwarding Class: {{forwarding_class}}.\n\nPDU Loss Ratio > 1% over the last 5 minutes on device {{device_hostname.name}}\n{{/is_alert}}\n\n{{#is_alert_recovery}}\nThe PDU loss ratio from {{local_site.name}} ({{local_access_circuit.name}}) to {{remote_site.name}} ({{remote_access_circuit.name}}) has recovered to <1% over 5 minutes.\n{{/is_alert_recovery}}\n\nTo know more about the status of your device, you can have more information from the [NDM page for the device {{device_hostname.name}}](/devices?inspectedDevice={{device_namespace.name}}%3A{{device_ip.name}}).", + "tags": [], + "options": { + "thresholds": { + "critical": 1 + }, + "notify_audit": false, + "on_missing_data": "default", + "include_tags": false, + "new_group_delay": 60, + "silenced": {} + }, + "priority": null, + "restriction_policy": { + "bindings": [] + } + }, + "tags": [ + "integration:versa" + ] +} \ No newline at end of file diff --git a/versa/manifest.json b/versa/manifest.json new file mode 100644 index 0000000000000..5fb3590d7f05d --- /dev/null +++ b/versa/manifest.json @@ -0,0 +1,56 @@ +{ + "manifest_version": "2.0.0", + "app_uuid": "3bd4335c-19ec-46dc-8c15-0192d6206ebf", + "app_id": "versa", + "display_on_public_website": false, + "tile": { + "overview": "README.md#Overview", + "configuration": "README.md#Setup", + "support": "README.md#Support", + "changelog": "CHANGELOG.md", + "description": "Monitor your Versa SD-WAN environment with Datadog.", + "title": "Versa", + "media": [], + "classifier_tags": [ + "Supported OS::Linux", + "Supported OS::Windows", + "Supported OS::macOS", + "Category::Network", + "Offering::Integration" + ] + }, + "assets": { + "integration": { + "auto_install": true, + "source_type_id": 55887572, + "source_type_name": "Versa", + "configuration": { + "spec": "assets/configuration/spec.yaml" + }, + "events": { + "creates_events": false + }, + "metrics": { + "prefix": "versa.", + "check": "versa.device.reachable", + "metadata_path": "metadata.csv" + } + }, + "dashboards": { + "Versa SD-WAN": "assets/dashboards/versa.json" + }, + "monitors": { + "Inbound Link Utilization >90%": "assets/monitors/inbound_link_utilization_high.json", + "Outbound Link Utilization >90%": "assets/monitors/outbound_link_utilization_high.json", + "SLA Breach PDU Loss >1%": "assets/monitors/sla_pdu_loss_high.json", + "Device is unreachable": "assets/monitors/device_unreachable.json" + }, + "saved_views": {} + }, + "author": { + "support_email": "help@datadoghq.com", + "name": "Datadog", + "homepage": "https://www.datadoghq.com", + "sales_email": "info@datadoghq.com" + } +} diff --git a/versa/metadata.csv b/versa/metadata.csv new file mode 100644 index 0000000000000..95655cb036caa --- /dev/null +++ b/versa/metadata.csv @@ -0,0 +1,76 @@ +metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric +versa.app.bandwidth,gauge,,bit,second,The total bandwidth usage by application.,0,versa,, +versa.app.bandwidth_rx,gauge,,bit,second,The received bandwidth by application.,0,versa,, +versa.app.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth by application.,0,versa,, +versa.app.sessions,gauge,,,,The number of active sessions by application.,0,versa,, +versa.app.volume_rx,gauge,,byte,,The total volume of data received by application.,0,versa,, +versa.app.volume_tx,gauge,,byte,,The total volume of data transmitted by application.,0,versa,, +versa.cpu.usage,gauge,,percent,,Percentage of CPU currently being used.,0,versa,, +versa.device.reachable,gauge,,,,"The status of the device. The value is 1 if the device is reachable, 0 otherwise.",0,versa,, +versa.device.unreachable,gauge,,,,"The status of the device. The value is 1 if the device is unreachable, 0 otherwise.",0,versa,, +versa.device.uptime,gauge,,,,The time (in hundredths of a second) since the network management portion of the system was last re-initialized.,0,versa,, +versa.dia.bandwidth_rx,gauge,,bit,second,The received bandwidth for Direct Internet Access (DIA).,0,versa,, +versa.dia.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth for Direct Internet Access (DIA).,0,versa,, +versa.dia.volume_rx,gauge,,byte,,The total volume of data received for Direct Internet Access (DIA).,0,versa,, +versa.dia.volume_tx,gauge,,byte,,The total volume of data transmitted for Direct Internet Access (DIA).,0,versa,, +versa.disk.usage,gauge,,percent,,The percentage of disk currently being used.,0,versa,, +versa.interface.bandwidth,gauge,,bit,second,The total bandwidth of the interface.,0,versa,, +versa.interface.bandwidth_rx,gauge,,bit,second,The received bandwidth of the interface.,0,versa,, +versa.interface.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth of the interface.,0,versa,, +versa.interface.rx_bps,gauge,,bit,second,The inbound bandwidth rate in bits per second.,0,versa,, +versa.interface.rx_bytes,gauge,,byte,,The total number of bytes received on the interface.,0,versa,, +versa.interface.rx_errors,gauge,,packet,,The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.,0,versa,, +versa.interface.rx_packets,gauge,,packet,,The total number of packets received on the interface.,0,versa,, +versa.interface.rx_pps,gauge,,packet,second,The inbound packet rate in packets per second.,0,versa,, +versa.interface.rx_util,gauge,,percent,,The percentage of received bandwidth utilization.,0,versa,, +versa.interface.status,gauge,,,,"For each interface of each monitored Versa device, this metric reports always 1 with the admin_status and oper_status as tags.",0,versa,, +versa.interface.tx_bps,gauge,,bit,second,The outbound bandwidth rate in bits per second.,0,versa,, +versa.interface.tx_bytes,gauge,,byte,,The total number of bytes transmitted out of the interface.,0,versa,, +versa.interface.tx_errors,gauge,,packet,,The number of outbound packets that could not be transmitted because of errors.,0,versa,, +versa.interface.tx_packets,gauge,,packet,,The total number of packets transmitted out of the interface.,0,versa,, +versa.interface.tx_pps,gauge,,packet,second,The outbound packet rate in packets per second.,0,versa,, +versa.interface.tx_util,gauge,,percent,,The percentage of transmitted bandwidth utilization.,0,versa,, +versa.interface.volume,gauge,,byte,,The total volume of data on the interface.,0,versa,, +versa.interface.volume_rx,gauge,,byte,,The total volume of data received on the interface.,0,versa,, +versa.interface.volume_tx,gauge,,byte,,The total volume of data transmitted on the interface.,0,versa,, +versa.link.availability,gauge,,percent,,The availability percentage of the link.,0,versa,, +versa.link.bandwidth_rx,gauge,,bit,second,The received bandwidth of the link.,0,versa,, +versa.link.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth of the link.,0,versa,, +versa.link.volume_rx,gauge,,byte,,The total volume of data received on the link.,0,versa,, +versa.link.volume_tx,gauge,,byte,,The total volume of data transmitted on the link.,0,versa,, +versa.memory.usage,gauge,,percent,,The percentage of memory currently being used.,0,versa,, +versa.qos.assured_forward_bw,gauge,,bit,second,The bandwidth for assured forwarding QoS class.,0,versa,, +versa.qos.assured_forward_drop,gauge,,byte,,The bytes dropped for assured forwarding QoS class.,0,versa,, +versa.qos.assured_forward_tx,gauge,,byte,,The bytes transmitted for assured forwarding QoS class.,0,versa,, +versa.qos.bandwidth,gauge,,bit,second,The total QoS bandwidth.,0,versa,, +versa.qos.best_effort_bandwidth,gauge,,bit,second,The bandwidth for best effort QoS class.,0,versa,, +versa.qos.best_effort_tx,gauge,,byte,,The bytes transmitted for best effort QoS class.,0,versa,, +versa.qos.best_effort_tx_drop,gauge,,byte,,The bytes dropped for best effort QoS class.,0,versa,, +versa.qos.expedited_forward_bw,gauge,,bit,second,The bandwidth for expedited forwarding QoS class.,0,versa,, +versa.qos.expedited_forward_drop,gauge,,byte,,The bytes dropped for expedited forwarding QoS class.,0,versa,, +versa.qos.expedited_forward_tx,gauge,,byte,,The bytes transmitted for expedited forwarding QoS class.,0,versa,, +versa.qos.network_control_bw,gauge,,bit,second,The bandwidth for network control QoS class.,0,versa,, +versa.qos.network_control_drop,gauge,,byte,,The bytes dropped for network control QoS class.,0,versa,, +versa.qos.network_control_tx,gauge,,byte,,The bytes transmitted for network control QoS class.,0,versa,, +versa.qos.percent_drop,gauge,,percent,,The percentage of packets dropped by QoS.,0,versa,, +versa.qos.total_drop,gauge,,byte,,The total bytes dropped by QoS.,0,versa,, +versa.qos.volume_tx,gauge,,byte,,The total volume of data transmitted with QoS.,0,versa,, +versa.site.availability,gauge,,percent,,The availability percentage of the site.,0,versa,, +versa.site.bandwidth_rx,gauge,,bit,second,The received bandwidth of the site.,0,versa,, +versa.site.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth of the site.,0,versa,, +versa.site.volume_rx,gauge,,byte,,The total volume of data received by the site.,0,versa,, +versa.site.volume_tx,gauge,,byte,,The total volume of data transmitted by the site.,0,versa,, +versa.sla.delay,gauge,,millisecond,,The delay measured in SLA monitoring.,0,versa,, +versa.sla.fwd_delay_var,gauge,,millisecond,,The forward delay variation measured in SLA monitoring.,0,versa,, +versa.sla.fwd_loss_ratio,gauge,,percent,,The forward packet loss ratio measured in SLA monitoring.,0,versa,, +versa.sla.pdu_loss_ratio,gauge,,percent,,The PDU loss ratio measured in SLA monitoring.,0,versa,, +versa.sla.rev_delay_var,gauge,,millisecond,,The reverse delay variation measured in SLA monitoring.,0,versa,, +versa.sla.rev_loss_ratio,gauge,,percent,,The reverse packet loss ratio measured in SLA monitoring.,0,versa,, +versa.tunnel.volume_rx,gauge,,byte,,The total volume of data received through the tunnel.,0,versa,, +versa.tunnel.volume_tx,gauge,,byte,,The total volume of data transmitted through the tunnel.,0,versa,, +versa.user.bandwidth,gauge,,bit,second,The total bandwidth usage by user.,0,versa,, +versa.user.bandwidth_rx,gauge,,bit,second,The received bandwidth by user.,0,versa,, +versa.user.bandwidth_tx,gauge,,bit,second,The transmitted bandwidth by user.,0,versa,, +versa.user.sessions,gauge,,,,The number of active sessions by user.,0,versa,, +versa.user.volume_rx,gauge,,byte,,The total volume of data received by user.,0,versa,, +versa.user.volume_tx,gauge,,byte,,The total volume of data transmitted by user.,0,versa,,