文档文档

内核输入插件

此插件收集有关 Linux 内核 的指标,包括(但不限于)可用熵内核相同页面合并压力停滞信息

引入于: Telegraf v0.11.0 标签: system 操作系统支持: linux

全局配置选项

插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md

配置

# Plugin to collect various Linux kernel statistics.
# This plugin ONLY supports Linux
[[inputs.kernel]]
  ## Additional gather options
  ## Possible options include:
  ## * ksm - kernel same-page merging
  ## * psi - pressure stall information
  # collect = []

请查阅 /proc/stat 部分下方关于底层内核接口的文档,该部分在 proc man page 中,同时也可以参考 random man page/proc interfaces 部分的文档。

内核相同页面合并(Kernel Samepage Merging)通常在 kernel documentation 中进行文档说明,通过 sysfs 暴露的可用指标在 admin guide 中进行了文档说明。

压力驻留信息(Pressure Stall Information)通过 /proc/pressure 暴露,并在 kernel documentation 中进行了文档说明。需要内核版本 4.20+。

Metrics

  • kernel

    • boot_time (int) - 自 epoch 以来的秒数,btime
    • context_switches (int) - 上下文切换次数 ctxt
    • disk_pages_in (int) - page (0)
    • disk_pages_out (int) - page (1)
    • interrupts (int) - 中断次数 intr
    • processes_forked (int) - fork 的进程数 processes
    • entropy_avail (int) - 当前可用的熵值 entropy_available
    • ksm_full_scans (int) - 可合并区域的扫描次数 full_scans
    • ksm_max_page_sharing (int) - 每个 KSM 页允许的最大共享数 max_page_sharing
    • ksm_merge_across_nodes (int) - 跨 NUMA 节点合并页面的标志 merge_across_nodes
    • ksm_pages_shared (int) - 正在使用的共享页数 pages_shared
    • ksm_pages_sharing (int) - 共享页面的站点数 pages_sharing
    • ksm_pages_to_scan (int) - ksmd 休眠前要扫描的页面数 pages_to_scan
    • ksm_pages_unshared (int) - 唯一但反复检查合并的页面数 pages_unshared
    • ksm_pages_volatile (int) - 变化太快而无法放入树中的页面数 pages_volatile
    • ksm_run (int) - ksm 是否正在运行的标志 run
    • ksm_sleep_millisecs (int) - ksmd 在扫描之间的休眠时间(毫秒)sleep_millisecs
    • ksm_stable_node_chains (int) - 达到 max_page_sharing 限制的 KSM 页数 stable_node_chains
    • ksm_stable_node_chains_prune_millisecs (int) - KSM 检查页面元数据达到去重限制的频率(毫秒)stable_node_chains_prune_millisecs
    • ksm_stable_node_dups (int) - 重复的 KSM 页数 stable_node_dups
    • ksm_use_zero_pages (int) - 是否将空页面特殊处理的标志 use_zero_pages
  • pressure (如果 psi 包含在 collect 中)

    • 标签 (tags)
      • resource: cpu, memory, or io
      • type: some or full
    • 浮点数字段: avg10, avg60, avg300
    • 整数字段: total

示例输出

默认配置

kernel boot_time=1690487872i,context_switches=321398652i,entropy_avail=256i,interrupts=141868628i,processes_forked=946492i 1691339564000000000

如果 ksm 包含在 collect

kernel boot_time=1690487872i,context_switches=321252729i,entropy_avail=256i,interrupts=141783427i,ksm_full_scans=0i,ksm_max_page_sharing=256i,ksm_merge_across_nodes=1i,ksm_pages_shared=0i,ksm_pages_sharing=0i,ksm_pages_to_scan=100i,ksm_pages_unshared=0i,ksm_pages_volatile=0i,ksm_run=0i,ksm_sleep_millisecs=20i,ksm_stable_node_chains=0i,ksm_stable_node_chains_prune_millisecs=2000i,ksm_stable_node_dups=0i,ksm_use_zero_pages=0i,processes_forked=946467i 1691339522000000000

如果 psi 包含在 collect

pressure,resource=cpu,type=some avg10=1.53,avg60=1.87,avg300=1.73 1700000000000000000
pressure,resource=memory,type=some avg10=0.00,avg60=0.00,avg300=0.00 1700000000000000000
pressure,resource=memory,type=full avg10=0.00,avg60=0.00,avg300=0.00 1700000000000000000
pressure,resource=io,type=some avg10=0.0,avg60=0.0,avg300=0.0 1700000000000000000
pressure,resource=io,type=full avg10=0.0,avg60=0.0,avg300=0.0 1700000000000000000
pressure,resource=cpu,type=some total=1088168194i 1700000000000000000
pressure,resource=memory,type=some total=3463792i 1700000000000000000
pressure,resource=memory,type=full total=1429641i 1700000000000000000
pressure,resource=io,type=some total=68568296i 1700000000000000000
pressure,resource=io,type=full total=54982338i 1700000000000000000

请注意,resource=cpu,type=full 的组合被省略了,因为它始终为零。


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2