Skip to content

Conversation

@eschabell
Copy link
Collaborator

@eschabell eschabell commented Nov 27, 2025

Updating node exporter metrics input plugin docs for netstat collector enhancement and added missing config options. Fixes #2213.

Summary by CodeRabbit

  • Documentation
    • Reorganized and expanded configuration docs with granular per-collector scrape-interval keys, global default/override semantics, and updated publishing behavior.
    • Added docs for new collectors and options (hwmon, netstat, nvme, processes, sockstat, thermal_zone, textfile), including path/metric and include/exclude settings.
    • Updated metrics overview and collectors table with OS coverage, version updates, renamed/reordered keys, new ignore/regex fields, revised defaults, examples, and editorial tweaks.

✏️ Tip: You can customize this high-level summary in your review settings.

…r enhancement and added missing config options. Fixes #2213.

Signed-off-by: Eric D. Schabell <[email protected]>
@eschabell eschabell added this to the Fluent Bit Docs 4.2 milestone Nov 27, 2025
@eschabell eschabell self-assigned this Nov 27, 2025
@eschabell eschabell requested review from a team as code owners November 27, 2025 13:14
@eschabell eschabell added the 4.2 label Nov 27, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

Walkthrough

Documentation for the Node Exporter metrics plugin updated: renamed "Configuration" to "Configuration parameters"; added per-collector configuration keys (including collector.<name>.scrape_interval and collector-specific path/metric keys); introduced new Linux collectors (hwmon, netstat, nvme, processes, sockstat, systemd, thermal_zone, textfile); refreshed configuration and collectors availability tables and minor editorial edits.

Changes

Cohort / File(s) Summary
Documentation updates
pipeline/inputs/node-exporter-metrics.md
Renamed "Configuration" → "Configuration parameters"; added granular per-collector keys (e.g., collector.<name>.scrape_interval) with global-default/override semantics; added collector-specific keys (paths, include/exclude/metrics); introduced new collectors: hwmon, netstat, nvme, processes, sockstat, systemd, thermal_zone/thermalzone, textfile; expanded/reordered configuration Key/Description table and collectors availability table; minor wording/casing edits and examples updated.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • Single documentation file with consistent informational changes.
  • Areas to spot-check:
    • Consistency of collector names (thermal_zone vs thermalzone) across tables and examples.
    • Per-collector scrape_interval semantics and example overrides.
    • New collectors' OS/version entries in the availability table.

Suggested reviewers

  • patrick-stephens
  • esmerel

Poem

🐰 I hopped through pages, tidy and quick,
New collectors lined up, each with its tick,
Per-collector beats set the timing right,
Metrics hum softly through day and night,
A tiny hop — docs polished and slick.

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: updating node exporter metrics input plugin docs for netstat collector enhancement and adding missing config options.
Linked Issues check ✅ Passed The PR addresses the primary objective of issue #2213 by documenting the netstat Linux collector addition and includes comprehensive documentation of configuration options for multiple collectors.
Out of Scope Changes check ✅ Passed All changes are focused on documentation updates for the node-exporter-metrics input plugin, documenting newly added collectors and configuration options in scope with issue #2213.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
pipeline/inputs/node-exporter-metrics.md (1)

49-49: Hyphenate compound modifier.

On line 49, "system level process" should be "system-level process" to properly hyphenate the compound adjective.

Apply this diff:

-| `collector.processes.scrape_interval` | The rate in seconds at which system level `process` metrics are collected from the host operating system. | `0` |
+| `collector.processes.scrape_interval` | The rate in seconds at which system-level `process` metrics are collected from the host operating system. | `0` |
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 863ec6d and 7d9bd96.

📒 Files selected for processing (1)
  • pipeline/inputs/node-exporter-metrics.md (4 hunks)
🧰 Additional context used
🪛 LanguageTool
pipeline/inputs/node-exporter-metrics.md

