diff --git a/docs/Collecting Metrics/Collectors/Collectors Page 2.mdx b/docs/Collecting Metrics/Collectors/Collectors Page 2.mdx
index bd2c6032c..0cbbd3ac2 100644
--- a/docs/Collecting Metrics/Collectors/Collectors Page 2.mdx
+++ b/docs/Collecting Metrics/Collectors/Collectors Page 2.mdx
@@ -266,6 +266,9 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
+
+
+
@@ -539,9 +542,6 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
-
-
-
diff --git a/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx b/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx
index 0ff528e19..18a424851 100644
--- a/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx
+++ b/docs/Collecting Metrics/Collectors/Collectors Page 3.mdx
@@ -17,6 +17,9 @@ description: "Browse Netdata integrations for Collecting Metrics / Collectors an
import { Grid, Box, GridPagination } from '@site/src/components/Grid_integrations';
+
+
+
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx
index 46b23a293..adb6f81a6 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/AWS ECS Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx
index 5dda79420..ef9990ed5 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx
index 119ad3698..8c393b2e1 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Docker Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx
index bcc925051..86e292ec5 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Hyper-V.mdx
@@ -132,17 +132,22 @@ Metrics:
|:------|:------------|:----------|:----|
| hyperv.vms_health | Virtual machines health status | ok, critical | vms |
| hyperv.root_partition_io_tlb_flush | Root partition flushes of I/O TLBs | gpa | flushes/s |
+| hyperv.root_partition_io_tlb_flush_cost | Root partition I/O TLB flush cost | cost | ns |
| hyperv.root_partition_virtual_tlb_flush_entries | Root partition flushes of the entire virtual TLB | flushes | flushes/s |
| hyperv.root_partition_virtual_tlb_pages | Root partition pages used by the virtual TLB | used | pages |
| hyperv.root_partition_address_space | Root partition address spaces in the virtual TLB | address_spaces | address spaces |
| hyperv.root_partition_attached_devices | Root partition attached devices | attached | devices |
| hyperv.root_partition_device_dma_errors | Root partition illegal DMA requests | illegal_dma | requests |
| hyperv.root_partition_device_interrupt_errors | Root partition illegal interrupt requests | illegal_interrupt | requests |
+| hyperv.root_partition_device_interrupt_mappings | Root partition device interrupt mappings | mappings | mappings |
| hyperv.root_partition_device_interrupt_throttle_events | Root partition throttled interrupts | throttling | events |
| hyperv.root_partition_deposited_pages | Root partition deposited pages | gpa | pages |
| hyperv.root_partition_device_space_pages | Root partition device space pages | 4K, 2M, 1G | pages |
| hyperv.root_partition_gpa_space_pages | Root partition GPA space pages | 4K, 2M, 1G | pages |
+| hyperv.root_partition_gpa_pages | Root partition GPA pages | gpa | pages |
| hyperv.root_partition_gpa_space_modifications | Root partition GPA space modifications | gpa | modifications/s |
+| hyperv.root_partition_recommended_virtual_tlb_size | Root partition recommended virtual TLB size | recommended | pages |
+| hyperv.root_partition_skipped_timer_ticks | Root partition skipped timer ticks | skipped | ticks |
### Per Virtual Machine
@@ -164,7 +169,11 @@ Metrics:
| hyperv.vm_memory_physical | VM assigned memory | assigned | bytes |
| hyperv.vm_memory_physical_guest_visible | VM guest visible memory | visible, available | bytes |
| hyperv.vm_memory_pressure_current | VM Memory Pressure | pressure | percentage |
+| hyperv.vm_memory_pressure_limits | VM memory pressure limits | max, min | percentage |
+| hyperv.vm_memory_operations | VM dynamic memory operations | add, remove | operations/s |
+| hyperv.vm_memory_added_removed | VM dynamic memory adjustments | added, removed | bytes/s |
| hyperv.vm_vid_physical_pages_allocated | VM physical pages allocated | allocated | pages |
+| hyperv.vm_vid_preferred_numa_node | VM preferred NUMA node index | index | node |
| hyperv.vm_vid_remote_physical_pages | VM physical pages not allocated from the preferred NUMA node | remote_physical | pages |
@@ -183,8 +192,13 @@ Metrics:
| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
| hyperv.vm_storage_device_bytes | VM storage device IO | read, write | bytes/s |
-| hyperv.vm_storage_device_operations | VM storage device IOPS" | read, write | operations/s |
+| hyperv.vm_storage_device_operations | VM storage device IOPS | read, write | operations/s |
| hyperv.vm_storage_device_errors | VM storage device errors | errors | errors/s |
+| hyperv.vm_storage_device_queue_length | VM storage device queue length | device, lower | requests |
+| hyperv.vm_storage_device_latency | VM storage device latency | device, lower | seconds |
+| hyperv.vm_storage_device_throughput | VM storage device throughput | throughput | transfers/s |
+| hyperv.vm_storage_device_normalized_throughput | VM storage device normalized throughput | normalized | transfers |
+| hyperv.vm_storage_device_io_quota_replenishment_rate | VM storage device IO quota replenishment rate | replenishment | quota |
### Per Virtual Machine Network Interface
@@ -224,7 +238,9 @@ Metrics:
| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
+| hyperv.vswitch_total_traffic | Virtual switch total traffic | total | kilobits/s |
| hyperv.vswitch_traffic | Virtual switch traffic | received, sent | kilobits/s |
+| hyperv.vswitch_total_packets | Virtual switch total packets | total | packets/s |
| hyperv.vswitch_packets | Virtual switch packets | received, sent | packets/s |
| hyperv.vswitch_directed_packets | Virtual switch directed packets | received, sent | packets/s |
| hyperv.vswitch_broadcast_packets | Virtual switch broadcast packets | received, sent | packets/s |
@@ -234,3 +250,5 @@ Metrics:
| hyperv.vswitch_packets_flooded | Virtual switch flooded packets | flooded | packets/s |
| hyperv.vswitch_learned_mac_addresses | Virtual switch learned MAC addresses | learned | mac addresses/s |
| hyperv.vswitch_purged_mac_addresses | Virtual switch purged MAC addresses | purged | mac addresses/s |
+| hyperv.vswitch_send_channel_moves | Virtual switch send channel moves | moves | moves/s |
+| hyperv.vswitch_vmq_moves | Virtual switch VMQ moves | moves | moves/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx
index 440b109cd..0d6c6c864 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/LXC Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx
index 610849bfd..b8ca30f1d 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Libvirt VMs and Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
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 e60201984..4239fd0b4 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Nomad Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx
index 38a435bff..4607f9c53 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/OpenStack VMs.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx
index bbedaccf5..85fc8924b 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Podman Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx
index a95b5f06e..cd6ab6093 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Proxmox VMs and Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx
index fc60361d5..6a14c3282 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/Virtual Machines.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx
index 057b757c8..5ea15ede5 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/containerd Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx
index c791dfe77..e20937672 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/oVirt VMs.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx b/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx
index aa82f45f9..e7fa1f4b9 100644
--- a/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx
+++ b/docs/Collecting Metrics/Collectors/Containers and VMs/systemd-nspawn Containers.mdx
@@ -157,6 +157,10 @@ Metrics:
| cgroup.dc_reference | Count file access | reference | files |
| cgroup.dc_not_cache | Files not present inside directory cache | slow | files |
| cgroup.dc_not_found | Files not found | miss | files |
+| cgroup.fd_open | Number of open files | calls | calls/s |
+| cgroup.fd_open_error | Fails to open files | calls | calls/s |
+| cgroup.fd_close | Files closed | calls | calls/s |
+| cgroup.fd_close_error | Fails to close files | calls | calls/s |
| cgroup.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| cgroup.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| cgroup.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
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 90f87668d..06b0828bf 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
@@ -63,6 +63,9 @@ import { Grid, Box, GridPagination } from '@site/src/components/Grid_integration
+
+
+
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Redfish.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Redfish.mdx
new file mode 100644
index 000000000..4d8452d7a
--- /dev/null
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Redfish.mdx
@@ -0,0 +1,898 @@
+---
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redfish/metadata.yaml"
+sidebar_label: "Redfish"
+learn_status: "Published"
+toc_max_heading_level: "6"
+toc_collapsible: "true"
+learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
+keywords: [redfish, bmc, out-of-band, hardware, server, idrac, ilo]
+description: "Monitor standard DMTF Redfish resources exposed by a baseboard management controller (BMC)."
+message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
+sidebar_position: "330"
+learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/redfish"
+slug: "/collecting-metrics/collectors/hardware-and-sensors/redfish"
+---
+
+
+# Redfish
+
+
+
+
+
+Plugin: go.d.plugin
+Module: redfish
+
+
+
+## Overview
+
+Monitor standard DMTF Redfish resources exposed by a baseboard management controller (BMC).
+
+The collector covers endpoint health, systems, chassis, managers, processors, memory, storage, drives, volumes,
+network adapters and ports, PCIe, power, cooling, environmental sensors, batteries, leak detection, firmware,
+and assemblies. Each supported component has its own readings and BMC-reported health/state charts.
+All systems from the endpoint appear on this job's configured virtual node, or on the collecting Agent.
+
+
+The collector authenticates to the Redfish ServiceRoot over HTTP or HTTPS, reads supported standard resource types
+and follows their same-origin links. It prefers session authentication in `auto` mode and falls back to HTTP Basic
+authentication when sessions are not advertised or are unsupported. Requests are bounded by the configured timeout
+and concurrency.
+If a session read returns HTTP 401, the collector reconnects once and repeats acquisition within the same
+collection cycle. A failed login, a second HTTP 401 or the collection deadline ends recovery.
+Other failures are retried on the next scheduled cycle.
+The only remote writes create and delete the collector's own sessions.
+
+For session and auto authentication, the configuration test identifies the endpoint without creating a session.
+Credentials are validated when collection starts. Session authentication requires an origin-relative `Links.Sessions`
+endpoint; use Basic authentication if the BMC does not provide one. BMC health states are reported directly; the collector does not
+infer alarms from numeric thresholds.
+
+Collection is best-effort: one unreadable resource does not stop independently reachable resources. Missing current
+values produce gaps rather than zeroes. Complete membership scans obsolete removed components; partial scans retain
+prior membership evidence without replaying stale readings.
+
+
+This collector is supported on all platforms.
+
+This collector supports collecting metrics from multiple instances of this integration, including remote instances.
+
+A read-only Redfish account is normally required. No local elevated privileges are needed.
+
+
+### Default Behavior
+
+#### Auto-Detection
+
+Endpoints are not automatically detected. Configure each endpoint through a static or DynCfg job.
+
+
+#### Limits
+
+Only supported standard Redfish properties are collected; vendor-specific OEM extensions are not included.
+The endpoint must finish responding within the configured request timeout and collection interval.
+
+
+#### Performance Impact
+
+The default interval is 60 seconds. BMCs are often slow and may serialize requests internally. The collector starts
+conservatively with three concurrent requests and uses the configured ceiling unless the ServiceRoot explicitly
+prohibits multiple HTTP requests, in which case it uses one. It does not probe or automatically change the job's
+cadence. The complete endpoint walk is also bounded by the configured `update_every`; when it cannot finish, the
+collector publishes completed data as partial and starts a fresh scan at the next interval.
+Use a larger `update_every`, narrower `collect` pattern, or lower concurrency if the BMC becomes overloaded.
+
+
+## Setup
+
+
+You can configure the **redfish** collector in two ways:
+
+| Method | Best for | How to |
+|-----------------------|------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
+| [**UI**](#via-ui) | Fast setup without editing files | Go to **Nodes → Configure this node → Collectors → Jobs**, search for **redfish**, then click **+** to add a job. |
+| [**File**](#via-file) | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit `go.d/redfish.conf` and add a job. |
+
+:::important
+
+UI configuration requires paid Netdata Cloud plan.
+
+:::
+
+
+### Prerequisites
+
+#### Enable and authorize Redfish
+
+Enable the BMC's Redfish service and create a least-privilege monitoring account that can read the desired systems,
+chassis, managers, sensors, and storage.
+
+
+#### Establish network and TLS trust
+
+Ensure the Netdata Agent can reach the BMC. Prefer HTTPS with a trusted BMC certificate or configure `tls_ca`.
+`tls_skip_verify` is available for legacy/self-signed deployments but permits machine-in-the-middle attacks.
+
+
+
+### Configuration
+
+#### Options
+
+The following options apply per Redfish endpoint job. Credentials and private-key fields support Netdata secret
+references such as `${env:VARIABLE}` and `${file:/path}`.
+
+
+
+Config options
+
+
+
+| Group | Option | Description | Default | Required |
+|:------|:-----|:------------|:--------|:---------:|
+| **Collection** | update_every | Data collection interval, in seconds. | 60 | no |
+| | autodetection_retry | How often to retry the initial connection when the job fails to start, in seconds. Zero disables retries. | 0 | no |
+| **Target** | url | URL of the Redfish service. Accepts the origin or the full ServiceRoot path, over HTTP or HTTPS. | | yes |
+| **Virtual Node** | vnode | Associates this job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes). | | no |
+| **Authentication** | auth_method | How to authenticate with the BMC. `auto` prefers a Redfish session and falls back to HTTP basic authentication. | auto | no |
+| | username | Username of the BMC account. Required unless the authentication method is `none`. | | no |
+| | password | Password of the BMC account. Required unless the authentication method is `none`. | | no |
+| **HTTP** | timeout | HTTP request timeout, in seconds. | 15 | no |
+| | max_concurrent_requests | Maximum number of requests sent to this BMC at the same time. Lower it for controllers that rate-limit. | 3 | no |
+| | proxy_url | Proxy to use for the BMC requests. Leave empty to use the proxy settings from the environment. | | no |
+| **TLS** | tls_ca | Path to a CA bundle file used to verify the BMC certificate. Leave empty to use the system trust store. | | no |
+| | tls_cert | Path to a client certificate file for mutual TLS. Requires a client key. | | no |
+| | tls_key | Path to the client key file for mutual TLS. Requires a client certificate. | | no |
+| | tls_skip_verify | Accept any certificate the BMC presents, including self-signed and expired ones. | no | no |
+| **Collection** | collect | Simple pattern selecting which component families to collect: base, compute, memory, thermal, power, storage, network, pcie, sensors, and firmware. Base is always collected. | * | no |
+
+
+
+
+
+#### via UI
+
+Configure the **redfish** collector from the Netdata web interface:
+
+1. Go to **Nodes**.
+2. Select the node **where you want the redfish data-collection job to run** and click the :gear: (**Configure this node**). That node will run the data collection.
+3. The **Collectors → Jobs** view opens by default.
+4. In the Search box, type _redfish_ (or scroll the list) to locate the **redfish** collector.
+5. Click the **+** next to the **redfish** collector to add a new job.
+6. Fill in the job fields, then click **Test** to verify the configuration and **Submit** to save.
+ - **Test** runs the job with the provided settings and shows whether data can be collected.
+ - If it fails, an error message appears with details (for example, connection refused, timeout, or command execution errors), so you can adjust and retest.
+
+
+#### via File
+
+The configuration file name for this integration is `go.d/redfish.conf`.
+
+The file format is YAML. Generally, the structure is:
+
+```yaml
+update_every: 1
+autodetection_retry: 0
+jobs:
+ - name: some_name1
+ - name: some_name2
+```
+You can edit the configuration file using the [`edit-config`](/docs/netdata-agent/configuration#edit-configuration-files) script from the
+Netdata [config directory](/docs/netdata-agent/configuration#locate-your-config-directory).
+
+```bash
+cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
+sudo ./edit-config go.d/redfish.conf
+```
+
+##### Examples
+
+###### Monitor a BMC
+
+Collect hardware readings and health from one Redfish endpoint.
+
+
+Config
+
+```yaml
+jobs:
+ - name: bmc
+ url: https://192.0.2.1/redfish/v1/
+ username: monitoring
+ password: ${file:/etc/netdata/redfish-password}
+ tls_ca: /etc/netdata/redfish-ca.pem
+
+```
+
+
+###### Attach to a configured virtual node
+
+Define a virtual node in vnodes.conf, then attach this endpoint job to it.
+
+
+Config
+
+```yaml
+jobs:
+ - name: remote-bmc
+ vnode: server-one
+ url: https://192.0.2.1/redfish/v1/
+ username: monitoring
+ password: ${file:/etc/netdata/redfish-password}
+
+```
+
+
+
+
+## Alerts
+
+
+The following alerts are available:
+
+| Alert name | On metric | Description |
+|:------------|:----------|:------------|
+| [ redfish_assembly_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.assembly.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Assembly Conditions |
+| [ redfish_assembly_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.assembly.health | Redfish $\{label:resource_name} reports a non-healthy state for Assembly Health |
+| [ redfish_assembly_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.assembly.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Assembly Health Rollup |
+| [ redfish_battery_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.battery.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Battery Conditions |
+| [ redfish_battery_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.battery.health | Redfish $\{label:resource_name} reports a non-healthy state for Battery Health |
+| [ redfish_battery_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.battery.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Battery Health Rollup |
+| [ redfish_chassis_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.chassis.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Chassis Conditions |
+| [ redfish_chassis_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.chassis.health | Redfish $\{label:resource_name} reports a non-healthy state for Chassis Health |
+| [ redfish_chassis_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.chassis.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Chassis Health Rollup |
+| [ redfish_chassis_intrusion_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.chassis.intrusion_state | Redfish $\{label:resource_name} reports a non-healthy state for Chassis Intrusion State |
+| [ redfish_collection_status ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.collection.status | Redfish endpoint $\{label:endpoint_job} reports a non-healthy state for Redfish Collection Status |
+| [ redfish_control_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.control.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Control Conditions |
+| [ redfish_control_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.control.health | Redfish $\{label:resource_name} reports a non-healthy state for Control Health |
+| [ redfish_control_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.control.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Control Health Rollup |
+| [ redfish_coolant_connector_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.coolant_connector.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Coolant Connector Conditions |
+| [ redfish_coolant_connector_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.coolant_connector.health | Redfish $\{label:resource_name} reports a non-healthy state for Coolant Connector Health |
+| [ redfish_coolant_connector_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.coolant_connector.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Coolant Connector Health Rollup |
+| [ redfish_drive_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.drive.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Drive Conditions |
+| [ redfish_drive_failure_predicted ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.drive.failure_predicted | Redfish $\{label:resource_name} reports a non-healthy state for Drive Failure Prediction |
+| [ redfish_drive_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.drive.health | Redfish $\{label:resource_name} reports a non-healthy state for Drive Health |
+| [ redfish_drive_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.drive.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Drive Health Rollup |
+| [ redfish_drive_status_indicator ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.drive.status_indicator | Redfish $\{label:resource_name} reports a non-healthy state for Drive Status Indicator |
+| [ redfish_ethernet_interface_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.ethernet_interface.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Ethernet Interface Conditions |
+| [ redfish_ethernet_interface_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.ethernet_interface.health | Redfish $\{label:resource_name} reports a non-healthy state for Ethernet Interface Health |
+| [ redfish_ethernet_interface_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.ethernet_interface.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Ethernet Interface Health Rollup |
+| [ redfish_fan_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.fan.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Fan Conditions |
+| [ redfish_fan_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.fan.health | Redfish $\{label:resource_name} reports a non-healthy state for Fan Health |
+| [ redfish_fan_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.fan.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Fan Health Rollup |
+| [ redfish_filter_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.filter.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Filter Conditions |
+| [ redfish_filter_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.filter.health | Redfish $\{label:resource_name} reports a non-healthy state for Filter Health |
+| [ redfish_filter_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.filter.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Filter Health Rollup |
+| [ redfish_firmware_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.firmware.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Firmware Conditions |
+| [ redfish_firmware_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.firmware.health | Redfish $\{label:resource_name} reports a non-healthy state for Firmware Health |
+| [ redfish_firmware_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.firmware.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Firmware Health Rollup |
+| [ redfish_heater_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.heater.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Heater Conditions |
+| [ redfish_heater_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.heater.health | Redfish $\{label:resource_name} reports a non-healthy state for Heater Health |
+| [ redfish_heater_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.heater.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Heater Health Rollup |
+| [ redfish_leak_detection_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detection.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detection Conditions |
+| [ redfish_leak_detection_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detection.health | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detection Health |
+| [ redfish_leak_detection_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detection.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detection Health Rollup |
+| [ redfish_leak_detector_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Conditions |
+| [ redfish_leak_detector_detector_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector.detector_state | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector State |
+| [ redfish_leak_detector_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector.health | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Health |
+| [ redfish_leak_detector_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Health Rollup |
+| [ redfish_leak_detector_group_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector_group.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Group Conditions |
+| [ redfish_leak_detector_group_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector_group.health | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Group Health |
+| [ redfish_leak_detector_group_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.leak_detector_group.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Leak Detector Group Health Rollup |
+| [ redfish_manager_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.manager.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Manager Conditions |
+| [ redfish_manager_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.manager.health | Redfish $\{label:resource_name} reports a non-healthy state for Manager Health |
+| [ redfish_manager_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.manager.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Manager Health Rollup |
+| [ redfish_memory_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.memory.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Memory Module Conditions |
+| [ redfish_memory_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.memory.health | Redfish $\{label:resource_name} reports a non-healthy state for Memory Module Health |
+| [ redfish_memory_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.memory.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Memory Module Health Rollup |
+| [ redfish_network_adapter_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_adapter.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Network Adapter Conditions |
+| [ redfish_network_adapter_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_adapter.health | Redfish $\{label:resource_name} reports a non-healthy state for Network Adapter Health |
+| [ redfish_network_adapter_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_adapter.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Network Adapter Health Rollup |
+| [ redfish_network_device_function_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_device_function.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Network Device Function Conditions |
+| [ redfish_network_device_function_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_device_function.health | Redfish $\{label:resource_name} reports a non-healthy state for Network Device Function Health |
+| [ redfish_network_device_function_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_device_function.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Network Device Function Health Rollup |
+| [ redfish_network_interface_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_interface.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Network Interface Conditions |
+| [ redfish_network_interface_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_interface.health | Redfish $\{label:resource_name} reports a non-healthy state for Network Interface Health |
+| [ redfish_network_interface_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_interface.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Network Interface Health Rollup |
+| [ redfish_network_port_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_port.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Network Port Conditions |
+| [ redfish_network_port_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_port.health | Redfish $\{label:resource_name} reports a non-healthy state for Network Port Health |
+| [ redfish_network_port_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.network_port.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Network Port Health Rollup |
+| [ redfish_pcie_device_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_device.conditions | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Device Conditions |
+| [ redfish_pcie_device_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_device.health | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Device Health |
+| [ redfish_pcie_device_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_device.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Device Health Rollup |
+| [ redfish_pcie_function_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_function.conditions | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Function Conditions |
+| [ redfish_pcie_function_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_function.health | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Function Health |
+| [ redfish_pcie_function_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pcie_function.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for PCIe Function Health Rollup |
+| [ redfish_port_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.port.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Port Conditions |
+| [ redfish_port_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.port.health | Redfish $\{label:resource_name} reports a non-healthy state for Port Health |
+| [ redfish_port_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.port.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Port Health Rollup |
+| [ redfish_power_subsystem_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_subsystem.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Power Subsystem Conditions |
+| [ redfish_power_subsystem_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_subsystem.health | Redfish $\{label:resource_name} reports a non-healthy state for Power Subsystem Health |
+| [ redfish_power_subsystem_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_subsystem.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Power Subsystem Health Rollup |
+| [ redfish_power_supply_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_supply.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Power Supply Conditions |
+| [ redfish_power_supply_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_supply.health | Redfish $\{label:resource_name} reports a non-healthy state for Power Supply Health |
+| [ redfish_power_supply_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_supply.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Power Supply Health Rollup |
+| [ redfish_power_supply_line_input_status ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.power_supply.line_input_status | Redfish $\{label:resource_name} reports a non-healthy state for Power Supply Line Input Status |
+| [ redfish_processor_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.processor.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Processor Conditions |
+| [ redfish_processor_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.processor.health | Redfish $\{label:resource_name} reports a non-healthy state for Processor Health |
+| [ redfish_processor_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.processor.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Processor Health Rollup |
+| [ redfish_processor_throttling_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.processor.throttling_state | Redfish $\{label:resource_name} reports a non-healthy state for Processor Throttling State |
+| [ redfish_pump_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pump.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Pump Conditions |
+| [ redfish_pump_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pump.health | Redfish $\{label:resource_name} reports a non-healthy state for Pump Health |
+| [ redfish_pump_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.pump.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Pump Health Rollup |
+| [ redfish_reading_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.reading.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Redfish Reading Alarm State |
+| [ redfish_redundancy_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.redundancy.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Redundancy Conditions |
+| [ redfish_redundancy_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.redundancy.health | Redfish $\{label:resource_name} reports a non-healthy state for Redundancy Health |
+| [ redfish_redundancy_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.redundancy.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Redundancy Health Rollup |
+| [ redfish_sensor_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.sensor.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Sensor Conditions |
+| [ redfish_sensor_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.sensor.health | Redfish $\{label:resource_name} reports a non-healthy state for Sensor Health |
+| [ redfish_sensor_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.sensor.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Sensor Health Rollup |
+| [ redfish_software_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.software.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Software Conditions |
+| [ redfish_software_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.software.health | Redfish $\{label:resource_name} reports a non-healthy state for Software Health |
+| [ redfish_software_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.software.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Software Health Rollup |
+| [ redfish_storage_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Storage Conditions |
+| [ redfish_storage_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage.health | Redfish $\{label:resource_name} reports a non-healthy state for Storage Health |
+| [ redfish_storage_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Storage Health Rollup |
+| [ redfish_storage_controller_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage_controller.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Storage Controller Conditions |
+| [ redfish_storage_controller_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage_controller.health | Redfish $\{label:resource_name} reports a non-healthy state for Storage Controller Health |
+| [ redfish_storage_controller_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.storage_controller.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Storage Controller Health Rollup |
+| [ redfish_system_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.system.conditions | Redfish $\{label:resource_name} reports a non-healthy state for System Conditions |
+| [ redfish_system_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.system.health | Redfish $\{label:resource_name} reports a non-healthy state for System Health |
+| [ redfish_system_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.system.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for System Health Rollup |
+| [ redfish_thermal_subsystem_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.thermal_subsystem.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Thermal Subsystem Conditions |
+| [ redfish_thermal_subsystem_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.thermal_subsystem.health | Redfish $\{label:resource_name} reports a non-healthy state for Thermal Subsystem Health |
+| [ redfish_thermal_subsystem_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.thermal_subsystem.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Thermal Subsystem Health Rollup |
+| [ redfish_volume_conditions ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.volume.conditions | Redfish $\{label:resource_name} reports a non-healthy state for Volume Conditions |
+| [ redfish_volume_health ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.volume.health | Redfish $\{label:resource_name} reports a non-healthy state for Volume Health |
+| [ redfish_volume_health_rollup ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.volume.health_rollup | Redfish $\{label:resource_name} reports a non-healthy state for Volume Health Rollup |
+| [ redfish_volume_write_cache_state ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | redfish.volume.write_cache_state | Redfish $\{label:resource_name} reports a non-healthy state for Volume Write Cache State |
+| [ redfish_system_hw_sensor_current_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.current.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Current Alarm State |
+| [ redfish_system_hw_sensor_energy_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.energy.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Energy Alarm State |
+| [ redfish_system_hw_sensor_fan_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.fan.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Rotational Speed Alarm State |
+| [ redfish_system_hw_sensor_humidity_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.humidity.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Relative Humidity Alarm State |
+| [ redfish_system_hw_sensor_power_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.power.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Power Alarm State |
+| [ redfish_system_hw_sensor_pressure_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.pressure.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Barometric Pressure Alarm State |
+| [ redfish_system_hw_sensor_temperature_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.temperature.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Temperature Alarm State |
+| [ redfish_system_hw_sensor_voltage_alarm ](https://github.com/netdata/netdata/blob/master/src/health/health.d/redfish.conf) | system.hw.sensor.voltage.alarm | Redfish $\{label:resource_name} reading $\{label:reading_key} reports a non-healthy state for Voltage Alarm State |
+
+
+
+## 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.
+
+Charts appear when the endpoint exposes their source properties. Resource health includes BMC-provided HealthRollup;
+common hardware readings use `system.hw.sensor.*` contexts with `_collect_module=redfish`.
+
+
+
+### Per endpoint
+
+Collection state for one configured Redfish endpoint job.
+
+Labels:
+
+| Label | Description |
+|:-----------|:----------------|
+| endpoint_job | Redfish job name. |
+| endpoint_key | Stable canonical endpoint key. |
+
+Metrics:
+
+| Metric | Description | Dimensions | Unit |
+|:------|:------------|:----------|:----|
+| redfish.collection.duration | Redfish Collection Duration | duration | seconds |
+| redfish.collection.failures | Redfish Collection Failures | auth, tls, transport, timeout, protocol, limit, internal | failures |
+| redfish.collection.http_requests | Redfish Collection HTTP Requests | started, redirected | requests/cycle |
+| redfish.collection.operations | Redfish Collection Operations | successful, failed | operations/cycle |
+| redfish.collection.resources | Redfish Collection Resources | discovered, readable, unreadable, unknown | resources |
+| redfish.collection.status | Redfish Collection Status | success, partial, unavailable | state |
+| redfish.collection.traffic | Redfish Collection Traffic | received | bytes/cycle |
+
+
+### Per resource
+
+Measurements and health states for each supported resource exposed by the endpoint.
+
+Labels:
+
+| Label | Description |
+|:-----------|:----------------|
+| resource_kind | Redfish resource kind. |
+| resource_name | Current resource display name. |
+| component_family | Hardware component family. |
+
+Metrics:
+
+| Metric | Description | Dimensions | Unit |
+|:------|:------------|:----------|:----|
+| redfish.chassis.acquisition_state | Chassis Acquisition State | readable, unreadable, unknown | state |
+| redfish.chassis.conditions | Chassis Conditions | ok, warning, critical, unknown | conditions |
+| redfish.chassis.health | Chassis Health | ok, warning, critical, unknown | state |
+| redfish.chassis.health_rollup | Chassis Health Rollup | ok, warning, critical, unknown | state |
+| redfish.chassis.intrusion_state | Chassis Intrusion State | normal, hardware_intrusion, tampering_detected, unknown | state |
+| redfish.chassis.power_state | Chassis Power State | on, off, powering_on, powering_off, paused, unknown | state |
+| redfish.chassis.state | Chassis State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.redundancy.acquisition_state | Redundancy Acquisition State | readable, unreadable, unknown | state |
+| redfish.redundancy.conditions | Redundancy Conditions | ok, warning, critical, unknown | conditions |
+| redfish.redundancy.enabled | Redundancy Enabled | disabled, enabled, unknown | state |
+| redfish.redundancy.health | Redundancy Health | ok, warning, critical, unknown | state |
+| redfish.redundancy.health_rollup | Redundancy Health Rollup | ok, warning, critical, unknown | state |
+| redfish.redundancy.members | Redundancy Members | active, total | members |
+| redfish.redundancy.mode | Redundancy Mode | failover, n_plus_m, sharing, sparing, not_redundant, unknown | state |
+| redfish.redundancy.state | Redundancy State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.sensor.acquisition_state | Sensor Acquisition State | readable, unreadable, unknown | state |
+| redfish.sensor.conditions | Sensor Conditions | ok, warning, critical, unknown | conditions |
+| redfish.sensor.health | Sensor Health | ok, warning, critical, unknown | state |
+| redfish.sensor.health_rollup | Sensor Health Rollup | ok, warning, critical, unknown | state |
+| redfish.sensor.state | Sensor State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.service.acquisition_state | Redfish Service Acquisition State | readable, unreadable, unknown | state |
+| redfish.system.memory_bandwidth | System Memory Bandwidth | bandwidth | percentage |
+| redfish.system.memory_summary_health | System Memory Summary Health | ok, warning, critical, unknown | state |
+| redfish.system.memory_summary_health_rollup | System Memory Summary Health Rollup | ok, warning, critical, unknown | state |
+| redfish.system.memory_summary_state | System Memory Summary State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.system.memory_utilization | System Memory Utilization | capacity | percentage |
+| redfish.system.processor_bandwidth | System Processor Bandwidth | bandwidth | percentage |
+| redfish.system.processor_summary_health | System Processor Summary Health | ok, warning, critical, unknown | state |
+| redfish.system.processor_summary_health_rollup | System Processor Summary Health Rollup | ok, warning, critical, unknown | state |
+| redfish.system.processor_summary_state | System Processor Summary State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.system.processor_utilization | System Processor Utilization | kernel, user | percentage |
+| redfish.system.acquisition_state | System Acquisition State | readable, unreadable, unknown | state |
+| redfish.system.conditions | System Conditions | ok, warning, critical, unknown | conditions |
+| redfish.system.health | System Health | ok, warning, critical, unknown | state |
+| redfish.system.health_rollup | System Health Rollup | ok, warning, critical, unknown | state |
+| redfish.system.power_state | System Power State | on, off, powering_on, powering_off, paused, unknown | state |
+| redfish.system.state | System State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.processor.pcie_error_rate | Processor PCIe Error Rate | bad_dllp, bad_tlp, correctable, fatal, flow_control_timeout, l0_to_recovery, nak_received, nak_sent, non_fatal, replay, replay_rollover, unsupported_request | errors/s |
+| redfish.processor.acquisition_state | Processor Acquisition State | readable, unreadable, unknown | state |
+| redfish.processor.bandwidth_utilization | Processor Bandwidth Utilization | bandwidth | percentage |
+| redfish.processor.clock_speed | Processor Clock Speed | operating | MHz |
+| redfish.processor.conditions | Processor Conditions | ok, warning, critical, unknown | conditions |
+| redfish.processor.error_rate | Processor Error Rate | correctable_core, correctable_other, uncorrectable_core, uncorrectable_other | errors/s |
+| redfish.processor.frequency_ratio | Processor Frequency Ratio | ratio | ratio |
+| redfish.processor.health | Processor Health | ok, warning, critical, unknown | state |
+| redfish.processor.health_rollup | Processor Health Rollup | ok, warning, critical, unknown | state |
+| redfish.processor.power_state | Processor Power State | on, off, powering_on, powering_off, paused, unknown | state |
+| redfish.processor.state | Processor State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.processor.thermal_headroom | Processor Thermal Headroom | headroom | Celsius |
+| redfish.processor.throttle_time | Processor Throttle Time | power_limit, thermal_limit | percentage |
+| redfish.processor.throttling_state | Processor Throttling State | clear, throttled, unknown | state |
+| redfish.processor.utilization | Processor Utilization | user, kernel | percentage |
+| redfish.processor_core.acquisition_state | Processor Core Acquisition State | readable, unreadable, unknown | state |
+| redfish.processor_core.cycle_rate | Processor Core Cycle Rate | io_stall, memory_stall, unhalted | cycles/s |
+| redfish.processor_core.error_rate | Processor Core Error Rate | correctable_core, correctable_other, uncorrectable_core, uncorrectable_other | errors/s |
+| redfish.processor_core.instructions_per_cycle | Processor Core Instructions per Cycle | instructions | instructions/cycle |
+| redfish.memory.acquisition_state | Memory Module Acquisition State | readable, unreadable, unknown | state |
+| redfish.memory.bandwidth_utilization | Memory Module Bandwidth Utilization | utilization | percentage |
+| redfish.memory.capacity_utilization | Memory Module Capacity Utilization | utilization | percentage |
+| redfish.memory.conditions | Memory Module Conditions | ok, warning, critical, unknown | conditions |
+| redfish.memory.dirty_shutdown_rate | Memory Module Dirty Shutdown Rate | shutdowns | shutdowns/s |
+| redfish.memory.error_rate | Memory Module Error Rate | correctable, indeterminate_correctable, uncorrectable, indeterminate_uncorrectable | errors/s |
+| redfish.memory.health | Memory Module Health | ok, warning, critical, unknown | state |
+| redfish.memory.health_flags | Memory Health Flags | data_loss, last_shutdown_failed, performance_degraded, address_parity, correctable_ecc, spare_block, temperature, uncorrectable_ecc | flags |
+| redfish.memory.health_rollup | Memory Module Health Rollup | ok, warning, critical, unknown | state |
+| redfish.memory.io | Memory Module I/O | read, written | bytes/s |
+| redfish.memory.media_health | Memory Module Media Health | life_left, spare_remaining | percentage |
+| redfish.memory.state | Memory Module State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.control.acquisition_state | Control Acquisition State | readable, unreadable, unknown | state |
+| redfish.control.conditions | Control Conditions | ok, warning, critical, unknown | conditions |
+| redfish.control.frequency | Control Frequency | sensor, setpoint, setpoint_error | hertz |
+| redfish.control.health | Control Health | ok, warning, critical, unknown | state |
+| redfish.control.health_rollup | Control Health Rollup | ok, warning, critical, unknown | state |
+| redfish.control.linear_acceleration | Control Linear Acceleration | sensor, setpoint, setpoint_error | meters/second2 |
+| redfish.control.linear_position | Control Linear Position | sensor, setpoint, setpoint_error | meters |
+| redfish.control.linear_velocity | Control Linear Velocity | sensor, setpoint, setpoint_error | meters/second |
+| redfish.control.liquid_flow | Control Liquid Flow | sensor, setpoint, setpoint_error | liters/minute |
+| redfish.control.percentage | Control Percentage | sensor, setpoint, setpoint_error | percentage |
+| redfish.control.power | Control Power | sensor, setpoint, setpoint_error | watts |
+| redfish.control.pressure | Control Pressure | sensor, setpoint, setpoint_error | pascals |
+| redfish.control.rotational_acceleration | Control Rotational Acceleration | sensor, setpoint, setpoint_error | radians/second2 |
+| redfish.control.rotational_position | Control Rotational Position | sensor, setpoint, setpoint_error | radians |
+| redfish.control.rotational_velocity | Control Rotational Velocity | sensor, setpoint, setpoint_error | radians/second |
+| redfish.control.state | Control State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.control.temperature | Control Temperature | sensor, setpoint, setpoint_error | Celsius |
+| redfish.control.valve_position | Control Valve Position | sensor, setpoint, setpoint_error | percentage |
+| redfish.coolant_connector.acquisition_state | Coolant Connector Acquisition State | readable, unreadable, unknown | state |
+| redfish.coolant_connector.conditions | Coolant Connector Conditions | ok, warning, critical, unknown | conditions |
+| redfish.coolant_connector.health | Coolant Connector Health | ok, warning, critical, unknown | state |
+| redfish.coolant_connector.health_rollup | Coolant Connector Health Rollup | ok, warning, critical, unknown | state |
+| redfish.coolant_connector.state | Coolant Connector State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.fan.acquisition_state | Fan Acquisition State | readable, unreadable, unknown | state |
+| redfish.fan.conditions | Fan Conditions | ok, warning, critical, unknown | conditions |
+| redfish.fan.health | Fan Health | ok, warning, critical, unknown | state |
+| redfish.fan.health_rollup | Fan Health Rollup | ok, warning, critical, unknown | state |
+| redfish.fan.state | Fan State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.filter.acquisition_state | Filter Acquisition State | readable, unreadable, unknown | state |
+| redfish.filter.conditions | Filter Conditions | ok, warning, critical, unknown | conditions |
+| redfish.filter.health | Filter Health | ok, warning, critical, unknown | state |
+| redfish.filter.health_rollup | Filter Health Rollup | ok, warning, critical, unknown | state |
+| redfish.filter.state | Filter State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.heater.acquisition_state | Heater Acquisition State | readable, unreadable, unknown | state |
+| redfish.heater.conditions | Heater Conditions | ok, warning, critical, unknown | conditions |
+| redfish.heater.health | Heater Health | ok, warning, critical, unknown | state |
+| redfish.heater.health_rollup | Heater Health Rollup | ok, warning, critical, unknown | state |
+| redfish.heater.heating_time | Heater Heating Time | pre_power_on, runtime | percentage |
+| redfish.heater.state | Heater State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.leak_detection.acquisition_state | Leak Detection Acquisition State | readable, unreadable, unknown | state |
+| redfish.leak_detection.conditions | Leak Detection Conditions | ok, warning, critical, unknown | conditions |
+| redfish.leak_detection.health | Leak Detection Health | ok, warning, critical, unknown | state |
+| redfish.leak_detection.health_rollup | Leak Detection Health Rollup | ok, warning, critical, unknown | state |
+| redfish.leak_detection.state | Leak Detection State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.leak_detector.acquisition_state | Leak Detector Acquisition State | readable, unreadable, unknown | state |
+| redfish.leak_detector.conditions | Leak Detector Conditions | ok, warning, critical, unknown | conditions |
+| redfish.leak_detector.detector_state | Leak Detector State | ok, warning, critical, unavailable, absent, unknown | state |
+| redfish.leak_detector.health | Leak Detector Health | ok, warning, critical, unknown | state |
+| redfish.leak_detector.health_rollup | Leak Detector Health Rollup | ok, warning, critical, unknown | state |
+| redfish.leak_detector.state | Leak Detector State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.leak_detector_group.acquisition_state | Leak Detector Group Acquisition State | readable, unreadable, unknown | state |
+| redfish.leak_detector_group.conditions | Leak Detector Group Conditions | ok, warning, critical, unknown | conditions |
+| redfish.leak_detector_group.health | Leak Detector Group Health | ok, warning, critical, unknown | state |
+| redfish.leak_detector_group.health_rollup | Leak Detector Group Health Rollup | ok, warning, critical, unknown | state |
+| redfish.leak_detector_group.state | Leak Detector Group State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.pump.acquisition_state | Pump Acquisition State | readable, unreadable, unknown | state |
+| redfish.pump.conditions | Pump Conditions | ok, warning, critical, unknown | conditions |
+| redfish.pump.health | Pump Health | ok, warning, critical, unknown | state |
+| redfish.pump.health_rollup | Pump Health Rollup | ok, warning, critical, unknown | state |
+| redfish.pump.state | Pump State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.thermal_subsystem.acquisition_state | Thermal Subsystem Acquisition State | readable, unreadable, unknown | state |
+| redfish.thermal_subsystem.conditions | Thermal Subsystem Conditions | ok, warning, critical, unknown | conditions |
+| redfish.thermal_subsystem.health | Thermal Subsystem Health | ok, warning, critical, unknown | state |
+| redfish.thermal_subsystem.health_rollup | Thermal Subsystem Health Rollup | ok, warning, critical, unknown | state |
+| redfish.thermal_subsystem.state | Thermal Subsystem State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.battery.acquisition_state | Battery Acquisition State | readable, unreadable, unknown | state |
+| redfish.battery.c_rate | Battery C-rate | rate | ratio |
+| redfish.battery.charge_capacity | Battery Charge Capacity | actual | ampere-hours |
+| redfish.battery.charge_state | Battery Charge State | idle, charging, discharging, unknown | state |
+| redfish.battery.conditions | Battery Conditions | ok, warning, critical, unknown | conditions |
+| redfish.battery.e_rate | Battery E-rate | rate | ratio |
+| redfish.battery.energy_capacity | Battery Energy Capacity | actual | watt-hours |
+| redfish.battery.health | Battery Health | ok, warning, critical, unknown | state |
+| redfish.battery.health_rollup | Battery Health Rollup | ok, warning, critical, unknown | state |
+| redfish.battery.metrics_health | Battery Metrics Health | ok, warning, critical, unknown | state |
+| redfish.battery.metrics_health_rollup | Battery Metrics Health Rollup | ok, warning, critical, unknown | state |
+| redfish.battery.metrics_state | Battery Metrics State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.battery.state | Battery State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.power_subsystem.acquisition_state | Power Subsystem Acquisition State | readable, unreadable, unknown | state |
+| redfish.power_subsystem.capacity | Power Subsystem Capacity | allocated, requested | watts |
+| redfish.power_subsystem.conditions | Power Subsystem Conditions | ok, warning, critical, unknown | conditions |
+| redfish.power_subsystem.health | Power Subsystem Health | ok, warning, critical, unknown | state |
+| redfish.power_subsystem.health_rollup | Power Subsystem Health Rollup | ok, warning, critical, unknown | state |
+| redfish.power_subsystem.state | Power Subsystem State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.power_supply.acquisition_state | Power Supply Acquisition State | readable, unreadable, unknown | state |
+| redfish.power_supply.conditions | Power Supply Conditions | ok, warning, critical, unknown | conditions |
+| redfish.power_supply.health | Power Supply Health | ok, warning, critical, unknown | state |
+| redfish.power_supply.health_rollup | Power Supply Health Rollup | ok, warning, critical, unknown | state |
+| redfish.power_supply.line_input_status | Power Supply Line Input Status | normal, loss_of_input, out_of_range, unknown | state |
+| redfish.power_supply.metrics_health | Power Supply Metrics Health | ok, warning, critical, unknown | state |
+| redfish.power_supply.metrics_health_rollup | Power Supply Metrics Health Rollup | ok, warning, critical, unknown | state |
+| redfish.power_supply.metrics_state | Power Supply Metrics State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.power_supply.state | Power Supply State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.drive.acquisition_state | Drive Acquisition State | readable, unreadable, unknown | state |
+| redfish.drive.conditions | Drive Conditions | ok, warning, critical, unknown | conditions |
+| redfish.drive.error_rate | Drive Error Rate | correctable_read, correctable_write, uncorrectable_read, uncorrectable_write, bad_blocks | errors/s |
+| redfish.drive.failure_predicted | Drive Failure Prediction | clear, predicted, unknown | state |
+| redfish.drive.health | Drive Health | ok, warning, critical, unknown | state |
+| redfish.drive.health_rollup | Drive Health Rollup | ok, warning, critical, unknown | state |
+| redfish.drive.io | Drive I/O | read, written | bytes/s |
+| redfish.drive.link_speed | Drive Link Speed | negotiated | bit/s |
+| redfish.drive.media_life | Drive Media Life | remaining | percentage |
+| redfish.drive.nvme.busy_time | Drive NVMe Busy Time | busy | percentage |
+| redfish.drive.nvme.commands | Drive NVMe Commands | read, written | commands/s |
+| redfish.drive.nvme.critical_warnings | Drive NVMe Critical Warnings | media_read_only, subsystem_degraded, pmr_unreliable, power_backup_failed, spare_capacity_worn_out, namespaces_read_only, reliability_degraded, spare_capacity_under_threshold | flags |
+| redfish.drive.nvme.error_rate | Drive NVMe Error Rate | media_integrity, error_log_entries | errors/s |
+| redfish.drive.nvme.event_rate | Drive NVMe Event Rate | unsafe_shutdowns, power_cycles | events/s |
+| redfish.drive.nvme.io | Drive NVMe I/O | read, written | bytes/s |
+| redfish.drive.nvme.spare | Drive NVMe Spare | available | percentage |
+| redfish.drive.nvme.temperature | Drive NVMe Temperature | composite | Celsius |
+| redfish.drive.nvme.thermal_time | Drive NVMe Thermal Time | warning, critical, management_1, management_2 | percentage |
+| redfish.drive.nvme.thermal_transition_rate | Drive NVMe Thermal Transition Rate | management_1, management_2 | transitions/s |
+| redfish.drive.nvme.wear | Drive NVMe Wear | used | percentage |
+| redfish.drive.queue_depth | Drive Queue Depth | commands | commands |
+| redfish.drive.state | Drive State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.drive.status_indicator | Drive Status Indicator | ok, fail, rebuild, predictive_failure_analysis, hotspare, in_a_critical_array, in_a_failed_array, unknown | state |
+| redfish.storage.acquisition_state | Storage Acquisition State | readable, unreadable, unknown | state |
+| redfish.storage.conditions | Storage Conditions | ok, warning, critical, unknown | conditions |
+| redfish.storage.health | Storage Health | ok, warning, critical, unknown | state |
+| redfish.storage.health_rollup | Storage Health Rollup | ok, warning, critical, unknown | state |
+| redfish.storage.io | Storage I/O | read, written | bytes/s |
+| redfish.storage.iops | Storage IOPS | read, written, read_hit, write_hit, non_io | requests/s |
+| redfish.storage.state | Storage State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.storage.state_change_rate | Storage State Change Rate | changes | changes/s |
+| redfish.storage_controller.acquisition_state | Storage Controller Acquisition State | readable, unreadable, unknown | state |
+| redfish.storage_controller.cache_health | Storage Controller Cache Health | ok, warning, critical, unknown | state |
+| redfish.storage_controller.cache_health_rollup | Storage Controller Cache Health Rollup | ok, warning, critical, unknown | state |
+| redfish.storage_controller.cache_state | Storage Controller Cache State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.storage_controller.conditions | Storage Controller Conditions | ok, warning, critical, unknown | conditions |
+| redfish.storage_controller.error_rate | Storage Controller Error Rate | correctable_ecc, correctable_parity, uncorrectable_ecc, uncorrectable_parity | errors/s |
+| redfish.storage_controller.health | Storage Controller Health | ok, warning, critical, unknown | state |
+| redfish.storage_controller.health_rollup | Storage Controller Health Rollup | ok, warning, critical, unknown | state |
+| redfish.storage_controller.nvme.busy_time | Storage Controller NVMe Busy Time | busy | percentage |
+| redfish.storage_controller.nvme.commands | Storage Controller NVMe Commands | read, written | commands/s |
+| redfish.storage_controller.nvme.critical_warnings | Storage Controller NVMe Critical Warnings | media_read_only, subsystem_degraded, pmr_unreliable, power_backup_failed, spare_capacity_worn_out, namespaces_read_only, reliability_degraded, spare_capacity_under_threshold | flags |
+| redfish.storage_controller.nvme.error_rate | Storage Controller NVMe Error Rate | media_integrity, error_log_entries | errors/s |
+| redfish.storage_controller.nvme.event_rate | Storage Controller NVMe Event Rate | unsafe_shutdowns, power_cycles | events/s |
+| redfish.storage_controller.nvme.io | Storage Controller NVMe I/O | read, written | bytes/s |
+| redfish.storage_controller.nvme.spare | Storage Controller NVMe Spare | available | percentage |
+| redfish.storage_controller.nvme.temperature | Storage Controller NVMe Temperature | composite | Celsius |
+| redfish.storage_controller.nvme.thermal_time | Storage Controller NVMe Thermal Time | warning, critical, management_1, management_2 | percentage |
+| redfish.storage_controller.nvme.thermal_transition_rate | Storage Controller NVMe Thermal Transition Rate | management_1, management_2 | transitions/s |
+| redfish.storage_controller.nvme.wear | Storage Controller NVMe Wear | used | percentage |
+| redfish.storage_controller.pcie_lanes | Storage Controller PCIe Lanes | active | lanes |
+| redfish.storage_controller.state | Storage Controller State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.storage_controller.state_change_rate | Storage Controller State Change Rate | changes | changes/s |
+| redfish.volume.acquisition_state | Volume Acquisition State | readable, unreadable, unknown | state |
+| redfish.volume.conditions | Volume Conditions | ok, warning, critical, unknown | conditions |
+| redfish.volume.error_rate | Volume Error Rate | correctable_read, correctable_write, uncorrectable_read, uncorrectable_write, consistency_check, rebuild | errors/s |
+| redfish.volume.event_rate | Volume Event Rate | consistency_checks, state_changes | events/s |
+| redfish.volume.health | Volume Health | ok, warning, critical, unknown | state |
+| redfish.volume.health_rollup | Volume Health Rollup | ok, warning, critical, unknown | state |
+| redfish.volume.io | Volume I/O | read, written | bytes/s |
+| redfish.volume.io_time | Volume I/O Time | read, written, non_io | percentage |
+| redfish.volume.iops | Volume IOPS | read, written, read_hit, write_hit, non_io | requests/s |
+| redfish.volume.remaining_capacity | Volume Remaining Capacity | remaining | percentage |
+| redfish.volume.space_savings | Volume Space Savings | compression, deduplication, thin_provisioning | bytes |
+| redfish.volume.state | Volume State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.volume.write_cache_state | Volume Write Cache State | unprotected, protected, degraded, unknown | state |
+| redfish.ethernet_interface.acquisition_state | Ethernet Interface Acquisition State | readable, unreadable, unknown | state |
+| redfish.ethernet_interface.conditions | Ethernet Interface Conditions | ok, warning, critical, unknown | conditions |
+| redfish.ethernet_interface.health | Ethernet Interface Health | ok, warning, critical, unknown | state |
+| redfish.ethernet_interface.health_rollup | Ethernet Interface Health Rollup | ok, warning, critical, unknown | state |
+| redfish.ethernet_interface.link_speed | Ethernet Interface Link Speed | speed | bit/s |
+| redfish.ethernet_interface.link_status | Ethernet Interface Link Status | link_up, no_link, link_down, unknown | state |
+| redfish.ethernet_interface.state | Ethernet Interface State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.network_adapter.acquisition_state | Network Adapter Acquisition State | readable, unreadable, unknown | state |
+| redfish.network_adapter.conditions | Network Adapter Conditions | ok, warning, critical, unknown | conditions |
+| redfish.network_adapter.cpu_utilization | Network Adapter CPU Utilization | cpu | percentage |
+| redfish.network_adapter.frames | Network Adapter Frame Rate | received_unicast, received_multicast, sent_unicast, sent_multicast | frames/s |
+| redfish.network_adapter.health | Network Adapter Health | ok, warning, critical, unknown | state |
+| redfish.network_adapter.health_rollup | Network Adapter Health Rollup | ok, warning, critical, unknown | state |
+| redfish.network_adapter.host_bus_utilization | Network Adapter Host Bus Utilization | received, sent | percentage |
+| redfish.network_adapter.ncsi_frames | Network Adapter NCSI Frame Rate | received, sent | frames/s |
+| redfish.network_adapter.ncsi_traffic | Network Adapter NCSI Traffic | received, sent | bytes/s |
+| redfish.network_adapter.state | Network Adapter State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.network_adapter.traffic | Network Adapter Traffic | received, sent | bytes/s |
+| redfish.network_device_function.acquisition_state | Network Device Function Acquisition State | readable, unreadable, unknown | state |
+| redfish.network_device_function.conditions | Network Device Function Conditions | ok, warning, critical, unknown | conditions |
+| redfish.network_device_function.frames | Network Device Function Frame Rate | received, sent, received_unicast, sent_unicast, received_multicast, sent_multicast | frames/s |
+| redfish.network_device_function.health | Network Device Function Health | ok, warning, critical, unknown | state |
+| redfish.network_device_function.health_rollup | Network Device Function Health Rollup | ok, warning, critical, unknown | state |
+| redfish.network_device_function.queue_depth | Network Device Function Queue Depth | received, sent | percentage |
+| redfish.network_device_function.queue_empty_state | Network Device Function Empty Queue State | received, sent | flags |
+| redfish.network_device_function.queue_full | Network Device Function Full Queues | received, sent | queues |
+| redfish.network_device_function.state | Network Device Function State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.network_device_function.traffic | Network Device Function Traffic | received, sent | bytes/s |
+| redfish.network_interface.acquisition_state | Network Interface Acquisition State | readable, unreadable, unknown | state |
+| redfish.network_interface.conditions | Network Interface Conditions | ok, warning, critical, unknown | conditions |
+| redfish.network_interface.health | Network Interface Health | ok, warning, critical, unknown | state |
+| redfish.network_interface.health_rollup | Network Interface Health Rollup | ok, warning, critical, unknown | state |
+| redfish.network_interface.state | Network Interface State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.network_port.acquisition_state | Network Port Acquisition State | readable, unreadable, unknown | state |
+| redfish.network_port.conditions | Network Port Conditions | ok, warning, critical, unknown | conditions |
+| redfish.network_port.health | Network Port Health | ok, warning, critical, unknown | state |
+| redfish.network_port.health_rollup | Network Port Health Rollup | ok, warning, critical, unknown | state |
+| redfish.network_port.link_speed | Network Port Link Speed | speed | bit/s |
+| redfish.network_port.link_status | Network Port Link Status | down, up, starting, training, unknown | state |
+| redfish.network_port.signal_detected | Network Port Signal Detected | clear, detected, unknown | state |
+| redfish.network_port.state | Network Port State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.pcie_device.acquisition_state | PCIe Device Acquisition State | readable, unreadable, unknown | state |
+| redfish.pcie_device.conditions | PCIe Device Conditions | ok, warning, critical, unknown | conditions |
+| redfish.pcie_device.health | PCIe Device Health | ok, warning, critical, unknown | state |
+| redfish.pcie_device.health_rollup | PCIe Device Health Rollup | ok, warning, critical, unknown | state |
+| redfish.pcie_device.link_width | PCIe Device Link Width | active | lanes |
+| redfish.pcie_device.state | PCIe Device State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.pcie_function.acquisition_state | PCIe Function Acquisition State | readable, unreadable, unknown | state |
+| redfish.pcie_function.conditions | PCIe Function Conditions | ok, warning, critical, unknown | conditions |
+| redfish.pcie_function.health | PCIe Function Health | ok, warning, critical, unknown | state |
+| redfish.pcie_function.health_rollup | PCIe Function Health Rollup | ok, warning, critical, unknown | state |
+| redfish.pcie_function.state | PCIe Function State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.port.acquisition_state | Port Acquisition State | readable, unreadable, unknown | state |
+| redfish.port.conditions | Port Conditions | ok, warning, critical, unknown | conditions |
+| redfish.port.error_rate | Port Error Rate | received, sent | errors/s |
+| redfish.port.frames | Port Frame Rate | received, sent, received_unicast, sent_unicast, received_multicast, sent_multicast, received_broadcast, sent_broadcast | frames/s |
+| redfish.port.health | Port Health | ok, warning, critical, unknown | state |
+| redfish.port.health_rollup | Port Health Rollup | ok, warning, critical, unknown | state |
+| redfish.port.link_speed | Port Link Speed | speed | bit/s |
+| redfish.port.link_state | Port Link State | enabled, disabled, unknown | state |
+| redfish.port.link_status | Port Link Status | link_up, starting, training, link_down, no_link, unknown | state |
+| redfish.port.link_width | Port Link Width | active | lanes |
+| redfish.port.network_error_rate | Port Network Error Rate | received_discards, sent_discards, received_fcs, received_false_carrier, received_alignment, received_oversize, received_undersize, sent_excessive_collisions, sent_late_collisions, sent_multiple_collisions, sent_single_collisions | errors/s |
+| redfish.port.pcie_drop_rate | Port PCIe Drop Rate | completion_credit, non_posted_credit, tag_unavailable | drops/s |
+| redfish.port.pcie_error_rate | Port PCIe Error Rate | bad_dllp, bad_tlp, correctable, fatal, flow_control_timeout, l0_to_recovery, nak_received, nak_sent, non_fatal, replay, replay_rollover, unsupported_request | errors/s |
+| redfish.port.pcie_tlp_rate | Port PCIe TLP Rate | completion, read, write | packets/s |
+| redfish.port.pcie_traffic | Port PCIe Traffic | completion, read, write | bytes/s |
+| redfish.port.rdma_error_rate | Port RDMA Error Rate | protection, protocol | errors/s |
+| redfish.port.rdma_traffic | Port RDMA Traffic | received, sent | bytes/s |
+| redfish.port.signal_detected | Port Signal Detected | clear, detected, unknown | state |
+| redfish.port.state | Port State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.port.traffic | Port Traffic | received, sent | bytes/s |
+| redfish.assembly.acquisition_state | Assembly Acquisition State | readable, unreadable, unknown | state |
+| redfish.assembly.conditions | Assembly Conditions | ok, warning, critical, unknown | conditions |
+| redfish.assembly.health | Assembly Health | ok, warning, critical, unknown | state |
+| redfish.assembly.health_rollup | Assembly Health Rollup | ok, warning, critical, unknown | state |
+| redfish.assembly.state | Assembly State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.firmware.acquisition_state | Firmware Acquisition State | readable, unreadable, unknown | state |
+| redfish.firmware.conditions | Firmware Conditions | ok, warning, critical, unknown | conditions |
+| redfish.firmware.health | Firmware Health | ok, warning, critical, unknown | state |
+| redfish.firmware.health_rollup | Firmware Health Rollup | ok, warning, critical, unknown | state |
+| redfish.firmware.state | Firmware State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.manager.acquisition_state | Manager Acquisition State | readable, unreadable, unknown | state |
+| redfish.manager.clock_offset | Manager Clock Offset | offset | seconds |
+| redfish.manager.conditions | Manager Conditions | ok, warning, critical, unknown | conditions |
+| redfish.manager.health | Manager Health | ok, warning, critical, unknown | state |
+| redfish.manager.health_rollup | Manager Health Rollup | ok, warning, critical, unknown | state |
+| redfish.manager.power_state | Manager Power State | on, off, powering_on, powering_off, paused, unknown | state |
+| redfish.manager.state | Manager State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+| redfish.software.acquisition_state | Software Acquisition State | readable, unreadable, unknown | state |
+| redfish.software.conditions | Software Conditions | ok, warning, critical, unknown | conditions |
+| redfish.software.health | Software Health | ok, warning, critical, unknown | state |
+| redfish.software.health_rollup | Software Health Rollup | ok, warning, critical, unknown | state |
+| redfish.software.state | Software State | enabled, disabled, standby_offline, standby_spare, in_test, starting, absent, unavailable_offline, deferring, quiesced, updating, qualified, degraded, unknown | state |
+
+
+### Per reading
+
+One physical sensor reading or source-provided measurement excerpt.
+
+Labels:
+
+| Label | Description |
+|:-----------|:----------------|
+| resource_name | Resource supplying the reading. |
+| reading_key | Stable reading identity within the endpoint. |
+| reading_basis | Zero, delta, or headroom measurement basis. |
+| reading_role | Current, average, minimum, or peak reading. |
+
+Metrics:
+
+| Metric | Description | Dimensions | Unit |
+|:------|:------------|:----------|:----|
+| redfish.reading.percentage | Percentage Readings | value | percentage |
+| redfish.reading.alarm | Redfish Reading Source Health State | clear, warning, critical | state |
+| redfish.reading.absolute_humidity | Absolute Humidity Readings | value | grams/cubic-meter |
+| redfish.reading.air_flow | Air Flow Readings | value | cubic-meters/minute |
+| redfish.reading.altitude | Altitude Readings | value | meters |
+| redfish.reading.barometric_pressure | Barometric Pressure Readings | value | pascals |
+| system.hw.sensor.pressure.alarm | Barometric Pressure Source Health State | clear, warning, critical | state |
+| system.hw.sensor.pressure.input | Barometric Pressure Reading (Zero basis) | input | pascals |
+| redfish.reading.heat | Heat Readings | value | watts |
+| redfish.reading.humidity | Relative Humidity Readings | value | percentage |
+| system.hw.sensor.humidity.alarm | Relative Humidity Source Health State | clear, warning, critical | state |
+| system.hw.sensor.humidity.input | Relative Humidity Reading (Zero basis) | input | percentage |
+| redfish.reading.linear_acceleration | Linear Acceleration Readings | value | meters/second2 |
+| redfish.reading.linear_position | Linear Position Readings | value | meters |
+| redfish.reading.linear_velocity | Linear Velocity Readings | value | meters/second |
+| redfish.reading.liquid_flow | Liquid Flow Readings | value | liters/minute |
+| redfish.reading.liquid_level | Liquid Level Readings | value | meters |
+| redfish.reading.pressure | Pressure Readings | value | pascals |
+| redfish.reading.rotational_acceleration | Rotational Acceleration Readings | value | radians/second2 |
+| redfish.reading.rotational_position | Rotational Position Readings | value | radians |
+| redfish.reading.rotational_speed | Rotational Speed Readings | value | RPM |
+| system.hw.sensor.fan.alarm | Rotational Speed Source Health State | clear, warning, critical | state |
+| system.hw.sensor.fan.input | Rotational Speed Reading (Zero basis) | input | RPM |
+| redfish.reading.rotational_velocity | Rotational Velocity Readings | value | radians/second |
+| redfish.reading.temperature | Temperature Readings | value | Celsius |
+| system.hw.sensor.temperature.alarm | Temperature Source Health State | clear, warning, critical | state |
+| system.hw.sensor.temperature.input | Temperature Reading (Zero basis) | input | Celsius |
+| redfish.reading.valve_position | Valve Position Readings | value | percentage |
+| redfish.reading.apparent_energy | Apparent Energy Readings | value | joule-equivalent |
+| redfish.reading.apparent_power | Apparent Power Readings | value | volt-amperes |
+| redfish.reading.charge | Charge Readings | value | ampere-hours |
+| redfish.reading.crest_factor | Crest Factor Readings | value | ratio |
+| redfish.reading.current | Current Readings | value | amperes |
+| system.hw.sensor.current.average | Current Average (Zero basis) | average | amperes |
+| system.hw.sensor.current.alarm | Current Source Health State | clear, warning, critical | state |
+| system.hw.sensor.current.input | Current Reading (Zero basis) | input | amperes |
+| redfish.reading.energy | Energy Readings | value | joules |
+| system.hw.sensor.energy.alarm | Energy Source Health State | clear, warning, critical | state |
+| system.hw.sensor.energy.input | Energy Reading (Zero basis) | input | joules |
+| redfish.reading.frequency | Frequency Readings | value | hertz |
+| redfish.reading.harmonic_distortion | Harmonic Distortion Readings | value | percentage |
+| redfish.reading.phase_angle | Phase Angle Readings | value | degrees |
+| redfish.reading.power | Power Readings | value | watts |
+| system.hw.sensor.power.average | Power Average (Zero basis) | average | watts |
+| system.hw.sensor.power.alarm | Power Source Health State | clear, warning, critical | state |
+| system.hw.sensor.power.input | Power Reading (Zero basis) | input | watts |
+| redfish.reading.power_factor | Power Factor Readings | value | ratio |
+| redfish.reading.reactive_energy | Reactive Energy Readings | value | joule-equivalent |
+| redfish.reading.reactive_power | Reactive Power Readings | value | vars |
+| redfish.reading.stored_energy | Stored Energy Readings | value | watt-hours |
+| redfish.reading.voltage | Voltage Readings | value | volts |
+| system.hw.sensor.voltage.average | Voltage Average (Zero basis) | average | volts |
+| system.hw.sensor.voltage.alarm | Voltage Source Health State | clear, warning, critical | state |
+| system.hw.sensor.voltage.input | Voltage Reading (Zero basis) | input | volts |
+
+
+
+## Troubleshooting
+
+### Diagnostics
+
+#### Debug Mode
+
+**Important**: Debug mode is not supported for data collection jobs created via the UI using the Dyncfg feature.
+
+To troubleshoot issues with the `redfish` collector, run the `go.d.plugin` with the debug option enabled. The output
+should give you clues as to why the collector isn't working.
+
+- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
+ your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
+
+ ```bash
+ cd /usr/libexec/netdata/plugins.d/
+ ```
+
+- Switch to the `netdata` user.
+
+ ```bash
+ sudo -u netdata -s
+ ```
+
+- Run the `go.d.plugin` to debug the collector:
+
+ ```bash
+ ./go.d.plugin -d -m redfish
+ ```
+
+ To debug a specific job:
+
+ ```bash
+ ./go.d.plugin -d -m redfish -j jobName
+ ```
+
+#### Getting Logs
+
+If you're encountering problems with the `redfish` collector, follow these steps to retrieve logs and identify potential issues:
+
+- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
+- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
+
+##### System with systemd
+
+Use the following command to view logs generated since the last Netdata service restart:
+
+```bash
+journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep redfish
+```
+
+##### System without systemd
+
+Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
+
+```bash
+grep redfish /var/log/netdata/collector.log
+```
+
+**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
+
+##### Docker Container
+
+If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
+
+```bash
+docker logs netdata 2>&1 | grep redfish
+```
+
+### Other Problems
+
+#### The endpoint check fails
+
+Verify the ServiceRoot URL, reachability, authentication mode, proxy policy, and TLS trust.
+With session or auto authentication, a successful configuration test does not validate credentials; check
+the username, password, and account permissions if collection then fails.
+`tls_skip_verify: true` can diagnose certificate problems but is not a secure permanent fix.
+
+
+#### Collection takes close to or longer than the interval
+
+BMCs can be slow and frequently serialize work. Lower `max_concurrent_requests`, increase `timeout` only when
+responses genuinely need it, increase `update_every`, or narrow `collect`.
+
+
+#### A standard resource is missing or incomplete
+
+Compatibility tests cover standard schema types and sanitized or synthetic legacy and modern payloads.
+They do not establish support for every vendor/model/firmware combination. Inspect collection diagnostics
+and report the affected vendor, model, firmware, and a sanitized payload when a supported reading is missing.
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx
index 1c011aca1..915a9811a 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/SMA Inverters.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor SMA solar inverter metrics for efficient solar energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "380"
+sidebar_position: "390"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/sma-inverters"
slug: "/collecting-metrics/collectors/hardware-and-sensors/sma-inverters"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx
index 50f281fbf..914117e1b 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Salicru EQX inverter.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Keep tabs on Salicru EQX solar inverter metrics for efficient solar energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "330"
+sidebar_position: "340"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/salicru-eqx-inverter"
slug: "/collecting-metrics/collectors/hardware-and-sensors/salicru-eqx-inverter"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx
index d6287f3dc..c9f9b5310 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sense Energy.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Keep tabs on Sense Energy smart meter metrics for efficient energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "340"
+sidebar_position: "350"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/sense-energy"
slug: "/collecting-metrics/collectors/hardware-and-sensors/sense-energy"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sensors.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sensors.mdx
index e443ba03b..5bf15269e 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sensors.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sensors.mdx
@@ -8,7 +8,7 @@ learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
keywords: [Sensors, Windows]
description: "This collector monitors sensors on Windows systems."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "350"
+sidebar_position: "360"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/sensors"
slug: "/collecting-metrics/collectors/hardware-and-sensors/sensors"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx
index 7162c14ef..d5d08cd6d 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Shelly humidity sensor.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Shelly smart home device metrics for efficient home automation and energy management."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "360"
+sidebar_position: "370"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/shelly-humidity-sensor"
slug: "/collecting-metrics/collectors/hardware-and-sensors/shelly-humidity-sensor"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx
index b2acd4c18..df41e9771 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Siemens S7 PLC.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Siemens S7 Programmable Logic Controller (PLC) metrics for efficient industrial automation and control."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "370"
+sidebar_position: "380"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/siemens-s7-plc"
slug: "/collecting-metrics/collectors/hardware-and-sensors/siemens-s7-plc"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx
index ba72ac957..011ac46a1 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Smart meters SML.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Smart Message Language (SML) metrics for efficient smart metering and energy management."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "390"
+sidebar_position: "400"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/smart-meters-sml"
slug: "/collecting-metrics/collectors/hardware-and-sensors/smart-meters-sml"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx
index f84026e4d..094555314 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solar logging stick.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor solar energy metrics using a solar logging stick for efficient solar energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "400"
+sidebar_position: "410"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/solar-logging-stick"
slug: "/collecting-metrics/collectors/hardware-and-sensors/solar-logging-stick"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx
index f2aa10e11..3e3d3bb4c 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Solis Ginlong 5G inverters.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Solis solar inverter metrics for efficient solar energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "410"
+sidebar_position: "420"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/solis-ginlong-5g-inverters"
slug: "/collecting-metrics/collectors/hardware-and-sensors/solis-ginlong-5g-inverters"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx
index b9adb2660..790dedd2d 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Sunspec Solar Energy.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor SunSpec Alliance solar energy metrics for efficient solar energy management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "420"
+sidebar_position: "430"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/sunspec-solar-energy"
slug: "/collecting-metrics/collectors/hardware-and-sensors/sunspec-solar-energy"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/System thermal zone.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/System thermal zone.mdx
index d96a3807c..861e6d23a 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/System thermal zone.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/System thermal zone.mdx
@@ -8,7 +8,7 @@ learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
keywords: [thermal, temperature]
description: "This collector monitors thermal zone statistics on Windows systems."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "430"
+sidebar_position: "440"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/system-thermal-zone"
slug: "/collecting-metrics/collectors/hardware-and-sensors/system-thermal-zone"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx
index 65a304d97..75ebf938a 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tado smart heating solution.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Tado smart thermostat metrics for efficient home heating and cooling management."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "440"
+sidebar_position: "450"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/tado-smart-heating-solution"
slug: "/collecting-metrics/collectors/hardware-and-sensors/tado-smart-heating-solution"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx
index 4798100a3..4e862d988 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla Wall Connector.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Monitor Tesla Wall Connector charging station metrics for efficient electric vehicle charging management."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "460"
+sidebar_position: "470"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/tesla-wall-connector"
slug: "/collecting-metrics/collectors/hardware-and-sensors/tesla-wall-connector"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx
index 4f1408bc7..c09b8a829 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Tesla vehicle.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Track Tesla vehicle metrics for efficient electric vehicle management and monitoring."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "450"
+sidebar_position: "460"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/tesla-vehicle"
slug: "/collecting-metrics/collectors/hardware-and-sensors/tesla-vehicle"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/UPS NUT.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/UPS NUT.mdx
index 78421285e..7155a29fb 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/UPS NUT.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/UPS NUT.mdx
@@ -8,7 +8,7 @@ learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
keywords: [ups, nut]
description: "This collector monitors Uninterruptible Power Supplies by polling the UPS daemon using the NUT network protocol."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "470"
+sidebar_position: "480"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/ups-nut"
slug: "/collecting-metrics/collectors/hardware-and-sensors/ups-nut"
---
diff --git a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx
index bda9f53b0..c92ec5ec7 100644
--- a/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx
+++ b/docs/Collecting Metrics/Collectors/Hardware and Sensors/Xiaomi Mi Flora.mdx
@@ -7,7 +7,7 @@ toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Hardware and Sensors"
description: "Keep tabs on MiFlora plant monitor metrics for efficient plant care and growth management."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
-sidebar_position: "480"
+sidebar_position: "490"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/hardware-and-sensors/xiaomi-mi-flora"
slug: "/collecting-metrics/collectors/hardware-and-sensors/xiaomi-mi-flora"
---
diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx
index 926e85f64..d085ccd9c 100644
--- a/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx
+++ b/docs/Collecting Metrics/Collectors/Operating Systems/Applications.mdx
@@ -121,6 +121,10 @@ Metrics:
| app.ebpf_dc_reference | Count file access. | files | files |
| app.ebpf_dc_not_cache | Files not present inside directory cache. | files | files |
| app.ebpf_dc_not_found | Files not found. | files | files |
+| app.ebpf_file_open | Number of open files | calls | calls/s |
+| app.ebpf_file_open_error | Fails to open files. | calls | calls/s |
+| app.ebpf_file_closed | Files closed. | calls | calls/s |
+| app.ebpf_file_close_error | Fails to close files. | calls | calls/s |
| app.swap_usage | Apps swap usage | swap | MiB |
| app.disk_physical_io | Apps disk physical IO | reads, writes | KiB/s |
| app.disk_logical_io | Apps disk logical IO | reads, writes | KiB/s |
diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx
index d83010554..d25b041d9 100644
--- a/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx
+++ b/docs/Collecting Metrics/Collectors/Operating Systems/Systemd Services.mdx
@@ -129,6 +129,10 @@ Metrics:
| systemd.service.dc_reference | Count file access | reference | files |
| systemd.service.dc_not_cache | Files not present inside directory cache | slow | files |
| systemd.service.dc_not_found | Files not found | miss | files |
+| systemd.service.fd_open | Number of open files | calls | calls/s |
+| systemd.service.fd_open_error | Fails to open files | calls | calls/s |
+| systemd.service.fd_close | Files closed | calls | calls/s |
+| systemd.service.fd_close_error | Fails to close files | calls | calls/s |
| systemd.service.net_conn_ipv4 | TCP v4 outbound connections | connections | connections/s |
| systemd.service.net_conn_ipv6 | TCP v6 outbound connections | connections | connections/s |
| systemd.service.net_total_bandwidth | Bandwidth | received, sent | kilobits/s |
diff --git a/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Filedescriptor.mdx b/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Filedescriptor.mdx
index ff8e0d807..18237aca8 100644
--- a/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Filedescriptor.mdx
+++ b/docs/Collecting Metrics/Collectors/Operating Systems/eBPF Filedescriptor.mdx
@@ -1,12 +1,12 @@
---
-custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/metadata.yaml"
+custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/metadata.yaml"
sidebar_label: "eBPF Filedescriptor"
learn_status: "Published"
toc_max_heading_level: "6"
toc_collapsible: "true"
learn_rel_path: "Collecting Metrics/Collectors/Operating Systems"
-keywords: [file, eBPF, fd, open, close]
-description: "Monitor calls for functions responsible to open or close a file descriptor and possible errors."
+keywords: [file, eBPF, file descriptor, open, close]
+description: "Monitor calls for functions responsible to open or close a file."
message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
sidebar_position: "80"
learn_link: "https://learn.netdata.cloud/docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor"
@@ -20,16 +20,16 @@ slug: "/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor"
-Plugin: ebpf.plugin
-Module: filedescriptor
+Plugin: ebpf-go.plugin
+Module: fd
## Overview
-Monitor calls for functions responsible to open or close a file descriptor and possible errors.
+Monitor calls for functions responsible to open or close a file. Setting `fd = yes` enables collection and the host-wide charts only; the per-application and per-cgroup charts additionally require `apps = yes` and/or `cgroups = yes` in the `[global]` section. The error charts require `ebpf load mode = return`; the counters behind them are always collected, but they are only charted in that mode, as in the C implementation of this collector.
-Attach tracing (kprobe and trampoline) to internal kernel functions according options used to compile kernel.
+Attach a return probe to the kernel's open and close entry points, using the object flavor selected for the running kernel.
This collector is only supported on the following platforms:
@@ -37,7 +37,7 @@ This collector is only supported on the following platforms:
This collector supports collecting metrics from multiple instances of this integration, including remote instances.
-The plugin needs setuid because it loads data inside kernel. Netdata sets necessary permissions during installation time.
+The plugin needs setuid because it loads data inside kernel. Netdata sets necessary permission during installation time.
eBPF Filedescriptor can be monitored further using the following other integrations:
@@ -48,7 +48,7 @@ eBPF Filedescriptor can be monitored further using the following other integrati
#### Auto-Detection
-The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT) and presence of BTF files to decide which eBPF program will be attached.
+The plugin checks kernel compilation flags (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT), presence of BTF files, and the configured object flavor to decide which eBPF program will be attached. The attach symbols differ by kernel version and architecture, so the collector resolves them from `/proc/kallsyms` before attaching. Open uses `do_sys_openat2`, then `do_sys_open`: both are inner functions that `open`, `openat` and `openat2` all funnel through. Close uses the architecture's close(2) syscall symbol (`__x64_sys_close`, `__arm64_sys_close`, ..., or the unprefixed `sys_close` on architectures without syscall wrappers), falling back to the inner helpers `close_fd` and `__close_fd` on kernels that predate the wrappers. The inner helper is not used on newer kernels because the close(2) syscall no longer calls it, which made the close counters read zero.
#### Limits
@@ -56,7 +56,7 @@ The default configuration for this integration does not impose any limits on dat
#### Performance Impact
-Depending of kernel version and frequency that files are open and close, this thread will add overhead every time that an internal kernel function monitored by this thread is called. The estimated additional period of time is between 90-200ns per call on kernels that do not have BTF technology.
+This thread will add overhead every time that an internal kernel function monitored by this thread is called.
## Setup
@@ -65,8 +65,8 @@ Depending of kernel version and frequency that files are open and close, this th
#### Compile kernel
-Check if your kernel was compiled with necessary options (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT) in `/proc/config.gz` or inside /boot/config file. Some cited names can be different accoring preferences of Linux distributions.
-When you do not have options set, it is necessary to get the kernel source code from https://kernel.org or a kernel package from your distribution, this last is preferred. The kernel compilation has a well definedd pattern, but distributions can deliver their configuration files
+Check if your kernel was compiled with necessary options (CONFIG_KPROBES, CONFIG_BPF, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT) in `/proc/config.gz` or inside /boot/config file. Some cited names can be different according to the preferences of Linux distributions.
+When you do not have options set, it is necessary to get the kernel source code from https://kernel.org or a kernel package from your distribution, this last is preferred. The kernel compilation has a well defined pattern, but distributions can deliver their configuration files
with different names.
Now follow steps:
@@ -85,7 +85,8 @@ Now follow steps:
#### Options
-All options are defined inside section `[global]`.
+The `fd` option in section `[ebpf programs]` controls whether the module is loaded.
+The options listed below are `[global]` overrides.
@@ -95,14 +96,17 @@ All options are defined inside section `[global]`.
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
-| update every | Data collection frequency. | 10 | no |
-| ebpf load mode | Define whether plugin will monitor the call (`entry`) for the functions or it will also monitor the return (`return`). | entry | no |
+| update every | Data collection frequency. This configuration value takes precedence over the runtime interval passed by pluginsd. | 10 | no |
+| ebpf load mode | Selects whether the error charts are published. `entry` collects and charts only the call counts; `return` and its legacy alias `dev` additionally publish `filesystem.file_error` and the per-application and per-cgroup error charts. Attachment is unaffected: the probes always read the syscall return value, so switching modes costs nothing at collection time. | entry | no |
| apps | Enable or disable integration with apps.plugin | no | no |
| cgroups | Enable or disable integration with cgroup.plugin | no | no |
| pid table size | Number of elements stored inside hash tables used to monitor calls per PID. | 32768 | no |
-| ebpf type format | Define the file type to load an eBPF program. Three options are available: `legacy` (Attach only `kprobe`), `co-re` (Plugin tries to use `trampoline` when available), and `auto` (plugin check OS configuration before to load). | auto | no |
+| ebpf object flavor | Select the fd object flavor to load. Available values are `arena`, `buffer ring` (also accepted as `buffer`), and `legacy` (also accepted as `tracing`). The default is `buffer`, and the collector falls back when the requested flavor is not available on the system. | buffer | no |
+| ebpf type format | Legacy key from the C ebpf.plugin, kept so migrated configurations still parse. It maps onto `ebpf object flavor`: `legacy` forces the kprobe-based tracing objects, while `co-re` and `auto` are accepted no-ops that leave the flavor to auto-detection. Prefer `ebpf object flavor` in new configurations. | auto | no |
| ebpf co-re tracing | Select the attach method used by plugin when `co-re` is defined in previous option. Two options are available: `trampoline` (Option with lowest overhead), and `probe` (the same of legacy code). | trampoline | no |
| maps per core | Define how plugin will load their hash maps. When enabled (`yes`) plugin will load one hash table per core, instead to have centralized information. | yes | no |
+| btf path | Override the default BTF source directory. The collector checks this path for a vmlinux BTF file used by CO-RE loading. | /sys/kernel/btf | no |
+| collect pid | Controls which PIDs are stored in the BPF hash tables. `real parent` stores only the real parent PID (lowest overhead); `parent` stores the immediate parent PID; `all` stores every PID used by the process (highest overhead). | real parent | no |
| lifetime | Set default lifetime for thread when enabled by cloud. | 300 | no |
@@ -112,24 +116,15 @@ All options are defined inside section `[global]`.
#### via File
-The configuration file name for this integration is `ebpf.d/fd.conf`.
+The configuration file name for this integration is `ebpf.d.conf`.
-The file format is a modified INI syntax. The general structure is:
-```ini
-[section1]
- option1 = some value
- option2 = some other value
-
-[section2]
- option3 = some third value
-```
You can edit the configuration file using the [`edit-config`](/docs/netdata-agent/configuration#edit-configuration-files) script from the
Netdata [config directory](/docs/netdata-agent/configuration#locate-your-config-directory).
```bash
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
-sudo ./edit-config ebpf.d/fd.conf
+sudo ./edit-config ebpf.d.conf
```
##### Examples
@@ -152,29 +147,9 @@ The scope defines the instance that the metric belongs to. An instance is unique
-### Per cgroup
-
-These Metrics show grouped information per cgroup/service.
-
-This scope has no labels.
-
-Metrics:
-
-| Metric | Description | Dimensions | Unit |
-|:------|:------------|:----------|:----|
-| cgroup.fd_open | Number of open files | open | calls/s |
-| cgroup.fd_open_error | Fails to open files | open | calls/s |
-| cgroup.fd_closed | Files closed | close | calls/s |
-| cgroup.fd_close_error | Fails to close files | close | calls/s |
-| services.file_open | Number of open files | a dimension per systemd service | calls/s |
-| services.file_open_error | Fails to open files | a dimension per systemd service | calls/s |
-| services.file_closed | Files closed | a dimension per systemd service | calls/s |
-| services.file_close_error | Fails to close files | a dimension per systemd service | calls/s |
-
-
### Per eBPF Filedescriptor instance
-These metrics show total number of calls to functions inside kernel.
+These metrics show the host-wide rate of file open and close calls, and of the ones that failed.
This scope has no labels.
@@ -182,25 +157,5 @@ Metrics:
| Metric | Description | Dimensions | Unit |
|:------|:------------|:----------|:----|
-| filesystem.file_descriptor | Open and close calls | open, close | calls/s |
-| filesystem.file_error | Open fails | open, close | calls/s |
-
-
-### Per apps
-
-These Metrics show grouped information per apps group.
-
-Labels:
-
-| Label | Description |
-|:-----------|:----------------|
-| app_group | The name of the group defined in the configuration. |
-
-Metrics:
-
-| Metric | Description | Dimensions | Unit |
-|:------|:------------|:----------|:----|
-| app.ebpf_file_open | Number of open files | calls | calls/s |
-| app.ebpf_file_open_error | Fails to open files | calls | calls/s |
-| app.ebpf_file_closed | Files closed | calls | calls/s |
-| app.ebpf_file_close_error | Fails to close files | calls | calls/s |
+| filesystem.file_descriptor | Open and close calls. Published as cumulative kernel counters with the `incremental` algorithm, preserving the legacy filedescriptor metric contract. | open, close | calls/s |
+| filesystem.file_error | Open and close calls that returned an error. Published only in the non-entry load modes, `ebpf load mode = return` and its legacy alias `dev`. | open, close | calls/s |
diff --git a/docs/Collecting Metrics/Secrets Management/Secrets Management.mdx b/docs/Collecting Metrics/Secrets Management/Secrets Management.mdx
index 03139fea6..28ebabc80 100644
--- a/docs/Collecting Metrics/Secrets Management/Secrets Management.mdx
+++ b/docs/Collecting Metrics/Secrets Management/Secrets Management.mdx
@@ -13,6 +13,12 @@ slug: "/collecting-metrics/secrets-management"
# Secrets Management
+Secret references resolve in stock collector configurations, user configuration files, and jobs saved through Dynamic Configuration. By default, jobs generated by service discovery treat all reference syntax as literal text, including references written in discovery rules or credentials.
+
+To allow references in all jobs from a trusted pipeline, set its top-level `trust_discovered_targets: yes`. Target-controlled values copied by service rules can then make Netdata read local files, run commands, or fetch stored secrets with the secret providers' permissions. A collector may send the resolved values back to the target. Enable only if you control and trust every discoverable target; enabling accepts that risk.
+
+The option does not resolve discovery connection credentials. Alternatively, adopt an individual job through Dynamic Configuration and review the complete configuration before saving.
+
Keep collector credentials out of plain-text configuration files.
Netdata lets you reference secret values in collector configs instead of storing them directly in YAML. Depending on where the secret lives, you can resolve it from environment variables, local files, local commands, or remote secretstore backends.
@@ -65,6 +71,8 @@ jobs:
- The file path must be absolute.
- Netdata trims leading and trailing whitespace from the file contents.
- The file must exist on the Netdata host and be readable by the `netdata` user.
+- On Unix, Netdata reads the file through `nd-run`, without the collector plugin's elevated privileges. Files that were readable only because of those privileges no longer resolve.
+- On Unix, file reads time out after 3 seconds, or sooner if the caller's deadline expires or the request is cancelled.
- **Docker Secrets**: Docker mounts secrets as files under `/run/secrets/` inside the container. Use `${file:/run/secrets/}` to read them.
- **Kubernetes Secrets**: If you mount Kubernetes Secrets as volume files in the Netdata pod, reference them with `${file:/path/to/mounted/secret}`.
@@ -81,6 +89,8 @@ jobs:
- The command path must be absolute.
- Arguments are split on whitespace. Netdata does not interpret shell quoting, pipes, redirects, or variable expansion unless you explicitly run a shell such as `/bin/sh -c`.
- Netdata uses a 10-second timeout for command resolvers.
+- On Unix, commands run through `nd-run --preserve-env --` without the collector plugin's elevated privileges. Authentication and other application environment variables are preserved.
+- `nd-run` sets `USER`, `LOGNAME`, and `HOME` from the selected account, `SHELL` to `/bin/sh`, and `LC_ALL` to `C`. Commands that need a specific credentials or configuration directory must use their tool's explicit configuration option or environment variable.
- Netdata trims leading and trailing whitespace from stdout and ignores stderr.
## Encoding Values for URIs
@@ -202,7 +212,10 @@ Use the backend README for provider-specific authentication, operand rules, conf
- Prefer platform-native identity modes for production when a backend supports them, such as instance roles, managed identities, or metadata-based credentials.
- Secretstore configuration values (such as tokens and client secrets) also support `${env:...}`, `${file:...}`, and `${cmd:...}` resolvers. Use them to avoid storing backend credentials in plain text. Note that `${store:...}` references are not supported inside secretstore configurations.
- Keep local secret material readable only by the `netdata` user, including token files, service account files, and any files used with `${file:...}`.
+- Explicit bearer-token, TLS CA/certificate/key, HTTP cookie, Vault `token_file`, and GCP `service_account_file` options also read files without the plugin's elevated privileges on Unix. They require the matching installed `nd-run` helper and fail if it cannot read the file. On Windows, these options retain the service account's permissions.
+- Bearer-token files are reread for each request. HTTP cookies retain their modification-time cache; TLS files are loaded during initialization. SDK-managed credential acquisition and files selected through database DSNs keep their existing behavior.
- Use `${cmd:...}` only with trusted local commands and absolute paths.
+- On Unix, local file and command resolution require `nd-run`; commands require a helper that supports `--preserve-env`. Netdata does not fall back to privileged file access or direct command execution if the helper fails. The helper normally uses the `netdata` account, falls back to `nobody` if that account is absent, and retains the current user if an unprivileged process cannot switch accounts. On Windows, file and command resolution use the collector process's existing permissions.
## Troubleshooting
diff --git a/docs/Collecting Metrics/Service Discovery/Discoverer/Docker.mdx b/docs/Collecting Metrics/Service Discovery/Discoverer/Docker.mdx
index 929b82896..ec983fc00 100644
--- a/docs/Collecting Metrics/Service Discovery/Discoverer/Docker.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Discoverer/Docker.mdx
@@ -76,7 +76,7 @@ The stock conf at `/etc/netdata/go.d/sd/docker.conf` ships with `disabled: no` a
#### Options
-The configuration file has two top-level blocks: `discoverer:` (the options below) and `services:` (rules that turn discovered containers into collector jobs — see [Service Rules](#service-rules)).
+The configuration file has two top-level blocks: `discoverer:` (the discoverer-specific options below) and `services:` (rules that turn discovered containers into collector jobs — see [Service Rules](#service-rules)).
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
@@ -84,9 +84,28 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
+| [trust_discovered_targets](#option-trust-discovered-targets) | Allow secret references in generated collector jobs, including target-controlled values that can make Netdata read files, run commands, or fetch stored secrets. Off by default; enable only if you control and trust every discoverable target and accept the risk of exposing resolved values to it. | no | no |
| [address](#option-address) | Docker daemon address. | unix:///var/run/docker.sock | no |
| timeout | Maximum time to wait for a Docker API response (per request). | 2s | no |
+
+##### trust_discovered_targets
+
+Set this option at the top level, alongside `discoverer:` and `services:`, not inside the discoverer block.
+It enables `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}` in generated collector jobs.
+
+If a service rule copies a target-controlled value into a job field, the target can insert a reference that
+makes Netdata read a local file, run a command, or fetch a stored secret with the secret provider's
+permissions. The collector may send the result to that target as a credential or other request field.
+Enable only if you control and trust every target this pipeline can discover; enabling it accepts
+this risk for the whole pipeline. One untrusted target is enough to abuse it.
+
+Container owners can control command arguments, labels and other values used by service rules.
+
+The default keeps reference syntax literal. This option does not resolve the discoverer's own connection
+credentials. See [Service Discovery](/docs/collecting-metrics/service-discovery#configuration-file-structure).
+
+
##### address
@@ -109,7 +128,7 @@ If unset, Netdata also honors the `DOCKER_HOST` environment variable when presen
Define the discovery pipeline in `/etc/netdata/go.d/sd/docker.conf`.
-The file has two top-level blocks: `discoverer:` (the options above) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)).
+The file has two top-level blocks: `discoverer:` (discoverer-specific settings) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)). Set pipeline options such as `trust_discovered_targets` alongside these blocks, not inside `discoverer:`.
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
diff --git a/docs/Collecting Metrics/Service Discovery/Discoverer/HTTP endpoint.mdx b/docs/Collecting Metrics/Service Discovery/Discoverer/HTTP endpoint.mdx
index 47cb758f4..73a6d063d 100644
--- a/docs/Collecting Metrics/Service Discovery/Discoverer/HTTP endpoint.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Discoverer/HTTP endpoint.mdx
@@ -80,7 +80,7 @@ Stand up an HTTP endpoint that returns either a top-level array (`[ "https://a/h
#### Options
-The configuration file has two top-level blocks: `discoverer:` (the options below) and `services:` (rules that turn fetched items into collector jobs — see [Service Rules](#service-rules)).
+The configuration file has two top-level blocks: `discoverer:` (the discoverer-specific options below) and `services:` (rules that turn fetched items into collector jobs — see [Service Rules](#service-rules)).
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
@@ -88,12 +88,31 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
+| [trust_discovered_targets](#option-trust-discovered-targets) | Allow secret references in generated collector jobs, including target-controlled values that can make Netdata read files, run commands, or fetch stored secrets. Off by default; enable only if you control and trust every discoverable target and accept the risk of exposing resolved values to it. | no | no |
| [url](#option-url) | HTTP/HTTPS endpoint that returns the items. | | yes |
| [interval](#option-interval) | How often to refetch the endpoint. | 1m | no |
| [format](#option-format) | Response format. One of `auto`, `json`, `yaml`. | auto | no |
| timeout | Per-request HTTP timeout. | 2s | no |
| [headers / username / password / bearer_token_file / proxy_url / tls_skip_verify / etc.](#option-headers-username-password-bearer-token-file-proxy-url-tls-skip-verify-etc) | All standard go.d HTTP options are accepted (basic auth, bearer tokens, custom headers, HTTP proxy, TLS options). | | no |
+
+##### trust_discovered_targets
+
+Set this option at the top level, alongside `discoverer:` and `services:`, not inside the discoverer block.
+It enables `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}` in generated collector jobs.
+
+If a service rule copies a target-controlled value into a job field, the target can insert a reference that
+makes Netdata read a local file, run a command, or fetch a stored secret with the secret provider's
+permissions. The collector may send the result to that target as a credential or other request field.
+Enable only if you control and trust every target this pipeline can discover; enabling it accepts
+this risk for the whole pipeline. One untrusted target is enough to abuse it.
+
+The discovery endpoint controls the items returned to service rules; trust both that endpoint and its data sources.
+
+The default keeps reference syntax literal. This option does not resolve the discoverer's own connection
+credentials. See [Service Discovery](/docs/collecting-metrics/service-discovery#configuration-file-structure).
+
+
##### url
@@ -132,7 +151,7 @@ See any go.d HTTP-based collector (`httpcheck`, `prometheus`, `nginx`, …) for
Define the discovery pipeline in `/etc/netdata/go.d/sd/http.conf`.
-The file has two top-level blocks: `discoverer:` (the options above) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)).
+The file has two top-level blocks: `discoverer:` (discoverer-specific settings) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)). Set pipeline options such as `trust_discovered_targets` alongside these blocks, not inside `discoverer:`.
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
diff --git a/docs/Collecting Metrics/Service Discovery/Discoverer/Kubernetes.mdx b/docs/Collecting Metrics/Service Discovery/Discoverer/Kubernetes.mdx
index a541ba564..d0319eac3 100644
--- a/docs/Collecting Metrics/Service Discovery/Discoverer/Kubernetes.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Discoverer/Kubernetes.mdx
@@ -97,7 +97,7 @@ env:
#### Options
-The configuration file has two top-level blocks: `discoverer:` (the options below) and `services:` (rules that turn discovered pods/services into collector jobs — see [Service Rules](#service-rules)).
+The configuration file has two top-level blocks: `discoverer:` (the discoverer-specific options below) and `services:` (rules that turn discovered pods/services into collector jobs — see [Service Rules](#service-rules)).
After editing the file, restart the Netdata Agent to load the updated discovery pipeline. The default and recommended deployment path on Kubernetes is the [Netdata Helm chart](https://github.com/netdata/helmchart) — the chart renders this file and the rules for you.
@@ -105,12 +105,31 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
+| [trust_discovered_targets](#option-trust-discovered-targets) | Allow secret references in generated collector jobs, including target-controlled values that can make Netdata read files, run commands, or fetch stored secrets. Off by default; enable only if you control and trust every discoverable target and accept the risk of exposing resolved values to it. | no | no |
| [role](#option-role) | What to discover. One of `pod` or `service`. | | yes |
| namespaces | Namespaces to watch. Empty means all namespaces. | [] (all namespaces) | no |
| [selector.label](#option-selector-label) | Label selector applied at watch time (server-side filtering). | | no |
| [selector.field](#option-selector-field) | Field selector applied at watch time. | | no |
| [pod.local_mode](#option-pod-local-mode) | Restrict pod discovery to pods on the same node as the Netdata Agent. | false | no |
+
+##### trust_discovered_targets
+
+Set this option at the top level, alongside `discoverer:` and `services:`, not inside the discoverer block.
+It enables `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}` in generated collector jobs.
+
+If a service rule copies a target-controlled value into a job field, the target can insert a reference that
+makes Netdata read a local file, run a command, or fetch a stored secret with the secret provider's
+permissions. The collector may send the result to that target as a credential or other request field.
+Enable only if you control and trust every target this pipeline can discover; enabling it accepts
+this risk for the whole pipeline. One untrusted target is enough to abuse it.
+
+Workload authors can control labels, annotations, environment values and other fields used by service rules.
+
+The default keeps reference syntax literal. This option does not resolve the discoverer's own connection
+credentials. See [Service Discovery](/docs/collecting-metrics/service-discovery#configuration-file-structure).
+
+
##### role
@@ -152,7 +171,7 @@ Only applies when `role: pod`. Requires `MY_NODE_NAME` to be set on the Netdata
Define the discovery pipeline in `/etc/netdata/go.d/sd/k8s.conf`.
-The file has two top-level blocks: `discoverer:` (the options above) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)).
+The file has two top-level blocks: `discoverer:` (discoverer-specific settings) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)). Set pipeline options such as `trust_discovered_targets` alongside these blocks, not inside `discoverer:`.
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
diff --git a/docs/Collecting Metrics/Service Discovery/Discoverer/Local listening processes.mdx b/docs/Collecting Metrics/Service Discovery/Discoverer/Local listening processes.mdx
index f8b34d8a0..ce1867a50 100644
--- a/docs/Collecting Metrics/Service Discovery/Discoverer/Local listening processes.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Discoverer/Local listening processes.mdx
@@ -76,7 +76,7 @@ The stock rule set covers most commonly-monitored services out of the box (Apach
#### Options
-The configuration file has two top-level blocks: `discoverer:` (the options below) and `services:` (rules that turn discovered listeners into collector jobs — see [Service Rules](#service-rules)).
+The configuration file has two top-level blocks: `discoverer:` (the discoverer-specific options below) and `services:` (rules that turn discovered listeners into collector jobs — see [Service Rules](#service-rules)).
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
@@ -84,9 +84,28 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
+| [trust_discovered_targets](#option-trust-discovered-targets) | Allow secret references in generated collector jobs, including target-controlled values that can make Netdata read files, run commands, or fetch stored secrets. Off by default; enable only if you control and trust every discoverable target and accept the risk of exposing resolved values to it. | no | no |
| interval | How often to re-scan the listening-socket table. | 2m | no |
| timeout | Maximum time to wait for the `local-listeners` helper to return. | 5s | no |
+
+##### trust_discovered_targets
+
+Set this option at the top level, alongside `discoverer:` and `services:`, not inside the discoverer block.
+It enables `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}` in generated collector jobs.
+
+If a service rule copies a target-controlled value into a job field, the target can insert a reference that
+makes Netdata read a local file, run a command, or fetch a stored secret with the secret provider's
+permissions. The collector may send the result to that target as a credential or other request field.
+Enable only if you control and trust every target this pipeline can discover; enabling it accepts
+this risk for the whole pipeline. One untrusted target is enough to abuse it.
+
+Local users can control process command lines and other values used by service rules.
+
+The default keeps reference syntax literal. This option does not resolve the discoverer's own connection
+credentials. See [Service Discovery](/docs/collecting-metrics/service-discovery#configuration-file-structure).
+
+
#### via UI
@@ -101,7 +120,7 @@ After editing the file, restart the Netdata Agent to load the updated discovery
Define the discovery pipeline in `/etc/netdata/go.d/sd/net_listeners.conf`.
-The file has two top-level blocks: `discoverer:` (the options above) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)).
+The file has two top-level blocks: `discoverer:` (discoverer-specific settings) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)). Set pipeline options such as `trust_discovered_targets` alongside these blocks, not inside `discoverer:`.
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
diff --git a/docs/Collecting Metrics/Service Discovery/Discoverer/SNMP.mdx b/docs/Collecting Metrics/Service Discovery/Discoverer/SNMP.mdx
index 391843d66..4ffdcd57c 100644
--- a/docs/Collecting Metrics/Service Discovery/Discoverer/SNMP.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Discoverer/SNMP.mdx
@@ -52,7 +52,14 @@ The discoverer never queries device-specific OIDs — those are queried later by
- **Outbound interface**: probes use the host's default routing. There is no per-pipeline bind-address or VRF option — on multi-homed hosts, configure the OS routing table so the Netdata host reaches each target subnet via the correct interface.
- The discoverer reads only the standard `system` MIB. Vendor-specific identification (`.SysInfo.Vendor`, `.Category`, `.Model`) is derived from `sysObjectID` and an enterprise-numbers table; values may be empty or `Unknown` for devices that are not in that table.
- **SNMPv3 engine ID**: gosnmp negotiates the engine ID at the start of each probe (one extra round-trip per probe — usually irrelevant unless `parallel_scans_per_network` is high and the device is rate-limited). Engine IDs are not cached across probes, so devices that rotate engine IDs (rare; some HA pairs do this on failover) are handled transparently.
-- **Credential storage**: community strings and SNMPv3 passphrases are stored in plaintext both in `/etc/netdata/go.d/sd/snmp.conf` (file-based pipelines) and in the agent's dynamic-configuration store under `/var/lib/netdata/dyncfg/` (UI-managed pipelines). To avoid plaintext credentials on disk in either path, reference them via `${env:VAR}` or `${file:/path}` (see [Secrets Management](/docs/collecting-metrics/secrets-management)).
+- **Credential storage**: discovery requires literal community strings and SNMPv3 passphrases. They are stored in plaintext in `/etc/netdata/go.d/sd/snmp.conf` (file-based pipelines) or the agent's dynamic-configuration store under `/var/lib/netdata/dyncfg/` (UI-managed pipelines). Secret references are not resolved in discovery credentials. Generated collector jobs keep them literal by default.
+- **Collector job secrets**: to use [secret references](/docs/collecting-metrics/secrets-management), explicitly enable `trust_discovered_targets` for a trusted pipeline, or adopt an individual collector job through Dynamic Configuration and review the complete configuration before saving. For reference-based fields, Netdata saves the reference text and resolves values only in memory; it does not persist the resolved values in the job configuration. `${env:...}` and `${file:...}` read operator-managed environment variables or files, whose credentials may already be stored on disk. Adoption does not remove literal credentials from the discovery configuration.
+
+:::warning Discovery credentials reach every host that answers
+
+To identify a device, discovery presents the configured credential to whatever responds on a scanned IP, so any host on a scanned subnet — including a rogue or spoofed device — receives it. This is inherent to credentialed network scanning, not specific to Netdata. SNMPv1/v2c sends the community string in cleartext; SNMPv3 discloses the USM username and an authentication MAC (offline-crackable if the passphrase is weak), not the passphrase itself. Scan only networks you trust, prefer SNMPv3 `authPriv` with strong passphrases, and avoid reusing sensitive community strings on segments where untrusted hosts can appear.
+
+:::
## Setup
@@ -80,7 +87,7 @@ The Netdata Agent host must be able to reach UDP port 161 on every scanned IP. S
#### Options
-The configuration file has two top-level blocks: `discoverer:` (the options below) and `services:` (rules that turn discovered devices into `snmp` collector jobs — see [Service Rules](#service-rules)).
+The configuration file has two top-level blocks: `discoverer:` (the discoverer-specific options below) and `services:` (rules that turn discovered devices into `snmp` collector jobs — see [Service Rules](#service-rules)).
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
@@ -88,6 +95,7 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| Option | Description | Default | Required |
|:-----|:------------|:--------|:---------:|
+| [trust_discovered_targets](#option-trust-discovered-targets) | Allow secret references in generated collector jobs, including target-controlled values that can make Netdata read files, run commands, or fetch stored secrets. Off by default; enable only if you control and trust every discoverable target and accept the risk of exposing resolved values to it. | no | no |
| [rescan_interval](#option-rescan-interval) | How often to rescan configured networks for devices. | 30m | no |
| timeout | Maximum time to wait for an SNMP device response. | 1s | no |
| [device_cache_ttl](#option-device-cache-ttl) | How long to trust cached discovery results before re-probing a device. | 12h | no |
@@ -95,6 +103,28 @@ After editing the file, restart the Netdata Agent to load the updated discovery
| [credentials](#option-credentials) | List of SNMP credentials referenced by entries in `networks`. At least one credential is required. | | yes |
| [networks](#option-networks) | List of subnets to scan, each tagged with the credential name to use. At least one network is required. | | yes |
+
+##### trust_discovered_targets
+
+Set this option at the top level, alongside `discoverer:` and `services:`, not inside the discoverer block.
+It enables `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}` in generated collector jobs.
+
+If a service rule copies a target-controlled value into a job field, the target can insert a reference that
+makes Netdata read a local file, run a command, or fetch a stored secret with the secret provider's
+permissions. The collector may send the result to that target as a credential or other request field.
+Enable only if you control and trust every target this pipeline can discover; enabling it accepts
+this risk for the whole pipeline. One untrusted target is enough to abuse it.
+
+Stock SNMP rules use device-reported system information only in the job name, not in credential fields.
+To use references in generated-job credentials, write them explicitly in your service rules. Enabling
+this option alone does not replace the literal credentials copied by stock rules.
+
+Devices control system information exposed to service rules. Review custom rules as well as the devices you scan. Discovery still requires literal SNMP credentials.
+
+The default keeps reference syntax literal. This option does not resolve the discoverer's own connection
+credentials. See [Service Discovery](/docs/collecting-metrics/service-discovery#configuration-file-structure).
+
+
##### rescan_interval
@@ -128,7 +158,7 @@ For SNMPv3, set:
**Naming note:** the YAML keys are `auth_password` and `priv_password`. The same fields are exposed inside service rule templates as `.Credential.AuthPassphrase` and `.Credential.PrivacyPassphrase` (the Go struct names). Both refer to the same value.
-**Avoid plaintext on disk:** any of these fields can be sourced from environment variables or files using `${env:VAR_NAME}` or `${file:/absolute/path}` — see [Secrets Management](/docs/collecting-metrics/secrets-management).
+**Literal values required:** use the credentials configured on your devices. Discovery does not resolve `${env:...}`, `${file:...}`, `${cmd:...}`, or `${store:...}`; those strings would be sent as credentials. To use secret references in a collector job, adopt it through Dynamic Configuration as described under [Limitations](#limitations).
@@ -162,7 +192,7 @@ For CIDR notation, network and broadcast addresses are excluded (except `/31`, `
Define the discovery pipeline in `/etc/netdata/go.d/sd/snmp.conf`.
-The file has two top-level blocks: `discoverer:` (the options above) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)).
+The file has two top-level blocks: `discoverer:` (discoverer-specific settings) and `services:` (rules that turn discovered targets into collector jobs — see [Service Rules](#service-rules)). Set pipeline options such as `trust_discovered_targets` alongside these blocks, not inside `discoverer:`.
After editing the file, restart the Netdata Agent to load the updated discovery pipeline.
@@ -190,7 +220,7 @@ services:
```
###### Multiple subnets, mixed SNMPv2c and SNMPv3
-Mix SNMPv2c on one subnet with SNMPv3 (authPriv) on another. Credentials are referenced from environment variables to keep them out of plaintext on disk.
+Mix SNMPv2c on one subnet with SNMPv3 (authPriv) on another. Replace the placeholder strings with the literal credentials configured on your devices; secret references are not supported here.
```yaml
disabled: no
@@ -200,15 +230,15 @@ discoverer:
credentials:
- name: public-v2c
version: 2c
- community: ${env:SNMP_V2C_COMMUNITY}
+ community: "PLACEHOLDER"
- name: secure-v3
version: 3
security_level: authPriv
username: netdata-monitor
auth_protocol: sha256
- auth_password: ${env:SNMP_V3_AUTH}
+ auth_password: "PLACEHOLDER_AUTH_PASSPHRASE"
priv_protocol: aes256
- priv_password: ${env:SNMP_V3_PRIV}
+ priv_password: "PLACEHOLDER_PRIV_PASSPHRASE"
networks:
- subnet: 192.168.10.0/24
credential: public-v2c
diff --git a/docs/Collecting Metrics/Service Discovery/Service Discovery.mdx b/docs/Collecting Metrics/Service Discovery/Service Discovery.mdx
index 8c9d6fd52..2ea8e681f 100644
--- a/docs/Collecting Metrics/Service Discovery/Service Discovery.mdx
+++ b/docs/Collecting Metrics/Service Discovery/Service Discovery.mdx
@@ -40,6 +40,7 @@ Every SD file has the same shape:
```yaml
disabled: no # set to yes to disable this pipeline
+trust_discovered_targets: no # keep secret-reference syntax literal in generated jobs
discoverer:
: # discoverer kind (must match filename)
@@ -53,6 +54,9 @@ services:
```
- `disabled: yes` keeps the file on disk but turns the pipeline off.
+- `trust_discovered_targets` defaults to `no`. Setting it to `yes` lets generated collector jobs resolve `${env:...}`, `${file:...}`, `${cmd:...}` and `${store:...}`, including references in target-controlled values copied by service rules. Those references can make Netdata read local files, run commands, or fetch stored secrets with the secret providers' permissions; collectors may send the results back to a target.
+- Enable only if you control and trust every target this pipeline can discover. Enabling accepts that risk for the whole pipeline: one untrusted target is enough to abuse it. Other pipelines remain unchanged.
+- Trust the inputs used by your service rules: Docker container metadata and commands, local process command lines, Kubernetes workload labels/annotations/environment, HTTP response items, or SNMP device system information. Custom rules can expose additional target-controlled values. The option does not resolve credentials used by the discoverer itself; SNMP scanning still requires literal credentials.
- Editing a stock file requires restarting the agent. UI-managed pipelines apply live.
- Where each discoverer's stock conf ships (with the Netdata package, with the Helm chart, or not at all) is documented on its per-discoverer page.
@@ -140,7 +144,7 @@ Custom helpers added to the SD template engine:
- `"dstar"` — [doublestar](https://github.com/bmatcuk/doublestar) glob (supports `**` for path-style matching).
- `glob VALUE PATTERN [PATTERN...]` — Shortcut for `match "glob" VALUE PATTERN...`.
- `promPort PORT` — Returns the well-known Prometheus exporter module name registered for `PORT`, or the empty string. `net_listeners`-specific.
-- `toYaml VALUE` — Serialize `VALUE` as a YAML string. Used by `http` discoverer rules that pass through items as collector job configs.
+- `toYaml VALUE` — Serialize the complete value as YAML. Strings retain their exact contents and type; maps and sequences remain collections. Used by `http` discoverer rules that pass through items as collector job configs.
**Notes:**
@@ -156,6 +160,8 @@ Custom helpers added to the SD template engine:
## config_template rendering
+By default, discovered jobs treat `${env:...}`, `${file:...}`, `${cmd:...}`, and `${store:...}` as literal text, even when a reference comes from an operator-authored discovery rule or credential. A pipeline with `trust_discovered_targets: yes` allows these references in all its generated collector jobs. Alternatively, adopt an individual collector job through Dynamic Configuration and review its complete configuration before saving.
+
When a template rule matches, its `config_template` is executed with the target as the dot context. The rendered output is parsed as YAML to produce one or more collector jobs.
- **Single map → one job** — If the rendered YAML is a map, a single collector job is created.
@@ -219,4 +225,4 @@ Look for `failed to execute services[N]->config_template on target` in the log.
### YAML parse error after rendering
-`failed to parse services[N] template data` means the rendered output is not valid YAML. Common cause: a discovered string field contains a colon, hash, or other YAML special character. YAML-quote dynamic values (`name: "{{ .X }}"`) when they may be irregular.
+`failed to parse services[N] template data` means the rendered output is not valid YAML. Common cause: a discovered string field contains a colon, hash, or other YAML special character. Serialize complete dynamic values with `toYaml`, for example `name: {{ .X | toYaml }}`. Adding quotes around raw template text does not escape embedded quotes or newlines.
diff --git a/docs/Developer and Contributor Corner/External Plugins/Functions developer guide.mdx b/docs/Developer and Contributor Corner/External Plugins/Functions developer guide.mdx
index be6eacfb3..2144a3e46 100644
--- a/docs/Developer and Contributor Corner/External Plugins/Functions developer guide.mdx
+++ b/docs/Developer and Contributor Corner/External Plugins/Functions developer guide.mdx
@@ -134,9 +134,9 @@ Make your table more useful with these enhancements:
"has_history": false,
"help": "System services with CPU usage and status",
"data": [
- ["nginx", 25, "Running", {"rowOptions": {"severity": "normal"}}],
- ["mysql", 67, "Stopped", {"rowOptions": {"severity": "error"}}],
- ["redis", 91, "Running", {"rowOptions": {"severity": "warning"}}]
+ ["nginx", 25, "Running", {"severity": "normal"}],
+ ["mysql", 67, "Stopped", {"severity": "critical"}],
+ ["redis", 91, "Running", {"severity": "warning"}]
],
"columns": {
"name": {
@@ -162,7 +162,8 @@ Make your table more useful with these enhancements:
"type": "string",
"visualization": "pill",
"filter": "multiselect"
- }
+ },
+ "rowOptions": {"index": 3, "name": "Row styling", "type": "none", "visualization": "rowOptions", "visible": false}
},
"default_sort_column": "cpu"
}
@@ -376,11 +377,12 @@ Log explorer functions (`has_history: true`) provide advanced log analysis with
"type": "string",
"full_width": true,
"options": ["full_width", "wrap", "visible", "main_text", "fts"]
- }
+ },
+ "rowOptions": {"index": 3, "name": "Row styling", "type": "none", "visualization": "rowOptions", "visible": false}
},
"data": [
- [1697644320000000, {"rowOptions": {"severity": "error"}}, "ERROR", "Service failed"],
- [1697644319000000, {"rowOptions": {"severity": "normal"}}, "INFO", "Service started"]
+ [1697644320000000, "ERROR", "Service failed", {"severity": "critical"}],
+ [1697644319000000, "INFO", "Service started", {"severity": "normal"}]
],
"facets": [
{
@@ -719,24 +721,36 @@ if (usec) {
### Row Coloring by Severity
-Add row coloring by including `rowOptions` as the last element:
+Declare the hidden column under the exact key `rowOptions`, with `type: "none"` and
+`visualization: "rowOptions"`. Put a plain object such as `{"severity": "critical"}` at that column's index
+in every data row. A different column key or an extra `rowOptions` wrapper prevents the UI from finding the
+styling. This example places it at index 2:
```json
{
+ "columns": {
+ "label": {"index": 0, "name": "Label", "type": "string"},
+ "value": {"index": 1, "name": "Value", "type": "string"},
+ "rowOptions": {"index": 2, "name": "Row styling", "type": "none", "visualization": "rowOptions", "visible": false}
+ },
"data": [
- ["normal data", "values", {"rowOptions": {"severity": "normal"}}],
- ["warning data", "values", {"rowOptions": {"severity": "warning"}}],
- ["error data", "values", {"rowOptions": {"severity": "error"}}],
- ["notice data", "values", {"rowOptions": {"severity": "notice"}}]
+ ["normal data", "values", {"severity": "normal"}],
+ ["warning data", "values", {"severity": "warning"}],
+ ["error data", "values", {"severity": "critical"}],
+ ["notice data", "values", {"severity": "notice"}]
]
}
```
**Severity Levels:**
-- `"normal"` - Default appearance
-- `"warning"` - Yellow background
-- `"error"` - Red background
-- `"notice"` - Blue background
+- `"normal"` - Default text
+- `"warning"` - Emphasized warning text
+- `"critical"` - Emphasized error text
+- `"notice"` - Emphasized text
+- `"debug"` - Emphasized muted text
+
+The cell renderer supports `critical`; `error` is not a styling severity. Source health strings and table
+styling are separate contracts.
## Chart and Grouping Configuration
@@ -805,11 +819,9 @@ buffer_rrdf_table_add_field(
RRDF_FIELD_OPTS_VISIBLE, NULL
);
-// Add row coloring
+// At the index declared by the rowOptions column, append the styling object.
buffer_json_add_array_item_object(wb);
-buffer_json_member_add_object(wb, "rowOptions");
-buffer_json_member_add_string(wb, "severity", "error");
-buffer_json_object_close(wb);
+buffer_json_member_add_string(wb, "severity", "critical");
buffer_json_object_close(wb);
```
diff --git a/docs/Developer and Contributor Corner/External Plugins/go.d.plugin/go.d.plugin.mdx b/docs/Developer and Contributor Corner/External Plugins/go.d.plugin/go.d.plugin.mdx
index 68b255592..26b6c0311 100644
--- a/docs/Developer and Contributor Corner/External Plugins/go.d.plugin/go.d.plugin.mdx
+++ b/docs/Developer and Contributor Corner/External Plugins/go.d.plugin/go.d.plugin.mdx
@@ -132,6 +132,7 @@ All capabilities are set automatically during Netdata installation using the [of
| [pulsar](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/pulsar) | Apache Pulsar |
| [puppet](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/puppet) | Puppet |
| [rabbitmq](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rabbitmq) | RabbitMQ |
+| [redfish](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/redfish) | Redfish BMCs |
| [redis](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/redis) | Redis |
| [rethinkdb](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/rethinkdb) | RethinkDB |
| [riakkv](https://github.com/netdata/netdata/tree/master/src/go/plugin/go.d/collector/riakkv) | Riak KV |
diff --git a/docs/Netdata Agent/Configuration/Dynamic Configuration Manager.mdx b/docs/Netdata Agent/Configuration/Dynamic Configuration Manager.mdx
index 58ef0fdcd..e59535032 100644
--- a/docs/Netdata Agent/Configuration/Dynamic Configuration Manager.mdx
+++ b/docs/Netdata Agent/Configuration/Dynamic Configuration Manager.mdx
@@ -250,6 +250,14 @@ Only jobs created through Dynamic Configuration can be removed. Other job types
:::
+Discovered collector jobs keep secret-reference text literal unless their pipeline explicitly enables
+`trust_discovered_targets`. This also trusts target-controlled values copied into jobs by service rules: injected
+references can read files, run commands, or access secrets, and collectors may send resolved values to the target.
+Enable it only if you trust every target discovered by that pipeline. Saving an edited discovered job adopts it as a dynamic
+configuration and enables `${env:...}`, `${file:...}`, `${cmd:...}`, and `${store:...}` throughout the submitted
+configuration. Review the complete configuration before saving, including fields you did not edit. Merely enabling
+or restarting a discovered job does not adopt it. See [Secrets Management](/docs/collecting-metrics/secrets-management).
+
## Multi-Node Deployment
:::tip
diff --git a/docs/Netdata Agent/Installation/Kubernetes Helm chart reference.mdx b/docs/Netdata Agent/Installation/Kubernetes Helm chart reference.mdx
index aae13e074..783e2291a 100644
--- a/docs/Netdata Agent/Installation/Kubernetes Helm chart reference.mdx
+++ b/docs/Netdata Agent/Installation/Kubernetes Helm chart reference.mdx
@@ -12,9 +12,9 @@ slug: "/netdata-agent/installation/kubernetes-helm-chart-reference"
-
+
-
+
_Based on the work of varyumin (https://github.com/varyumin/netdata)_.
diff --git a/docs/Network Performance Monitoring/Device Metrics/Integrations/SNMP devices.mdx b/docs/Network Performance Monitoring/Device Metrics/Integrations/SNMP devices.mdx
index 39064c481..959c8e775 100644
--- a/docs/Network Performance Monitoring/Device Metrics/Integrations/SNMP devices.mdx
+++ b/docs/Network Performance Monitoring/Device Metrics/Integrations/SNMP devices.mdx
@@ -209,11 +209,13 @@ The following options can be defined globally: update_every, autodetection_retry
| | ping.packets | Number of ping packets to send per iteration. | 3 | no |
| | ping.interval | Interval between sending ping packets. | 100ms | no |
| **Profiles** | manual_profiles | A list of profiles to use when `sysObjectID`-based auto-detection cannot be used. To retain baseline IPv4 topology for a device without a usable `sysObjectID`, include `generic-device` alongside its vendor profile. | [] | no |
-| **Virtual node** | create_vnode | If set, the collector will create a Netdata Virtual Node for this SNMP device, which will appear as a separate Node in Netdata. | true | no |
-| | vnode_device_down_threshold | Number of consecutive failed data collections before marking the device as down. | 3 | no |
-| | vnode.guid | A unique identifier for the Virtual Node. If not set, a GUID will be automatically generated from the device's IP address. | | no |
-| | vnode.hostname | The hostname that will be used for the Virtual Node. If not set, the device's hostname will be used. | | no |
-| | vnode.labels | Additional key-value pairs to associate with the Virtual Node. These are merged with the labels SNMP detects automatically from the device (for example, `vendor` and `sys_object_id`). If a key here matches an auto-detected label, your value takes precedence. | | no |
+| **Virtual node** | create_vnode | Create a Virtual Node for this SNMP device when no named vnode reference is set. A named reference takes precedence, including when this option is true. | true | no |
+| | vnode_device_down_threshold | Number of consecutive failed data collections before marking a collector-generated vnode as down. Named vnodes use their own stale_after setting. | 3 | no |
+| | [vnode](#option-virtual-node-vnode) | Name of a centrally configured Virtual Node to attach this job to. Takes precedence over local vnode creation. | | no |
+| | [local_vnode](#option-virtual-node-local-vnode) | Configuration for the Virtual Node created by this job when create_vnode is enabled and no named vnode reference is set. | | no |
+| | local_vnode.guid | A unique identifier for the Virtual Node. If not set, a GUID will be automatically generated from the device's IP address. | | no |
+| | local_vnode.hostname | The hostname that will be used for the Virtual Node. If not set, the device's hostname will be used. | | no |
+| | local_vnode.labels | Additional key-value pairs to associate with the Virtual Node. These are merged with the labels SNMP detects automatically from the device (for example, `vendor` and `sys_object_id`). If a key here matches an auto-detected label, your value takes precedence. | | no |
##### user.level
@@ -259,6 +261,27 @@ The encryption algorithm for SNMPv3 messages that require privacy (`user.priv_pr
| aes256c | 7 | 256-bit AES encryption (CFB-AES-256) with "Reeder" key localization |
+
+##### vnode
+
+A string such as `vnode: router` attaches this job to a vnode defined in `vnodes/*.conf` or dynamic
+configuration. Static YAML vnodes use their hostname as the reference; SNMP-mode vnodes use their
+required stable name. SNMP-mode identity is acquired independently, so this job waits for its first
+usable identity before starting. The reference supplies host identity and labels only: configure this
+job's own address, credentials, and metric profiles. It takes precedence over `create_vnode`.
+
+Use `local_vnode` to configure a vnode created by this job. Legacy inline `vnode` objects remain
+accepted; opening them through dynamic configuration returns the same settings under `local_vnode`.
+
+
+
+##### local_vnode
+
+Optional hostname, GUID, and host-label settings for the vnode owned by this job. Without these
+settings, the collector uses its existing device-derived identity. A named `vnode` reference takes
+precedence. Do not combine a legacy inline `vnode` object with `local_vnode`; use one object.
+
+
@@ -300,6 +323,27 @@ sudo ./edit-config go.d/snmp.conf
##### Examples
+###### Attach to an independently configured vnode
+
+First define the vnode named `router` in `vnodes/*.conf` or the Vnodes dynamic configuration view.
+This job uses its own SNMP connection and metric profiles; the vnode owns host identity and labels.
+
+
+
+Config
+
+```yaml
+jobs:
+ - name: router_metrics
+ vnode: router
+ hostname: 192.0.2.1
+ community: example-collector-community
+ options:
+ version: 2c
+
+```
+
+
###### SNMPv1/2
In this example:
@@ -422,8 +466,8 @@ jobs:
###### Additional node labels
-Because `create_vnode` defaults to true, each SNMP job automatically creates a Virtual Node for its device — no separate vnode definition file is needed.
-Use `vnode.labels` to attach your own labels, for example to group devices by site or rack. These are merged with the labels SNMP detects automatically from the device (such as `vendor` and `sys_object_id`). If a key you set matches an auto-detected label, your value takes precedence.
+Without a named vnode reference, `create_vnode: true` (the default) creates a Virtual Node from this job — no separate vnode definition is needed.
+Use `local_vnode.labels` to attach your own labels, for example to group devices by site or rack. These are merged with the labels SNMP detects automatically from the device (such as `vendor` and `sys_object_id`). If a key you set matches an auto-detected label, your value takes precedence.
@@ -437,7 +481,7 @@ jobs:
community: public
options:
version: 2
- vnode:
+ local_vnode:
labels:
site: dc1
rack: a12
diff --git a/docs/OpenTelemetry/OpenTelemetry Plugin Reference.mdx b/docs/OpenTelemetry/OpenTelemetry Plugin Reference.mdx
index dd63ada03..525d8400e 100644
--- a/docs/OpenTelemetry/OpenTelemetry Plugin Reference.mdx
+++ b/docs/OpenTelemetry/OpenTelemetry Plugin Reference.mdx
@@ -283,6 +283,37 @@ Metrics are created dynamically from supported OpenTelemetry data. The exact cha
## Troubleshooting
+### Known Errors
+
+#### `failed to bind gRPC endpoint 127.0.0.1:4317: Address already in use (os error 98)`
+
+**When**
+
+Logged in the Agent journal at startup by the `otel-plugin/ingestor` worker, followed by `exited with error code 1 and haven't collected any data. Disabling it.` from the Agent.
+
+
+**Cause**
+
+Another process already listens on the configured endpoint. Typical sources are a standalone OpenTelemetry Collector on the same host, or several Netdata Agents running in containers that share the host network namespace (`--network host`), where only one of them can own `127.0.0.1:4317`. The plugin binds the endpoint before it advertises anything, so on a conflict it exits once and the Agent disables it until the next Agent restart.
+
+
+**Fix**
+
+Find the owner with `ss -ltnp 'sport = :4317'`. Then either stop that listener, or give this Agent its own endpoint in `otel.yaml` and point every OTLP sender at the new port (avoid `4318`, the conventional OTLP/HTTP port, which this plugin does not serve):
+
+```yaml
+endpoint:
+ path: 127.0.0.1:14317
+```
+
+When several Agents share one network namespace and only one needs to receive OTLP, disable the plugin on the others in `netdata.conf`:
+
+```ini
+[plugins]
+ otel = no
+```
+
+
### Other Problems
#### The plugin does not start
diff --git a/docs/Welcome to Netdata/Monitor Anything.mdx b/docs/Welcome to Netdata/Monitor Anything.mdx
index b11452a18..c9b29d807 100644
--- a/docs/Welcome to Netdata/Monitor Anything.mdx
+++ b/docs/Welcome to Netdata/Monitor Anything.mdx
@@ -194,7 +194,7 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd
| [eBPF Cachestat](/docs/collecting-metrics/collectors/operating-systems/ebpf-cachestat) | Monitor Linux page cache events giving users a general vision about how the kernel is manipulating files. |
| [eBPF DCstat](/docs/collecting-metrics/collectors/operating-systems/ebpf-dcstat) | Monitor directory cache events given an overall vision about files on memory or storage device. |
| [eBPF DNS](/docs/collecting-metrics/collectors/operating-systems/ebpf-dns) | Monitor DNS query and response traffic at the kernel level, broken down by transport protocol (UDP/TCP) and IP family (IPv4/IPv6). |
-| [eBPF Filedescriptor](/docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor) | Monitor calls for functions responsible to open or close a file descriptor and possible errors. |
+| [eBPF Filedescriptor](/docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor) | Monitor calls for functions responsible to open or close a file. |
| [eBPF Hardirq](/docs/collecting-metrics/collectors/operating-systems/ebpf-hardirq) | Monitor latency for each HardIRQ available. |
| [eBPF OOMkill](/docs/collecting-metrics/collectors/operating-systems/ebpf-oomkill) | Monitor applications that reach out of memory. |
| [eBPF Process](/docs/collecting-metrics/collectors/operating-systems/ebpf-process) | Monitor internal memory usage. |
@@ -424,6 +424,7 @@ Need a dedicated integration? [Submit a feature request](https://github.com/netd
| [Powerpal devices](/docs/collecting-metrics/collectors/hardware-and-sensors/powerpal-devices) | Keep an eye on Powerpal smart meter metrics for efficient energy management and monitoring. |
| [Radio Thermostat](/docs/collecting-metrics/collectors/hardware-and-sensors/radio-thermostat) | Monitor Radio Thermostat smart thermostat metrics for efficient home automation and energy management. |
| [Raritan PDU](/docs/collecting-metrics/collectors/hardware-and-sensors/raritan-pdu) | Monitor Raritan Power Distribution Unit (PDU) metrics for efficient power management and monitoring. |
+| [Redfish](/docs/collecting-metrics/collectors/hardware-and-sensors/redfish) | Monitor standard DMTF Redfish resources exposed by a baseboard management controller (BMC). |
| [Salicru EQX inverter](/docs/collecting-metrics/collectors/hardware-and-sensors/salicru-eqx-inverter) | Keep tabs on Salicru EQX solar inverter metrics for efficient solar energy management and monitoring. |
| [Sense Energy](/docs/collecting-metrics/collectors/hardware-and-sensors/sense-energy) | Keep tabs on Sense Energy smart meter metrics for efficient energy management and monitoring. |
| [Sensors](/docs/collecting-metrics/collectors/hardware-and-sensors/sensors) | This collector monitors sensors on Windows systems. |
diff --git a/ingest/generated_map.yaml b/ingest/generated_map.yaml
index e2c3eb993..79d4bfde5 100644
--- a/ingest/generated_map.yaml
+++ b/ingest/generated_map.yaml
@@ -3740,6 +3740,17 @@
meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/metadata.yaml
message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml
FILE
+- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redfish/README.md
+ sidebar_label: Redfish
+ learn_status: Published
+ learn_rel_path: Collecting Metrics/Collectors/Hardware and Sensors
+ keywords: '[''redfish'', ''bmc'', ''out-of-band'', ''hardware'', ''server'', ''idrac'',
+ ''ilo'']'
+ description: Monitor standard DMTF Redfish resources exposed by a baseboard management
+ controller (BMC).
+ meta_yaml: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redfish/metadata.yaml
+ message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml
+ FILE
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/prometheus/integrations/salicru_eqx_inverter.md
sidebar_label: Salicru EQX inverter
learn_status: Published
@@ -4597,14 +4608,13 @@
meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/metadata.yaml
message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml
FILE
-- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filedescriptor.md
+- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/integrations/ebpf_filedescriptor.md
sidebar_label: eBPF Filedescriptor
learn_status: Published
learn_rel_path: Collecting Metrics/Collectors/Operating Systems
- keywords: '[''file'', ''eBPF'', ''fd'', ''open'', ''close'']'
- description: Monitor calls for functions responsible to open or close a file descriptor
- and possible errors.
- meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/metadata.yaml
+ keywords: '[''file'', ''eBPF'', ''file descriptor'', ''open'', ''close'']'
+ description: Monitor calls for functions responsible to open or close a file.
+ meta_yaml: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/metadata.yaml
message: DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml
FILE
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_hardirq.md
diff --git a/ingest/generated_sidebar_order.json b/ingest/generated_sidebar_order.json
index c3b002ab1..119d1e4eb 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": "d0e76a8b2a2f7602b5832db7ff77c2169aab960a29ace7194a5e3422c113e997",
- "source_corpus_sha256": "ab4775c9df9c36c2508e9ef1efe83461aedafbd6befc3951267c7d3deb23016d",
+ "source_corpus_sha256": "ff7684cbc2b01f629c754017321a9bf90fd13cb38a7fbf50cfc05ab35bc612bd",
"order": [
{
"parent_path": "Alerts & Notifications",
@@ -1800,5 +1800,5 @@
"position": 180
}
],
- "full_ingest_identity_sha256": "4953d7b69d48405b021f11fd3c26f865cb6caea5d7c1a5ead51518a6b902c4fd"
+ "full_ingest_identity_sha256": "0fd6383cec5ac2d6e17be0d156a55f1719c90920570e386cc68bf9fa58ad17eb"
}
diff --git a/ingest/generated_sidebar_order.json.sha256 b/ingest/generated_sidebar_order.json.sha256
index 4f856f996..3717dba08 100644
--- a/ingest/generated_sidebar_order.json.sha256
+++ b/ingest/generated_sidebar_order.json.sha256
@@ -1 +1 @@
-0957b19a82a7d996d3a56c95fa09a47181efd3701101a929898c3a049cef976a generated_sidebar_order.json
+cd45874d4252f1b97166f4d324aa86fdd933b17696accc57316223ed8aecf53d generated_sidebar_order.json
diff --git a/ingest/one_commit_back_file-dict.yaml b/ingest/one_commit_back_file-dict.yaml
index e6e014bc5..f741b80fa 100644
--- a/ingest/one_commit_back_file-dict.yaml
+++ b/ingest/one_commit_back_file-dict.yaml
@@ -636,12 +636,12 @@
learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-dcstat
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/integrations/ebpf_dns.md
learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-dns
+- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/ebpfgo.plugin/integrations/ebpf_filedescriptor.md
+ learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_dcstat.md
learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-dcstat-ebpf-plugin
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_disk.md
learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-disk
-- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filedescriptor.md
- learn_path: /docs/collecting-metrics/collectors/operating-systems/ebpf-filedescriptor
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_filesystem.md
learn_path: /docs/collecting-metrics/collectors/storage-and-filesystems/ebpf-filesystem
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/collectors/ebpf.plugin/integrations/ebpf_hardirq.md
@@ -1632,6 +1632,8 @@
learn_path: /docs/collecting-metrics/collectors/cloud-and-devops/puppet
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rabbitmq/README.md
learn_path: /docs/collecting-metrics/collectors/databases/rabbitmq
+- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redfish/README.md
+ learn_path: /docs/collecting-metrics/collectors/hardware-and-sensors/redfish
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/redis/README.md
learn_path: /docs/collecting-metrics/collectors/databases/redis
- custom_edit_url: https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/collector/rethinkdb/README.md