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
测量值格式。该值可以是 floatlargelong。默认值为 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"
        }
    }
}