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