diff --git a/.github/workflows/config/labeler.yml b/.github/workflows/config/labeler.yml index a4c068d788283..d5c0133ab9d89 100644 --- a/.github/workflows/config/labeler.yml +++ b/.github/workflows/config/labeler.yml @@ -307,6 +307,8 @@ integration/nagios: - nagios/**/* integration/network: - network/**/* +integration/network_path: +- network_path/**/* integration/nfsstat: - nfsstat/**/* integration/nginx: diff --git a/network_path/CHANGELOG.md b/network_path/CHANGELOG.md new file mode 100644 index 0000000000000..c675f856dba54 --- /dev/null +++ b/network_path/CHANGELOG.md @@ -0,0 +1,7 @@ +# CHANGELOG - Network Path + +## 1.0.0 / 2024-07-04 + +***Added***: + +* Initial Release \ No newline at end of file diff --git a/network_path/README.md b/network_path/README.md new file mode 100644 index 0000000000000..6f9477995f99e --- /dev/null +++ b/network_path/README.md @@ -0,0 +1,60 @@ +# Agent Check: Network Path + +## Overview + +Network Path integration collects traceroute-like data. + +## Setup + +### Installation + +The Network Path check is included in the [Datadog Agent][1] package. +No additional installation is needed on your server. + +### Configuration + +Example configuration: + +```yaml +instances: + - hostname: example.com # endpoint hostname or IP + protocol: TCP + port: 443 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" + + ## optional configs: + # max_ttl: 30 # max traderoute TTL, default is 30 + # timeout: 10 # timeout in seconds of traceroute calls, default is 10s + + - hostname: + protocol: UDP + port: 53 + tags: + - "tag_key:tag_value" + - "tag_key2:tag_value2" +``` + +## Data Collected + +### Metrics + +Metrics are listed in `metadata.csv`. + +### Service Checks + +Network Path does not include any service checks. + +### Events + +Network Path does not include any events. + +## Troubleshooting + +Need help? Contact [Datadog support][2]. + +[1]: https://app.datadoghq.com/account/settings/agent/latest + +[2]: https://docs.datadoghq.com/help/ + diff --git a/network_path/assets/service_checks.json b/network_path/assets/service_checks.json new file mode 100644 index 0000000000000..fe51488c7066f --- /dev/null +++ b/network_path/assets/service_checks.json @@ -0,0 +1 @@ +[] diff --git a/network_path/manifest.json b/network_path/manifest.json new file mode 100644 index 0000000000000..d6ba8c1a0b1c3 --- /dev/null +++ b/network_path/manifest.json @@ -0,0 +1,46 @@ +{ + "manifest_version": "2.0.0", + "app_uuid": "3913cf32-d869-4852-beda-9e3e9d9e2feb", + "app_id": "network-path", + "display_on_public_website": false, + "tile": { + "overview": "README.md#Overview", + "configuration": "README.md#Setup", + "support": "README.md#Support", + "changelog": "CHANGELOG.md", + "description": "Network Path integration collects traceroute-like data.", + "title": "Network Path", + "media": [], + "classifier_tags": [ + "Supported OS::Linux", + "Supported OS::Windows", + "Supported OS::macOS", + "Category::Network" + ] + }, + "assets": { + "integration": { + "source_type_name": "Network Path", + "configuration": {}, + "events": { + "creates_events": false + }, + "metrics": { + "prefix": "datadog.network_path.", + "check": "datadog.network_path.path.monitored", + "metadata_path": "metadata.csv" + }, + "service_checks": { + "metadata_path": "assets/service_checks.json" + }, + "source_type_id": 20095380, + "auto_install": true + } + }, + "author": { + "support_email": "help@datadoghq.com", + "name": "Datadog", + "homepage": "https://www.datadoghq.com", + "sales_email": "info@datadoghq.com" + } +} diff --git a/network_path/metadata.csv b/network_path/metadata.csv new file mode 100644 index 0000000000000..d8b4808ffb946 --- /dev/null +++ b/network_path/metadata.csv @@ -0,0 +1,13 @@ +metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric,sample_tags +datadog.network_path.check_duration,gauge,,second,,"The duration of a check run in seconds. The time needed for the network_path integration to traceroute one endpoint, including time to collect snmp data, processing and submitting metrics/events/etc.",0,network_path,,, +datadog.network_path.check_interval,gauge,,second,,"The interval between check runs in seconds. The time delta between current check run and last check run.",0,network_path,,, +datadog.network_path.collector.flush_duration,gauge,,second,,"The time needed to flush pathtest contexts.",0,network_path,,, +datadog.network_path.collector.flush_interval,gauge,,second,,"The interval between flushes of pathtest contexts.",0,network_path,,, +datadog.network_path.collector.pathtest_flushed_count,gauge,,,,"The number of pathtest contexts flushed.",0,network_path,,, +datadog.network_path.collector.pathtest_store_size,gauge,,,,"The number of pathtest contexts currently stored.",0,network_path,,, +datadog.network_path.collector.schedule_duration,gauge,,second,,"The time needed to schedule new connections that will be monitored via network path collector.",0,network_path,,, +datadog.network_path.collector.workers,gauge,,,,"The number of workers used to process pathtests concurrently.",0,network_path,,, +datadog.network_path.path.hops,gauge,,,,"The number of hops of the collected pathtrace (traceroute).",0,network_path,,, +datadog.network_path.path.monitored,gauge,,,,"Paths monitored count. Make 'sum by {X}' queries to count all the Paths with the tag X",0,network_path,,, +datadog.network_path.path.reachable,gauge,,,,"The value is 1 if the path is reachable, 0 otherwise. Reachability is determined by the status of the destination/target of the pathtest.",0,network_path,,, +datadog.network_path.path.unreachable,gauge,,,,"The value is 1 if the path is unreachable, 0 otherwise. Reachability is determined by the status of the destination/target of the pathtest.",0,network_path,,,