Improve cgroups.plugin discoverability with per-technology modules#21737
Merged
Improve cgroups.plugin discoverability with per-technology modules#21737
Conversation
…d keywords - Add 8 new module entries for Docker, Podman, AWS ECS, Nomad, containerd, systemd-nspawn, OpenShift, and OpenStack so each technology gets its own integration page - Enrich keywords on all 8 existing modules with technology synonyms (e.g., kvm, qemu, proxmox ve, pve, openshift, rhev, incus, etc.) - Rename misleading modules: "Libvirt Containers" → "Libvirt VMs and Containers", "oVirt Containers" → "oVirt VMs", "Proxmox Containers" → "Proxmox VMs and Containers" - Add Supported Technologies section to README.md listing all technologies with naming support - Fix Systemd Services keywords indentation bug (was nested under monitored_instance instead of meta) - Fix metrics_description typo in Systemd Services module
vkalintiris
approved these changes
Feb 11, 2026
Contributor
There was a problem hiding this comment.
2 issues found across 2 files
Confidence score: 4/5
- Issues are low severity (4/10) and limited to metadata descriptions, so overall risk appears minimal and safe to merge.
src/collectors/cgroups.plugin/metadata.yamlusesdata-collectioninstead ofdata_collection, so new Systemd Services and Kubernetes descriptions may be ignored by tooling expecting the underscore key.- Pay close attention to
src/collectors/cgroups.plugin/metadata.yaml- ensure schema key usesdata_collectionso descriptions are picked up.
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="src/collectors/cgroups.plugin/metadata.yaml">
<violation number="1" location="src/collectors/cgroups.plugin/metadata.yaml:458">
P2: The Kubernetes metrics_description is nested under `data-collection` (hyphen), but the schema elsewhere uses `data_collection`. This creates a separate, unused key, so the new description won’t be used by tooling expecting `data_collection`.</violation>
<violation number="2" location="src/collectors/cgroups.plugin/metadata.yaml:857">
P2: The Systemd Services metrics_description is under `data-collection` (hyphen) instead of `data_collection`, so the new description is likely ignored by consumers expecting the underscore key.</violation>
</file>
Architecture diagram
sequenceDiagram
participant User as User / Search Engine
participant Docs as Docusaurus / AI Agent
participant Meta as metadata.yaml
participant Plugin as cgroups.plugin (Netdata)
participant Kernel as Linux Cgroups (/sys/fs/cgroup)
participant Runtime as Container/VM Runtime (Docker/Libvirt/etc)
Note over User,Meta: Discovery Phase (Metadata Changes)
User->>Docs: Search for "Podman", "OpenShift", or "KVM"
Docs->>Meta: Query keywords and module names
Meta-->>Docs: NEW: Technology-specific matches (e.g., "Podman Containers")
Meta-->>Docs: CHANGED: Renamed matches (e.g., "Libvirt VMs and Containers")
Docs-->>User: Display dedicated Integration Page
Note over Plugin,Runtime: Runtime Flow (Logic documented in README)
Plugin->>Kernel: Scan cgroup hierarchy
Kernel-->>Plugin: Raw cgroup paths (e.g., /docker/abc123...)
Plugin->>Plugin: Match path to "Supported Technology"
alt NEW: Technology with Friendly Naming (Docker, Podman, ECS, etc.)
Plugin->>Runtime: Query Friendly Name (via socket or API)
Runtime-->>Plugin: Return "web-server-prod"
Plugin->>Plugin: Map ID to Human-Readable Name
else Unknown Technology
Plugin->>Plugin: Fallback to Raw Cgroup Path
end
Plugin-->>User: Display Metrics with Resolved Names
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
| data-collection: | ||
| <<: *data_collection | ||
| metrics_desctiption: "Monitor Systemd Services for performance, resource usage, and health status." | ||
| metrics_description: "Monitor Systemd service resource utilization — CPU, memory, and disk I/O — via Linux cgroups." |
Contributor
There was a problem hiding this comment.
P2: The Systemd Services metrics_description is under data-collection (hyphen) instead of data_collection, so the new description is likely ignored by consumers expecting the underscore key.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/collectors/cgroups.plugin/metadata.yaml, line 857:
<comment>The Systemd Services metrics_description is under `data-collection` (hyphen) instead of `data_collection`, so the new description is likely ignored by consumers expecting the underscore key.</comment>
<file context>
@@ -814,14 +843,18 @@ modules:
data-collection:
<<: *data_collection
- metrics_desctiption: "Monitor Systemd Services for performance, resource usage, and health status."
+ metrics_description: "Monitor Systemd service resource utilization — CPU, memory, and disk I/O — via Linux cgroups."
alerts: []
metrics:
</file context>
| <<: *data_collection | ||
| metrics_description: Monitor Kubernetes Clusters for performance, resource usage, and health status. | ||
| alerts: | ||
| metrics_description: Monitor Kubernetes pod and container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups. |
Contributor
There was a problem hiding this comment.
P2: The Kubernetes metrics_description is nested under data-collection (hyphen), but the schema elsewhere uses data_collection. This creates a separate, unused key, so the new description won’t be used by tooling expecting data_collection.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/collectors/cgroups.plugin/metadata.yaml, line 458:
<comment>The Kubernetes metrics_description is nested under `data-collection` (hyphen), but the schema elsewhere uses `data_collection`. This creates a separate, unused key, so the new description won’t be used by tooling expecting `data_collection`.</comment>
<file context>
@@ -422,12 +434,29 @@ modules:
<<: *data_collection
- metrics_description: Monitor Kubernetes Clusters for performance, resource usage, and health status.
- alerts:
+ metrics_description: Monitor Kubernetes pod and container resource utilization — CPU, memory, disk I/O, and network — via Linux cgroups.
+ alerts: &k8s_alerts
- name: k8s_cgroup_10min_cpu_usage
</file context>
Ancairon
pushed a commit
to Ancairon/netdata
that referenced
this pull request
Feb 12, 2026
…etdata#21737) Improve cgroups.plugin discoverability with per-technology modules and keywords - Add 8 new module entries for Docker, Podman, AWS ECS, Nomad, containerd, systemd-nspawn, OpenShift, and OpenStack so each technology gets its own integration page - Enrich keywords on all 8 existing modules with technology synonyms (e.g., kvm, qemu, proxmox ve, pve, openshift, rhev, incus, etc.) - Rename misleading modules: "Libvirt Containers" → "Libvirt VMs and Containers", "oVirt Containers" → "oVirt VMs", "Proxmox Containers" → "Proxmox VMs and Containers" - Add Supported Technologies section to README.md listing all technologies with naming support - Fix Systemd Services keywords indentation bug (was nested under monitored_instance instead of meta) - Fix metrics_description typo in Systemd Services module
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
metadata.yamlfor Docker, Podman, AWS ECS, Nomad, containerd, systemd-nspawn, OpenShift, and OpenStack — each technology gets its own integration pagekvm,qemu,proxmox ve,pve,openshift,rhev,incus, etc.)Why
Searching for "proxmox", "kvm", "openshift", "podman", etc. in the codebase or docs either missed relevant cgroups.plugin entries or returned misleading results (e.g., "Proxmox Containers" implying only LXC, not VMs). This affected Docusaurus search, AI support agents using
rg/grep, and search engine indexing.Test plan
python3 -c "import yaml; yaml.safe_load(open('src/collectors/cgroups.plugin/metadata.yaml'))")rg "proxmox"on metadata.yaml finds Proxmox entries with comprehensive keywordsrg "openshift"finds the OpenShift entryrg "kvm"finds VM-related entries (Virtual Machines, Libvirt, oVirt, Proxmox, OpenStack)Summary by cubic
Improves cgroups.plugin discoverability with per-technology modules and richer keywords, so searches for Docker, Podman, Proxmox, KVM, OpenShift, etc. route to the right integration pages. Also documents supported technologies and fixes small Systemd issues.
New Features
Bug Fixes
Written for commit c25e2b0. Summary will update on new commits.