Skip to content

Improve cgroups.plugin discoverability with per-technology modules#21737

Merged
ktsaou merged 1 commit intomasterfrom
cgroups-discoverability
Feb 11, 2026
Merged

Improve cgroups.plugin discoverability with per-technology modules#21737
ktsaou merged 1 commit intomasterfrom
cgroups-discoverability

Conversation

@ktsaou
Copy link
Member

@ktsaou ktsaou commented Feb 11, 2026

Summary

  • Add 8 new module entries in metadata.yaml for Docker, Podman, AWS ECS, Nomad, containerd, systemd-nspawn, OpenShift, and OpenStack — 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 module names: "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 14 technologies with cgroup naming support
  • Fix Systemd Services keywords indentation bug and metrics_description typo

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

  • YAML validates correctly (python3 -c "import yaml; yaml.safe_load(open('src/collectors/cgroups.plugin/metadata.yaml'))")
  • rg "proxmox" on metadata.yaml finds Proxmox entries with comprehensive keywords
  • rg "openshift" finds the OpenShift entry
  • rg "kvm" finds VM-related entries (Virtual Machines, Libvirt, oVirt, Proxmox, OpenStack)
  • CI integration generator creates 16 integration pages (8 existing + 8 new)
  • No broken YAML anchors

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

    • Add 8 modules: Docker, Podman, AWS ECS, Nomad, containerd, systemd-nspawn, OpenShift, OpenStack.
    • Enrich keywords with synonyms (e.g., kvm, qemu, proxmox ve, pve, incus, rhev).
    • Rename modules for clarity: Libvirt VMs and Containers, oVirt VMs, Proxmox VMs and Containers.
    • Add “Supported Technologies” to README with 14 technologies that get friendly naming.
  • Bug Fixes

    • Fix Systemd Services keywords indentation.
    • Correct metrics_description typo in Systemd Services.

Written for commit c25e2b0. Summary will update on new commits.

…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
@github-actions github-actions bot added area/docs area/collectors Everything related to data collection collectors/cgroups area/metadata Integrations metadata labels Feb 11, 2026
@ktsaou ktsaou merged commit 9ffd16e into master Feb 11, 2026
147 checks passed
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yaml uses data-collection instead of data_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 uses data_collection so 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
Loading

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."
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Fix with Cubic

<<: *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.
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Fix with Cubic

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
@ilyam8 ilyam8 deleted the cgroups-discoverability branch March 4, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/collectors Everything related to data collection area/docs area/metadata Integrations metadata collectors/cgroups

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants