Windows perfmon 指标集
编辑Windows perfmon 指标集编辑
Windows 模块的 perfmon
指标集读取 Windows 性能计数器。
配置编辑
您必须为要收集的 Windows 性能计数器配置查询。以下示例每 10 秒收集一次处理器时间和磁盘写入。如果任何计数器不存在,它将忽略错误。
- module: windows metricsets: [perfmon] period: 10s perfmon.ignore_non_existent_counters: true perfmon.group_measurements_by_instance: true perfmon.queries: - object: "Process" instance: ["svchost*", "conhost*"] counters: - name: "% Processor Time" field: time.processor.pct format: "float" - name: "Thread Count" field: thread_count - name: "IO Read Operations/sec" - object: "PhysicalDisk" field : "disk" instance: "*" counters: - name: "Disk Writes/sec" - name: "% Disk Write Time" field: "write_time" format: "float"
-
ignore_non_existent_counters
- 一个布尔选项,当设置为 true 时,会导致指标集忽略由不存在的计数器引起的错误。不会出现错误,而是会在信息级别记录一条消息,指出计数器不存在。
-
group_measurements_by_instance
- 一个布尔选项,会导致 Metricbeat 将所有具有匹配的 perfmon 实例的测量值作为单个事件发送。在上面的示例中,这将导致 physical_disk.write.per_sec 和 physical_disk.write.time.pct 测量值作为单个事件发送。默认行为是将所有测量值作为单独的事件发送。
-
refresh_wildcard_counters
- 一个布尔选项,用于在每次获取时刷新计数器列表。默认情况下,计数器列表将在开始时检索,要刷新每次获取的列表,用户必须启用此设置。
查询配置编辑
query
列表中的每个项目都指定要执行的多个 perfmon 查询。在指标集生成的事件中,这些配置选项映射到如下所示的字段值。
-
object
- 要查询的性能对象。性能对象可以是物理组件,例如处理器、磁盘和内存,也可以是系统对象,例如进程和线程。必需
-
field
- 对象字段/标签。非必需,如果未输入,它将是
object
。 -
instance
- 匹配 ParentInstance、ObjectInstance 和 InstanceIndex,如果对象存在多个实例,则包含在路径中。对于不包含一个的性能计数器,非必需。
-
counters
- 部分计数器路径列表(至少需要一个部分计数器路径)。
-
name
- 计数器名称。必需。这是在性能数据帮助程序 (PDH) 语法中指定的计数器。例如,在计数器路径
\Processor Information(_Total)\% Processor Time
的情况下,此配置选项的值将是% Processor Time
。 -
field
- 计数器路径值字段/标签。非必需,如果未输入,它将根据计数器路径生成。
-
format
- 测量值格式。该值可以是
float
、large
或long
。默认值为float
。
有关指标集中每个字段的描述,请参阅 导出字段 部分。
以下是由此指标集生成的示例文档
{ "@timestamp": "2017-10-12T08:05:34.853Z", "event": { "dataset": "windows.perfmon", "duration": 115000, "module": "windows" }, "metricset": { "name": "perfmon", "period": 10000 }, "service": { "type": "windows" }, "windows": { "perfmon": { "instance": "_Total", "metrics": { "processor": { "time": { "total": { "pct": 6.310940413107646 } } } }, "object": "Processor Information" } } }