[grammar] ~49-~49: Use a hyphen to join words.
Context: ...l| The rate in seconds at which system levelprocess` metrics are collected fr...

(QB_NEW_EN_HYPHEN)

🔇 Additional comments (6)
pipeline/inputs/node-exporter-metrics.md (6)

18-30: Configuration section is now well-explained with granular interval behavior.

The reorganization clearly documents how scrape_interval interacts at global and collector-specific levels, and the down-sampling behavior explanation (lines 20-30) is helpful for users tuning collection intervals. The naming change to "Configuration parameters" better reflects the expanded content.


39-43: hwmon collector filter options properly documented.

The new chip-exclude, chip-include, sensor-exclude, and sensor-include options are well-integrated into the table with clear descriptions. These filtering capabilities match the scope of the hwmon collector.


45-58: New collector configuration entries align with PR objectives.

The netstat collector configuration (line 47) is now documented alongside other network collectors (netdev, sockstat). All new collectors introduced in version 2.2.0+ (netstat, nvme, processes, hwmon, sockstat, textfile, thermal_zone) have corresponding configuration entries with consistent defaults and descriptions.


62-62: Verify default metrics string includes all documented collectors.

The metrics default value on line 62 now includes thermal_zone, nvme, and hwmon. Confirm the comma-separated list correctly reflects all available collectors that should be enabled by default. The list appears complete and well-ordered, but request verification of this critical configuration default.


79-100: Collectors table successfully updated with new 2.2.x entries.

The collectors table now documents eight new collectors with proper version annotations (2.2.0 for netstat, nvme, processes, sockstat, textfile; 2.2.0 for hwmon; 2.2.1 for thermal_zone). Cross-references between the configuration table and collectors table are consistent. Descriptions clearly indicate data source locations (/proc, /sys paths) where applicable.


228-228: Minor heading capitalization correction applied.

The heading "Stop the Service" has been changed to "Stop the service" for consistency with documentation style conventions (title-casing reserved for section headers, not subsection instructions).

Signed-off-by: Eric D. Schabell <[email protected]>
@eschabell
Copy link
Collaborator Author

Waiting on warning:

Rate limit exceeded
eschabell has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 21 minutes and 18 seconds before requesting another review.

@eschabell eschabell added the waiting-on-review Waiting on a review from mainteners label Nov 27, 2025
@eschabell
Copy link
Collaborator Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7d9bd96 and 02efeec.

📒 Files selected for processing (1)
  • pipeline/inputs/node-exporter-metrics.md (4 hunks)
🔇 Additional comments (4)
pipeline/inputs/node-exporter-metrics.md (4)

18-30: Clear explanation of granular scrape intervals.

The new documentation (lines 20-30) effectively explains the interaction between global and per-collector scrape intervals, including the important detail that the override only affects collection frequency, not publishing frequency. This supports down-sampling use cases well.


59-61: Verify regex escape sequences render correctly in markdown.

Lines 59-61 and 67-69 contain complex regex patterns with backslash escaping (e.g., ^(autofs\|binfmt_misc... and .+\\.(automount\|device...). Verify that these patterns render correctly when the documentation is published, particularly ensuring backslashes are not stripped or double-escaped during processing.

To verify the rendering, check if the markdown renders the escape sequences as intended when viewed in the published documentation (GitHub/docs site). If these patterns are too complex, consider moving them to a code block for clarity.

Also applies to: 67-69


86-86: Verify version numbers for newly added collectors.

Lines 86, 90-97 assign version 2.2.0 (and 2.2.1 for thermal_zone) to the newly added collectors (hwmon, netstat, nvme, processes, sockstat, textfile, thermal_zone). Confirm these version numbers accurately reflect when each collector was first available in Fluent Bit.

Since the PR references issue #2213 and these appear to be 4.2 enhancements, verify that the version numbers (2.2.0, 2.2.1) align with the actual Fluent Bit release schedule and do not require adjustment.

Also applies to: 90-97


228-228: Heading case change is appropriate.

The change from "Stop the Service" to "Stop the service" (line 228) aligns with standard documentation style conventions for heading capitalization.

Signed-off-by: Eric D. Schabell <[email protected]>
@eschabell
Copy link
Collaborator Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 02efeec and 563f2a2.

📒 Files selected for processing (1)
  • pipeline/inputs/node-exporter-metrics.md (4 hunks)
🔇 Additional comments (2)
pipeline/inputs/node-exporter-metrics.md (2)

20-72: Comprehensive documentation updates for expanded collector support.

The configuration parameters section has been thoroughly expanded with granular per-collector scrape_interval controls and new collector-specific options. The explanation of global vs. per-collector interval override behavior (lines 20–30) is clear and the configuration table now documents:

  • Eight new collectors: hwmon, netstat, nvme, processes, sockstat, systemd, textfile, thermal_zone
  • Per-collector tuning parameters (e.g., hwmon chip/sensor filters, textfile path)
  • Filesystem and diskstats ignore patterns
  • systemd unit filtering options

All naming is consistent (e.g., thermal_zone with underscore, matching node-exporter flags).


79-100: Collectors table properly documents new collectors with version information.

All eight new collectors are present in the collectors table with appropriate descriptions and version numbers (2.1.3–2.2.1), and operating system coverage is accurately specified (e.g., Linux-only for netstat, nvme, processes, sockstat; Linux for systemd and textfile).

Signed-off-by: Eric D. Schabell <[email protected]>
@eschabell
Copy link
Collaborator Author

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 27, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
pipeline/inputs/node-exporter-metrics.md (1)

62-62: Metrics field description is comprehensive but dense—consider breaking into multiple lines for readability.

The metrics field on line 62 now correctly documents dependencies for all collectors (procfs, sysfs, systemd, custom files) and callouts for textfile requiring explicit path configuration. However, the single-line sentence is quite long and could benefit from either a list format or a link to the collectors table above for easy reference.

As written, it is accurate and addresses the previous review feedback, but a minor readability improvement would be welcomed.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 563f2a2 and e9cd2cb.

📒 Files selected for processing (1)
  • pipeline/inputs/node-exporter-metrics.md (4 hunks)
🔇 Additional comments (4)
pipeline/inputs/node-exporter-metrics.md (4)

18-31: Excellent documentation of granular collector intervals and override behavior.

The restructured "Configuration parameters" section (lines 18–31) clearly explains how global scrape_interval interacts with collector-specific overrides, including the important nuance that publishing intervals remain tied to the global setting (line 26–28). This helps users understand down-sampling trade-offs. The explanation is well-sequenced and reader-friendly.


32-71: Configuration table comprehensively documents all collector options and system paths.

The expanded configuration table properly documents:

  • Per-collector scrape intervals (lines 34–57)
  • Collector-specific paths and regex patterns (lines 39–43, 59–61)
  • systemd unit filtering and task metrics toggles (lines 67–71)
  • Global filesystem/diskstats ignore patterns with updated regex (lines 59–61)
  • System path overrides for procfs/sysfs/rootfs (lines 63–65)

All entries follow a consistent collector.<name>.<option> naming convention. Defaults are clear and align with the override semantics explained above.


79-100: Collectors table now reflects netstat and other new collectors with version tracking.

The collectors availability table correctly documents eight newly added collectors (hwmon, netstat, nvme, processes, sockstat, thermal_zone, textfile, systemd revision) with their OS support and Fluent Bit versions (2.2.0–2.2.1 for recent additions). The descriptions are concise and map to the configuration table entries above.


110-199: Examples remain simple and appropriate for introductory use.

The configuration examples (YAML and conf formats) and container deployment instructions are still valid and demonstrate the basic setup flow. They do not showcase the new per-collector scrape intervals, but this is acceptable for an introductory example—advanced users can refer to the configuration table above.

@eschabell
Copy link
Collaborator Author

AI review passed, merging.

@eschabell eschabell merged commit 221387f into fluent:master Nov 27, 2025
8 checks passed
@eschabell eschabell deleted the erics_in_node_exporter_42 branch November 27, 2025 15:16
@eschabell eschabell removed the waiting-on-review Waiting on a review from mainteners label Nov 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement 4.2 - Node exporter metrics plugin

1 participant