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 时,该指标集会忽略由于不存在的计数器而导致的错误。不会出现错误,而是在 info 级别记录一条消息,指出该计数器不存在。
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"
        }
    }
}