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" } } }