Google Cloud Platform 指标 metricset编辑

操作监控提供了对云应用程序的性能、正常运行时间和整体运行状况的可见性。 它从 Google Cloud 的不同服务收集指标、事件和元数据。 此 metricset 用于使用 ListTimeSeries API 从 Google Cloud 收集监控指标。 Google Cloud 监控支持的指标类型的完整列表可在 Google Cloud 指标 中找到。

来自 Google Cloud 的每个监控指标都有一个采样周期和/或摄取延迟。 采样周期是定期写入的指标的连续数据点之间的时间间隔。 摄取延迟表示保证可以读取的数据点比此值更旧的时间。 采样周期和摄取延迟是从进行 ListMetricDescriptors API 调用中获得的。

Metricset 配置和参数编辑

  • aligner: 一个用于对 ListTimeSeries API 的时间序列数据应用聚合操作的单个字符串。 如果没有给出,默认的聚合器是 ALIGN_NONE。 Google Cloud 还支持 ALIGN_DELTAALIGN_RATEALIGN_MINALIGN_MAXALIGN_MEANALIGN_COUNTALIGN_SUM 等。 请参阅 聚合对齐器 以获取对齐器的完整列表。
  • metric_types: 必需,指标类型字符串列表或指标类型前缀列表。 例如,instance/cpu 是指标类型 instance/cpu/usage_timeinstance/cpu/utilization 等的前缀。 ListTimeSeries API 的每次调用都可能从单个指标类型返回任意数量的时间序列。 指标类型用于识别特定时间序列。
  • service: 必需,相关指标的服务名称。 这应该是有效的 Google Cloud 服务名称。 服务名称可以从 GCP 指标列表文档 中的对应页面查看。 service 字段用于计算 GCP 指标前缀,除非设置了 service_metric_prefix
  • service_metric_prefix: 包含 GCP 文档中指定的完整指标前缀的字符串。 所有来自 GCP 监控 API 的指标都需要前缀。 当 service_metric_prefix 为空时,前缀默认为使用 service 值计算的值:<service>.googleapis.com/。 此默认值适用于“Google Cloud 指标”下的任何服务,但不适用于其他服务(例如 kubernetes 又名 GKE)。 此选项允许覆盖默认值并指定任意指标前缀。

示例配置编辑

  • metrics metricset 已启用,用于从 elastic-observability 项目中 europe-west1-c 区域下的所有区域收集指标。 指定了两个指标集:第一个是使用聚合对齐器 ALIGN_MEAN 收集 CPU 使用时间和利用率;第二个是使用聚合对齐器 ALIGN_SUM 收集正常运行时间。 这些指标类型都有 240 秒的摄取延迟时间和 60 秒的采样周期。 在下面配置中将 period 指定为 300s,Metricbeat 将每 5 分钟从 Google Cloud 收集计算指标,并对每种指标类型应用给定的聚合对齐器。

    - module: gcp
      metricsets:
        - metrics
      zone: "europe-west1-c"
      project_id: elastic-observability
      credentials_file_path: "your JSON credentials file path"
      exclude_labels: false
      period: 300s
      metrics:
        - aligner: ALIGN_MEAN
          service: compute
          metric_types:
            - "instance/cpu/usage_time"
            - "instance/cpu/utilization"
        - aligner: ALIGN_SUM
          service: compute
          metric_types:
            - "instance/uptime"
  • metrics metricset 已启用,用于从 elastic-observability 项目中 europe-west1-c 区域下的所有区域收集指标。 指定了两个指标集:第一个是使用聚合对齐器 ALIGN_MEAN 收集 CPU 使用时间和利用率;第二个是使用聚合对齐器 ALIGN_SUM 收集正常运行时间。 这些指标类型都有 240 秒的摄取延迟时间和 60 秒的采样周期。 在下面配置中将 period 指定为 60s,Metricbeat 将每分钟从 Google Cloud 收集计算指标,并且没有聚合。 在这种情况下,配置中指定的对齐器将被忽略。

    - module: gcp
      metricsets:
        - metrics
      zone: "europe-west1-c"
      project_id: elastic-observability
      credentials_file_path: "your JSON credentials file path"
      exclude_labels: false
      period: 60s
      metrics:
        - aligner: ALIGN_MEAN
          service: compute
          metric_types:
            - "instance/cpu/usage_time"
            - "instance/cpu/utilization"
        - aligner: ALIGN_SUM
          service: compute
          metric_types:
            - "instance/uptime"
  • metrics metricset 已启用,用于从 elastic-observability 项目中 europe-west1-c 区域下的所有区域收集指标。 将收集一组指标:GCP GKE 中容器的核心使用时间。 请注意,需要使用 service_metric_prefix 来覆盖默认指标前缀,因为对于 GKE 指标,所需前缀是 kubernetes.io/

    - module: gcp
      metricsets:
        - metrics
      zone: "europe-west1-c"
      project_id: elastic-observability
      credentials_file_path: "your JSON credentials file path"
      exclude_labels: false
      period: 1m
      metrics:
        - service: gke
          service_metric_prefix: kubernetes.io/
          metric_types:
            - "container/cpu/core_usage_time"

字段

有关 metricset 中每个字段的说明,请参阅 导出字段 部分。

以下是由此 metricset 生成的示例文档

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "cloud": {
        "account": {
            "id": "elastic-observability",
            "name": "elastic-observability"
        },
        "instance": {
            "id": "4049989596327614796",
            "name": "nchaulet-loadtest-horde-master"
        },
        "machine": {
            "type": "n1-standard-8"
        },
        "provider": "gcp"
    },
    "cloud.availability_zone": "us-central1-a",
    "cloud.region": "us-central1",
    "event": {
        "dataset": "gcp.metrics",
        "duration": 115000,
        "module": "gcp"
    },
    "gcp": {
        "labels": {},
        "metrics": {
            "instance": {
                "uptime_total": {
                    "value": 791820
                }
            }
        }
    },
    "host": {
        "id": "4049989596327614796",
        "name": "nchaulet-loadtest-horde-master"
    },
    "metricset": {
        "name": "metrics",
        "period": 10000
    },
    "service": {
        "type": "gcp"
    }
}