diff --git a/docs/Alerts & Notifications/Notifications/Notifications.mdx b/docs/Alerts & Notifications/Notifications/Notifications.mdx index be9bb0b17..c28331958 100644 --- a/docs/Alerts & Notifications/Notifications/Notifications.mdx +++ b/docs/Alerts & Notifications/Notifications/Notifications.mdx @@ -89,7 +89,7 @@ When you receive an alert, Netdata provides tools to help you understand and res ### Netdata Assistant -The [Netdata Assistant](https://learn.netdata.cloud/docs/machine-learning-and-anomaly-detection/ai-powered-troubleshooting-assistant) is an AI-powered feature that guides you through troubleshooting alerts by providing: +The [Netdata Assistant](/docs/netdata-ai/troubleshooting) is an AI-powered feature that guides you through troubleshooting alerts by providing: - Clear explanations of what the alert means - Assessment of potential causes diff --git a/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx b/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx index a3e347974..4e6ab2520 100644 --- a/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx +++ b/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx @@ -191,7 +191,7 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration - + diff --git a/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx b/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx index d08ff58da..d5d0f47a2 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Keepalived.mdx @@ -16,7 +16,7 @@ slug: "/collecting-metrics/collectors/networking/keepalived" # Keepalived -Keepalived +Keepalived Plugin: go.d.plugin diff --git a/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx b/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx index f6ee8126d..ce8eaa055 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Network Connections.mdx @@ -5,7 +5,7 @@ learn_status: "Published" toc_max_heading_level: "6" toc_collapsible: "true" learn_rel_path: "Collecting Metrics/Collectors/Networking" -keywords: [network, connections, sockets, tcp, udp, ports, freebsd, macos] +keywords: [network, connections, sockets, tcp, udp, ports, freebsd, macos, windows] description: "This plugin reads the system's socket tables to enumerate all active network connections, including TCP and UDP sockets in all states, for both IPv4 and IPv6." message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" sidebar_position: "330" @@ -40,6 +40,13 @@ metadata with `PROC_PIDFDSOCKETINFO`. A non-privileged or TCC-restricted macOS run can omit protected processes; the plugin logs a warning when permission-denied socket data or truncated process/socket list reads make results incomplete. +On Windows it consumes the IP Helper API (`GetExtendedTcpTable` / +`GetExtendedUdpTable`) and a Toolhelp process snapshot to attribute +sockets to processes; SID account names come from the process tokens. +UDP rows are listener-only because the API does not expose remote +endpoints. +The `topology:network-connections` Function is available on every +supported OS, including Windows. This collector is only supported on the following platforms: @@ -47,6 +54,7 @@ This collector is only supported on the following platforms: - Linux - FreeBSD - macOS +- Windows This collector only supports collecting metrics from a single instance of this integration. diff --git a/docs/Collecting Metrics/Collectors/Networking/Networking.mdx b/docs/Collecting Metrics/Collectors/Networking/Networking.mdx index 14101c5f7..baf4bfc3f 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Networking.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Networking.mdx @@ -180,7 +180,7 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration - + diff --git a/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx b/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx index 6cdf177d7..dc0106d40 100644 --- a/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx +++ b/docs/Collecting Metrics/Collectors/Networking/Windows Network Protocols.mdx @@ -36,7 +36,7 @@ combining the results into a single table grouped by transport protocol and IP f This collector is only supported on the following platforms: -- windows +- Windows This collector only supports collecting metrics from a single instance of this integration. diff --git a/docs/Network Performance Monitoring/Device Metrics/Configuration/SNMP Profile Format.mdx b/docs/Network Performance Monitoring/Device Metrics/Configuration/SNMP Profile Format.mdx index 45a849acf..1ccd0129b 100644 --- a/docs/Network Performance Monitoring/Device Metrics/Configuration/SNMP Profile Format.mdx +++ b/docs/Network Performance Monitoring/Device Metrics/Configuration/SNMP Profile Format.mdx @@ -503,7 +503,10 @@ manual_profiles: #### Scalar symbol fallbacks -You can express “try this OID, otherwise try that OID” by declaring **multiple scalar metrics with the same** `symbol.name`, each pointing to a different OID. At runtime the collector **GETs** all declared scalar OIDs, marks missing ones, and **emits** the metric from whichever OID returns data. Missing OIDs are skipped cleanly. +You can express “try this OID, otherwise try that OID” by declaring **multiple scalar metrics with the same** +`symbol.name`, each pointing to a different OID. At runtime the collector **GETs** all declared scalar OIDs, processes them +in declaration order, and **emits only the first successfully processed metric**. Missing or unusable earlier OIDs fall +through to the next declaration. ```yaml metrics: diff --git a/docs/Network Performance Monitoring/Device Metrics/Integrations/Synology Disk Station.mdx b/docs/Network Performance Monitoring/Device Metrics/Integrations/Synology Disk Station.mdx index ed5ff5ac7..dfffb8184 100644 --- a/docs/Network Performance Monitoring/Device Metrics/Integrations/Synology Disk Station.mdx +++ b/docs/Network Performance Monitoring/Device Metrics/Integrations/Synology Disk Station.mdx @@ -27,7 +27,7 @@ Module: snmp ## Overview -Monitor Synology Disk Station (storage) with Netdata over SNMP. Netdata recognizes the device automatically by its `sysObjectID` (recognized across 1 device identifiers) and collects the metrics this profile declares — on top of the generic SNMP baseline — with no manual OID configuration. +Monitor Synology Disk Station (storage) with Netdata over SNMP. Netdata recognizes the device automatically by its `sysObjectID` (recognized across 2 device identifiers) and collects the metrics this profile declares — on top of the generic SNMP baseline — with no manual OID configuration. Netdata's SNMP collector matches the device to the **synology-disk-station.yaml** profile via `sysObjectID`/`sysDescr`, then polls the OIDs it declares. @@ -131,7 +131,7 @@ There are no alerts configured by default for this integration. On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration — interfaces, system, IP/TCP/UDP, host resources), this Synology Disk Station profile adds the metrics below. Each is collected **only where the device exposes the matching OID** — inclusion means the profile requests it; availability depends on the device model and software. -**33 metrics** in 14 groups; each row is a chart context usable in alerts. +**34 metrics** in 15 groups; each row is a chart context usable in alerts. | Group | Metrics | |---|---| @@ -145,6 +145,7 @@ On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration | Storage / Volume | 5 | | System / CPU | 1 | | System / GPU | 3 | +| System / Memory | 1 | | System / Service | 1 | | System / Status | 1 | | System / Upgrade | 1 | @@ -219,7 +220,7 @@ On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration | Metric (chart context) | Unit | Scope | Description | |---|---|---|---| -| `snmp.device_prof_cpu_usage` | `{load_average}` | device | The 1,5 and 15 minute load averages | +| `snmp.device_prof_cpu_usage` | `%` | device | The current CPU utilization | ### System / GPU @@ -229,6 +230,12 @@ On top of the **generic SNMP baseline** (the *Generic SNMP Device* integration | `snmp.device_prof_synology_gpuUtilization` | `%` | device | GPU utilization | | `snmp.device_prof_synology_system_gpuInfoSupported` | `{status}` | device | GPU info support status | +### System / Memory + +| Metric (chart context) | Unit | Scope | Description | +|---|---|---|---| +| `snmp.device_prof_memory_usage` | `%` | device | Memory utilization | + ### System / Service | Metric (chart context) | Unit | Scope | Description | diff --git a/docs/Network Performance Monitoring/Network Performance Monitoring.mdx b/docs/Network Performance Monitoring/Network Performance Monitoring.mdx index 64dce086d..3c1816bc8 100644 --- a/docs/Network Performance Monitoring/Network Performance Monitoring.mdx +++ b/docs/Network Performance Monitoring/Network Performance Monitoring.mdx @@ -26,7 +26,7 @@ The Network Monitor dashboard brings devices, topology, flows, and trap events t - **Topology** — see how your network connects. Netdata builds Layer 2 maps (LLDP, CDP, MAC/FDB, STP) and Layer 3 maps (BGP, OSPF, ARP), plus the Netdata streaming hierarchy and virtual infrastructure (VMware vSphere, Cato). -- **Application dependencies** — see how your software connects. On monitored hosts (Linux, FreeBSD, and macOS), Netdata reads the kernel's live socket table and maps what each process is talking to; on Linux each one is also attributed to the container, image, systemd unit, or Kubernetes pod that owns it — with no instrumentation and no sidecars. A standard host install needs nothing configured; running the Agent in a container needs a few extra privileges. +- **Application dependencies** — see how your software connects. On monitored hosts (Linux, FreeBSD, macOS, and Windows), Netdata reads the live socket table and maps what each process is talking to; on Linux each one is also attributed to the container, image, systemd unit, or Kubernetes pod that owns it — with no instrumentation and no sidecars. A standard host install needs nothing configured; running the Agent in a container needs a few extra privileges. - **BGP monitoring** — peer state, advertised and received prefixes, and session health on your routers, with an interactive peer table and alerts on session changes. diff --git a/docs/Network Performance Monitoring/Topologies/Application Dependency Mapping.mdx b/docs/Network Performance Monitoring/Topologies/Application Dependency Mapping.mdx index 29104a142..c2d8f4c02 100644 --- a/docs/Network Performance Monitoring/Topologies/Application Dependency Mapping.mdx +++ b/docs/Network Performance Monitoring/Topologies/Application Dependency Mapping.mdx @@ -86,17 +86,18 @@ the value is in choosing the altitude that answers your question. | **Linux** | yes | yes | yes | | **FreeBSD** | yes | yes | no | | **macOS** | yes | yes | no | -| **Windows** | no | — | — | +| **Windows** | yes | yes | no | On Linux, container and Kubernetes attribution comes from the cgroup each socket's process belongs to. Netdata recognizes Docker, Kubernetes, Podman, LXC, systemd-nspawn, KVM guests, and plain systemd units, with no per-runtime -configuration. On FreeBSD and macOS +configuration. On FreeBSD, macOS, and Windows the map is drawn from processes and endpoints only — the cgroup enrichment that supplies container and workload -identity is Linux-specific. +identity is Linux-specific. On Windows, UDP rows are listener-only because the IP Helper API does not expose +remote endpoints. -Windows does not have this map. Netdata monitors Windows connections through the **Network Connections** table, with -SMB statistics in the separate **Network Protocols** table, but the `topology:network-connections` graph is not -available there. +Windows has this map too, drawn from processes and endpoints only (no container/Kubernetes/systemd +attribution, matching FreeBSD and macOS). UDP sockets appear as listeners only because the IP Helper API does not +expose remote endpoints. ## How to open it diff --git a/docs/Network Performance Monitoring/Topologies/Integrations/Live Network Connections.mdx b/docs/Network Performance Monitoring/Topologies/Integrations/Live Network Connections.mdx index 9833c7897..795933e4d 100644 --- a/docs/Network Performance Monitoring/Topologies/Integrations/Live Network Connections.mdx +++ b/docs/Network Performance Monitoring/Topologies/Integrations/Live Network Connections.mdx @@ -29,17 +29,18 @@ Module: network-viewer Map application dependencies on a host. The network-viewer plugin reads the kernel's live socket table and draws which local process talks to which, and which remote endpoints they reach. On Linux it also attributes each process to the container, image, systemd unit, or Kubernetes pod, namespace, and workload that owns it, as far as the APPS_LOOKUP data allows — attribution is best effort, and a process it cannot resolve is still drawn. -The network-viewer plugin builds the `topology:network-connections` view directly from the host's live socket table, with no SNMP and no instrumentation. It is available on Linux, FreeBSD, and macOS; container and Kubernetes attribution is Linux-only. +The network-viewer plugin builds the `topology:network-connections` view directly from the host's live socket table, with no SNMP and no instrumentation. It is available on Linux, FreeBSD, macOS, and Windows; container and Kubernetes attribution is Linux-only, and Windows UDP rows are listener-only because the IP Helper API does not expose remote endpoints. This integration is only supported on the following platforms: - Linux - FreeBSD - macOS +- Windows This integration runs as a single instance per Netdata Agent. -The plugin needs privileged access to enumerate the sockets of every process; standard installations grant it. In a container it additionally needs the host network namespace, the host `/proc`, `SYS_ADMIN` for sibling containers, and `SYS_PTRACE` to attribute connections to processes. On macOS a non-privileged or TCC-restricted run omits protected processes; grant Full Disk Access where local policy requires it. The Function itself requires a signed-in Netdata identity in the same Space with permission to view sensitive data — it is not available anonymously. +The plugin needs privileged access to enumerate the sockets of every process; standard installations grant it. In a container it additionally needs the host network namespace, the host `/proc`, `SYS_ADMIN` for sibling containers, and `SYS_PTRACE` to attribute connections to processes. On macOS a non-privileged or TCC-restricted run omits protected processes; grant Full Disk Access where local policy requires it. On Windows it uses the IP Helper API, so UDP rows are listener-only because it does not expose remote endpoints. The Function itself requires a signed-in Netdata identity in the same Space with permission to view sensitive data — it is not available anonymously. ### Default Behavior diff --git a/docs/Network Performance Monitoring/Topologies/Topologies.mdx b/docs/Network Performance Monitoring/Topologies/Topologies.mdx index 608492771..242823e08 100644 --- a/docs/Network Performance Monitoring/Topologies/Topologies.mdx +++ b/docs/Network Performance Monitoring/Topologies/Topologies.mdx @@ -56,7 +56,7 @@ Kubernetes pod, namespace, and workload owns it — without instrumenting any of You can regroup that map by process name, container, or PID, so you can look at the host at whichever level answers your question — the services it runs, or exactly which worker process opened a connection. -The map is available on Linux, FreeBSD, and macOS; container and Kubernetes attribution is Linux-only. A host install +The map is available on Linux, FreeBSD, macOS, and Windows; container and Kubernetes attribution is Linux-only. A host install needs nothing configured. Running the Agent in a container needs a few extra privileges, which [Application Dependency Mapping](/docs/network-performance-monitoring/topologies/application-dependency-mapping) lists. diff --git a/ingest/generated_map.yaml b/ingest/generated_map.yaml index 78468a93e..7b1e9b177 100644 --- a/ingest/generated_map.yaml +++ b/ingest/generated_map.yaml @@ -4281,7 +4281,7 @@ learn_status: Published learn_rel_path: Collecting Metrics/Collectors/Networking keywords: '[''network'', ''connections'', ''sockets'', ''tcp'', ''udp'', ''ports'', - ''freebsd'', ''macos'']' + ''freebsd'', ''macos'', ''windows'']' description: This plugin reads the system's socket tables to enumerate all active network connections, including TCP and UDP sockets in all states, for both IPv4 and IPv6. diff --git a/ingest/generated_sidebar_order.json b/ingest/generated_sidebar_order.json index a7b5f5079..75a89d2ec 100644 --- a/ingest/generated_sidebar_order.json +++ b/ingest/generated_sidebar_order.json @@ -2,7 +2,7 @@ "schema_version": 1, "source": "netdata/docs/.map/map.yaml", "source_sha256": "169ec6b8d7adc04fa72c3d8e22708e629fa0e03e30e80fbc9ca6eb09b6231d39", - "source_corpus_sha256": "d70b95867fb3d419a8afa60a571f326339881e5eb4887a64e999384d4b3b5ce6", + "source_corpus_sha256": "652a03f07481337b31f226a05c073e01087cbbfe8084afac96ef174631dc07dc", "order": [ { "parent_path": "Alerts & Notifications", @@ -1715,5 +1715,5 @@ "position": 170 } ], - "full_ingest_identity_sha256": "727b4b007e752663d5d6e5838c3196719e4b113c90368fd52c8719f060436d25" + "full_ingest_identity_sha256": "c7690b3088e5bfedef136fafce3d32a2c242c8d64a8ec7d0e167aba31de5e7fd" } diff --git a/ingest/generated_sidebar_order.json.sha256 b/ingest/generated_sidebar_order.json.sha256 index d658d4078..dec197aa8 100644 --- a/ingest/generated_sidebar_order.json.sha256 +++ b/ingest/generated_sidebar_order.json.sha256 @@ -1 +1 @@ -8b04645e325683377b36f6f5e9b167bd2d240492a39368c2d1d74f0cd042faac generated_sidebar_order.json +f9587765d2eea61ad4f064c10d85a36f40d487e9d46faaa5b0aa1b24dd1e8d4d generated_sidebar_order.json