Windows下fluent-bit无法采集CPU/磁盘/内存指标的解决方法
Windows环境Fluent Bit采集CPU、磁盘、内存指标配置与排障
前置校验项
- 必须使用2.0及以上正式版本的Windows版Fluent Bit,1.x分支的Windows系统指标插件存在兼容性缺陷,会出现计数器读取失败、字段为空等问题
- 启动Fluent Bit时必须授予管理员权限:右键选择「以管理员身份运行」,如果注册为Windows服务,需配置服务运行身份为本地系统账户,普通权限无权读取系统性能计数器、磁盘设备统计数据
- 禁止直接套用Linux环境的配置文件,Windows平台的系统指标输入插件命名、参数规则和Linux环境完全不同
最小可用配置
以下配置可直接复制使用,已覆盖CPU、内存、逻辑磁盘、物理磁盘IO三类核心指标采集,默认输出到控制台方便调试:
[SERVICE] Flush 1 Daemon Off Log_Level info # Windows环境必须指定配置编码为UTF-8,否则会出现插件加载异常 Config_File UTF-8 # CPU指标采集,注意Windows专属插件名是windows_cpu,不是Linux下的cpu [INPUT] Name windows_cpu Tag win_metrics.cpu Interval_Sec 1 # 内存指标采集,专属插件名windows_mem [INPUT] Name windows_mem Tag win_metrics.mem # 逻辑磁盘(分区容量、使用率)指标采集 [INPUT] Name windows_disk_logical Tag win_metrics.disk_logical # 过滤光驱、恢复分区等不需要采集的文件系统类型 Exclude_Filesystem FAT,CDFS,UDF # 物理磁盘IO指标采集 [INPUT] Name windows_disk_io Tag win_metrics.disk_io # 调试输出:采集结果直接打印到控制台,验证正常后可替换为业务侧需要的输出端 [OUTPUT] Name stdout Match win_metrics.*
常见采集失败排障
- 启动提示插件不存在/加载失败:检查安装包为官方完整Windows安装包,第三方精简、绿色打包版本通常会剔除Windows专属指标插件
- 启动无报错但无指标输出:将SERVICE段的
Log_Level调整为debug,查看日志是否存在性能计数器访问失败记录,这类问题90%为权限不足导致,重新以管理员身份启动即可 - 磁盘指标仅采集到C盘、缺失其他分区:检查
Exclude_Filesystem配置是否误过滤NTFS类型分区,同时确认当前账户对目标分区有读取权限,BitLocker加密分区需解锁后才能采集统计数据 - CPU指标数值持续为0:属于Windows性能计数器库损坏问题,在管理员权限命令行执行
lodctr /r重置性能计数器库,重启系统后即可恢复正常采集 - 所有指标均无输出:检查配置中是否误用了Linux环境的
cpu/mem/disk插件,这类插件在Windows环境下不会生效,必须使用带windows_前缀的专属采集插件,这是最高发的配置错误
采集验证
配置完成后,在Fluent Bit安装目录的bin路径下,以管理员身份打开命令行或PowerShell,执行以下命令启动:
.\fluent-bit.exe -c 你的配置文件完整路径.conf
正常启动后控制台会每秒打印一次格式化的指标JSON数据,确认字段完整、数值符合预期后,即可将stdout输出插件替换为实际业务需要的输出目标(如Elasticsearch、Loki、Kafka等)。
内容的提问来源于stack exchange,提问作者Kaustubh
相关产品推荐
相关产品推荐

