diff --git a/docs/Collecting Metrics/Collectors/Applications/Applications.mdx b/docs/Collecting Metrics/Collectors/Applications/Applications.mdx index 60a328f341..a5d8db402f 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Applications.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Applications.mdx @@ -67,7 +67,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -131,7 +131,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -151,7 +151,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -179,7 +179,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -311,7 +311,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Applications/Chia.mdx b/docs/Collecting Metrics/Collectors/Applications/Chia.mdx index a2faf48d7d..53a3213367 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Chia.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Chia.mdx @@ -15,7 +15,7 @@ slug: "/collecting-metrics/collectors/applications/chia" # Chia - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx b/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx index bbea1d74a0..cbfd17600d 100644 --- a/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/DMARC.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/applications/dmarc" # DMARC - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Applications/Go-ethereum.mdx b/docs/Collecting Metrics/Collectors/Applications/Go-ethereum.mdx index b3d653794a..883f987db8 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Go-ethereum.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Go-ethereum.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/applications/go-ethereum" # Go-ethereum - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx b/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx index 23eba7dbcc..3ba16818bf 100644 --- a/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/Tankerkoenig API.mdx @@ -15,7 +15,7 @@ slug: "/collecting-metrics/collectors/applications/tankerkoenig-api" # Tankerkoenig API - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Applications/ZooKeeper.mdx b/docs/Collecting Metrics/Collectors/Applications/ZooKeeper.mdx index 216afd6522..a20928cc57 100644 --- a/docs/Collecting Metrics/Collectors/Applications/ZooKeeper.mdx +++ b/docs/Collecting Metrics/Collectors/Applications/ZooKeeper.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/applications/zookeeper" # ZooKeeper - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Collectors.mdx b/docs/Collecting Metrics/Collectors/Collectors.mdx index 890bf0805f..fb4a6043d0 100644 --- a/docs/Collecting Metrics/Collectors/Collectors.mdx +++ b/docs/Collecting Metrics/Collectors/Collectors.mdx @@ -499,7 +499,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -763,7 +763,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -851,7 +851,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -879,7 +879,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1179,7 +1179,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1207,7 +1207,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1215,7 +1215,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1299,7 +1299,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1363,7 +1363,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1435,7 +1435,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1751,7 +1751,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + @@ -1891,7 +1891,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers and VMs.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers and VMs.mdx index 9bb36c0cd8..bdd3aacd1e 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers and VMs.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers and VMs.mdx @@ -75,7 +75,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx index a24e227f24..2da82ef0a5 100644 --- a/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx +++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/containers-and-vms/nomad-containers" # Nomad Containers - + Plugin: cgroups.plugin diff --git a/docs/Collecting Metrics/Collectors/Databases/Databases.mdx b/docs/Collecting Metrics/Collectors/Databases/Databases.mdx index eae038120a..70834dbb66 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Databases.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Databases.mdx @@ -135,11 +135,11 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + - + diff --git a/docs/Collecting Metrics/Collectors/Databases/Typesense.mdx b/docs/Collecting Metrics/Collectors/Databases/Typesense.mdx index f86a0f7fcb..8130013190 100644 --- a/docs/Collecting Metrics/Collectors/Databases/Typesense.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/Typesense.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/databases/typesense" # Typesense - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Databases/VerneMQ.mdx b/docs/Collecting Metrics/Collectors/Databases/VerneMQ.mdx index 019c119875..513db010da 100644 --- a/docs/Collecting Metrics/Collectors/Databases/VerneMQ.mdx +++ b/docs/Collecting Metrics/Collectors/Databases/VerneMQ.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/databases/vernemq" # VerneMQ - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Hardware and Sensors.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Hardware and Sensors.mdx index 702e70a305..25f0566fd3 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Hardware and Sensors.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Hardware and Sensors.mdx @@ -147,7 +147,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx index ffa94cacb2..8d6133c7c1 100644 --- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx +++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Powerpal devices.mdx @@ -15,7 +15,7 @@ slug: "/collecting-metrics/collectors/hardware-and-sensors/powerpal-devices" # Powerpal devices - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Networking/SNMP devices.mdx b/docs/Collecting Metrics/Collectors/Networking/SNMP devices.mdx index 7068a8755d..169d2c93d2 100644 --- a/docs/Collecting Metrics/Collectors/Networking/SNMP devices.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/SNMP devices.mdx @@ -33,7 +33,7 @@ This collector discovers and monitors any SNMP-enabled network device. - **Automatic vendor/model detection**: Devices are matched to the right profile using selectors such as `sysObjectID` and `sysDescr`. - **ICMP ping**: Optional round-trip latency monitoring alongside SNMP, with a `ping_only` mode available. - **SNMP v1, v2c, and v3 support**: Fully implemented via the [gosnmp](https://github.com/gosnmp/gosnmp) library. -- **Shared device-level licensing metrics for supported profiles**: When a profile exposes license telemetry, Netdata emits compact per-device licensing charts for earliest expiry, license-state counts (`healthy`, `informational`, `degraded`, `broken`, `ignored`), and highest usage pressure. Current branch coverage includes Check Point licensing state and per-blade expiry, Fortinet FortiGate contract/service/account expirations, Cisco traditional licensing end-date/remaining-time/state/usage telemetry, Cisco Smart Licensing authorization, certificate, evaluation, and state telemetry, Sophos Firewall subscription state and per-license expiry telemetry, Blue Coat ProxySG application/feature/component expiry, expire-type, and state telemetry, and basic MikroTik RouterOS upgrade-entitlement telemetry. For MikroTik, epoch-like placeholder `mtxrLicUpgrUntil` values are ignored instead of treated as real expired licenses. +- **Shared device-level licensing metrics for supported profiles**: When a profile exposes license telemetry, Netdata emits compact per-device licensing charts for earliest expiry, license-state counts (`healthy`, `informational`, `degraded`, `broken`, `ignored`), and highest usage pressure. Supported profile coverage includes Check Point licensing state and per-blade expiry, Fortinet FortiGate contract/service/account expirations, Cisco traditional licensing end-date/remaining-time/state/usage telemetry, Cisco Smart Licensing authorization, certificate, evaluation, and state telemetry, Sophos Firewall subscription state and per-license expiry telemetry, Blue Coat ProxySG application/feature/component expiry, expire-type, and state telemetry, and basic MikroTik RouterOS upgrade-entitlement telemetry. For MikroTik, epoch-like placeholder `mtxrLicUpgrUntil` values are ignored instead of treated as real expired licenses. - **Interactive licensing drill-down**: The `snmp:licenses` function follows the existing SNMP function pattern and shows normalized licensing rows for the selected SNMP job/device using cached collector data. @@ -98,7 +98,7 @@ SNMP service discovery can automatically scan configured networks and feed the S The configuration file name is [go.d/sd/snmp.conf](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/config/go.d/sd/snmp.conf). -You can edit the configuration file using the edit-config script from the Netdata [config directory](https://learn.netdata.cloud/docs/netdata-agent/configuration#the-netdata-config-directory). +You can edit the configuration file using the edit-config script from the Netdata [config directory](https://learn.netdata.cloud/docs/netdata-agent/configuration#locate-your-config-directory). ```bash cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata @@ -377,21 +377,20 @@ The following alerts are available: | Alert name | On metric | Description | |:------------|:----------|:------------| -| [snmp_license_expiring](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.remaining_time | The earliest monitored SNMP license or subscription on this device is close to expiration. | -| [snmp_license_authorization_expiring](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.authorization_remaining_time | The license authorization timer on this device is close to expiration. | -| [snmp_license_certificate_expiring](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.certificate_remaining_time | The license certificate timer on this device is close to expiration. | -| [snmp_license_grace_period_ending](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.grace_remaining_time | The licensing grace or evaluation period on this device is ending or already expired. | -| [snmp_license_state_warning](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.state | One or more monitored licenses on this device are degraded, in grace, or otherwise in warning state. | -| [snmp_license_state_critical](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.state | One or more monitored licenses on this device are expired, invalid, unauthorized, or otherwise in critical state. | -| [snmp_license_usage_high](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.usage_percent | The most constrained monitored license pool on this device is nearing exhaustion. | +| [ snmp_license_expiring ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.remaining_time | The earliest monitored SNMP license or subscription on this device is close to expiration. | +| [ snmp_license_authorization_expiring ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.authorization_remaining_time | The license authorization timer on this device is close to expiration. | +| [ snmp_license_certificate_expiring ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.certificate_remaining_time | The license certificate timer on this device is close to expiration. | +| [ snmp_license_grace_period_ending ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.grace_remaining_time | The licensing grace or evaluation period on this device is ending or already expired. | +| [ snmp_license_state_warning ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.state | One or more monitored licenses on this device are degraded, in grace, or otherwise in warning state. | +| [ snmp_license_state_critical ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.state | One or more monitored licenses on this device are expired, invalid, unauthorized, or otherwise in critical state. | +| [ snmp_license_usage_high ](https://github.com/netdata/netdata/blob/master/src/health/health.d/snmp.conf) | snmp.license.usage_percent | The most constrained monitored license pool on this device is nearing exhaustion. | ## Metrics Metrics grouped by *scope*. -The scope defines the instance that the metric belongs to. -An instance is uniquely identified by a set of labels. +The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. Metrics and charts are **defined by the matched SNMP profile(s)** at runtime. They differ by vendor/model/OS and may include, for example, interface counters, optics, CPU/memory, temperature, VLANs, and more. Use the **Metrics** tab on the device’s dashboard to see exactly what is collected for that device. @@ -431,7 +430,7 @@ If `ping.enabled` is true, ICMP latency/packet-loss charts are also provided (or ### Per device licensing -Shared device-level licensing health metrics emitted when the matched SNMP profile provides licensing telemetry. Current branch coverage includes Check Point licensing state and per-blade expiry, Fortinet FortiGate contract/service/account expirations, Cisco traditional licensing end-date/remaining-time/state/usage telemetry, Cisco Smart Licensing authorization, certificate, evaluation, and state telemetry, Sophos Firewall subscription state and per-license expiry telemetry, Blue Coat ProxySG application/feature/component expiry, expire-type, and state telemetry, and basic MikroTik RouterOS upgrade-entitlement telemetry. MikroTik support is intentionally limited to the RouterOS upgrade-entitlement fields exposed by SNMP, and epoch-like placeholder `mtxrLicUpgrUntil` values are ignored. +Shared device-level licensing health metrics emitted when the matched SNMP profile provides licensing telemetry. Supported profile coverage includes Check Point licensing state and per-blade expiry, Fortinet FortiGate contract/service/account expirations, Cisco traditional licensing end-date/remaining-time/state/usage telemetry, Cisco Smart Licensing authorization, certificate, evaluation, and state telemetry, Sophos Firewall subscription state and per-license expiry telemetry, Blue Coat ProxySG application/feature/component expiry, expire-type, and state telemetry, and basic MikroTik RouterOS upgrade-entitlement telemetry. MikroTik support is intentionally limited to the RouterOS upgrade-entitlement fields exposed by SNMP, and epoch-like placeholder `mtxrLicUpgrUntil` values are ignored. Labels: @@ -733,3 +732,6 @@ Table metrics are usually the slowest and often determine the total collection t 1. Do logs show “skipping data collection”? 2. Does *Internal → Stats* show collection time > `update_every`? 3. Increase `update_every` until skips disappear. + + + diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/NVMe devices.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/NVMe devices.mdx index 5653e6376a..a84ccb641b 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/NVMe devices.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/NVMe devices.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/storage-and-filesystems/nvme-devices" # NVMe devices - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storage and Filesystems.mdx b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storage and Filesystems.mdx index 6a7c3caf64..7903a1b1fc 100644 --- a/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storage and Filesystems.mdx +++ b/docs/Collecting Metrics/Collectors/Storage and Filesystems/Storage and Filesystems.mdx @@ -123,7 +123,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/Nagios Plugins and Custom Scripts.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/Nagios Plugins and Custom Scripts.mdx index 69629bc1b9..0d71e33ded 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/Nagios Plugins and Custom Scripts.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/Nagios Plugins and Custom Scripts.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/synthetic-testing/nagios-plugins-and-custo # Nagios Plugins and Custom Scripts - + Plugin: scripts.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Synthetic Testing/Synthetic Testing.mdx b/docs/Collecting Metrics/Collectors/Synthetic Testing/Synthetic Testing.mdx index f0803c63fb..ebcc9cacea 100644 --- a/docs/Collecting Metrics/Collectors/Synthetic Testing/Synthetic Testing.mdx +++ b/docs/Collecting Metrics/Collectors/Synthetic Testing/Synthetic Testing.mdx @@ -43,7 +43,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Varnish.mdx b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Varnish.mdx index 55e02ea79e..efa740e891 100644 --- a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Varnish.mdx +++ b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Varnish.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/web-servers-and-proxies/varnish" # Varnish - + Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Web Servers and Proxies.mdx b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Web Servers and Proxies.mdx index 59bd72ba90..0f09a24559 100644 --- a/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Web Servers and Proxies.mdx +++ b/docs/Collecting Metrics/Collectors/Web Servers and Proxies/Web Servers and Proxies.mdx @@ -91,7 +91,7 @@ import { Grid, Box } from '@site/src/components/Grid_integrations'; - + diff --git a/docs/Network Flows/Enrichment Methods/DB-IP IP Intelligence.mdx b/docs/Network Flows/Enrichment Methods/DB-IP IP Intelligence.mdx index 5dc5d93cdb..f2c1e6b2e4 100644 --- a/docs/Network Flows/Enrichment Methods/DB-IP IP Intelligence.mdx +++ b/docs/Network Flows/Enrichment Methods/DB-IP IP Intelligence.mdx @@ -105,7 +105,7 @@ the binary is available (packaged 32-bit installs do not include it) to populate sudo /usr/sbin/topology-ip-intel-downloader ``` -See the [Enrichment Intel Downloader](https://learn.netdata.cloud/docs/network-flows/intel-downloader) +See the [Enrichment Intel Downloader](https://learn.netdata.cloud/docs/network-flows/enrichment-intel-downloader) page for downloader options and how to schedule periodic refreshes. DB-IP Lite data is published monthly, so a monthly cron of the downloader is the right cadence -- more frequent runs will not produce newer data. diff --git a/docs/Network Flows/Flow Protocols/IPFIX.mdx b/docs/Network Flows/Flow Protocols/IPFIX.mdx index fc3fa2cb89..bfc04e6af4 100644 --- a/docs/Network Flows/Flow Protocols/IPFIX.mdx +++ b/docs/Network Flows/Flow Protocols/IPFIX.mdx @@ -139,7 +139,7 @@ See [Troubleshooting](https://learn.netdata.cloud/docs/network-flows/troubleshoo the full diagnostic recipe. For IPFIX specifically, watch the `template_errors` dimension on `netflow.input_packets` -- IPFIX is template-driven and data records arriving before their templates are dropped. See also -[Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation). +[Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation-and-data-quality). diff --git a/docs/Network Flows/Flow Protocols/NetFlow.mdx b/docs/Network Flows/Flow Protocols/NetFlow.mdx index df6be1faf6..fecfd00d79 100644 --- a/docs/Network Flows/Flow Protocols/NetFlow.mdx +++ b/docs/Network Flows/Flow Protocols/NetFlow.mdx @@ -162,7 +162,7 @@ journal: See [Troubleshooting](https://learn.netdata.cloud/docs/network-flows/troubleshooting) for the full diagnostic recipe -- including UDP path checks, template-error analysis, and the "looks like a bug but isn't" section (doubling, mirroring, internal-IP geolocation). -See also [Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation) +See also [Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation-and-data-quality) and [Anti-patterns](https://learn.netdata.cloud/docs/network-flows/anti-patterns). diff --git a/docs/Network Flows/Flow Protocols/sFlow.mdx b/docs/Network Flows/Flow Protocols/sFlow.mdx index 40a9e9a53f..d5d51e16d3 100644 --- a/docs/Network Flows/Flow Protocols/sFlow.mdx +++ b/docs/Network Flows/Flow Protocols/sFlow.mdx @@ -141,7 +141,7 @@ the full diagnostic recipe. sFlow-specific gotchas: counter samples are not surf (only flow samples), bytes/packets are statistical estimates that won't match SNMP byte-for-byte, and VLAN information comes from `ExtendedSwitch` records only -- not from 802.1Q tags inside the sampled header. See also -[Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation) +[Validation and Data Quality](https://learn.netdata.cloud/docs/network-flows/validation-and-data-quality) and the sFlow section of [Anti-patterns](https://learn.netdata.cloud/docs/network-flows/anti-patterns).