diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 155aaf2dc37d..4294c4f2adfa 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -33289,8 +33289,6 @@ type: long `gke` contains the metrics that we scraped from GCP Stackdriver API containing monitoring metrics for GCP GKE - - *`gcp.gke.container.cpu.core_usage_time.value`*:: + -- @@ -33336,7 +33334,6 @@ type: double -- - *`gcp.gke.container.ephemeral_storage.limit_bytes.value`*:: + -- @@ -33364,7 +33361,6 @@ type: long -- - *`gcp.gke.container.memory.limit_bytes.value`*:: + -- @@ -33437,8 +33433,6 @@ type: double -- - - *`gcp.gke.node.cpu.allocatable_cores.value`*:: + -- @@ -33475,7 +33469,6 @@ type: double -- - *`gcp.gke.node.ephemeral_storage.allocatable_bytes.value`*:: + -- @@ -33521,7 +33514,6 @@ type: long -- - *`gcp.gke.node.memory.allocatable_bytes.value`*:: + -- @@ -33558,7 +33550,6 @@ type: long -- - *`gcp.gke.node.network.received_bytes_count.value`*:: + -- @@ -33595,8 +33586,6 @@ type: long -- - - *`gcp.gke.node_daemon.cpu.core_usage_time.value`*:: + -- @@ -33606,7 +33595,6 @@ type: double -- - *`gcp.gke.node_daemon.memory.used_bytes.value`*:: + -- @@ -33616,8 +33604,6 @@ type: long -- - - *`gcp.gke.pod.network.received_bytes_count.value`*:: + -- @@ -33636,7 +33622,6 @@ type: long -- - *`gcp.gke.pod.volume.total_bytes.value`*:: + -- diff --git a/x-pack/metricbeat/module/gcp/_meta/fields.yml b/x-pack/metricbeat/module/gcp/_meta/fields.yml index d13da1a17c43..b77ecde03239 100644 --- a/x-pack/metricbeat/module/gcp/_meta/fields.yml +++ b/x-pack/metricbeat/module/gcp/_meta/fields.yml @@ -24,6 +24,9 @@ - name: system.* type: object object_type: keyword + - name: resource.* + type: object + object_type: keyword - name: "metrics.*.*.*.*" type: object object_type: double diff --git a/x-pack/metricbeat/module/gcp/fields.go b/x-pack/metricbeat/module/gcp/fields.go index fc20bbe89633..d0737a696664 100644 --- a/x-pack/metricbeat/module/gcp/fields.go +++ b/x-pack/metricbeat/module/gcp/fields.go @@ -19,5 +19,5 @@ func init() { // AssetGcp returns asset data. // This is the base64 encoded zlib format compressed contents of module/gcp. func AssetGcp() string { - return "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" + return "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" } diff --git a/x-pack/metricbeat/module/gcp/gke/_meta/fields.yml b/x-pack/metricbeat/module/gcp/gke/_meta/fields.yml index 3c14872324c1..e40b1d49c314 100644 --- a/x-pack/metricbeat/module/gcp/gke/_meta/fields.yml +++ b/x-pack/metricbeat/module/gcp/gke/_meta/fields.yml @@ -1,170 +1,125 @@ - name: gke - type: group - release: beta description: '`gke` contains the metrics that we scraped from GCP Stackdriver API containing monitoring metrics for GCP GKE' + release: beta + type: group fields: - - name: container - type: group - fields: - - name: cpu - type: group - fields: - - name: core_usage_time.value - type: double - description: Cumulative CPU usage on all cores used by the container in seconds. Sampled every 60 seconds. - - name: limit_cores.value - type: double - description: CPU cores limit of the container. Sampled every 60 seconds. - - name: limit_utilization.value - type: double - description: The fraction of the CPU limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. - - name: request_cores.value - type: double - description: Number of CPU cores requested by the container. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: request_utilization.value - type: double - description: The fraction of the requested CPU that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. - - name: ephemeral_storage - type: group - fields: - - name: limit_bytes.value - type: long - description: Local ephemeral storage limit in bytes. Sampled every 60 seconds. - - name: request_bytes.value - type: long - description: Local ephemeral storage request in bytes. Sampled every 60 seconds. - - name: used_bytes.value - type: long - description: Local ephemeral storage usage in bytes. Sampled every 60 seconds. - - name: memory - type: group - fields: - - name: limit_bytes.value - type: long - description: Memory limit of the container in bytes. Sampled every 60 seconds. - - name: limit_utilization.value - type: double - description: The fraction of the memory limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: page_fault_count.value - type: long - description: Number of page faults, broken down by type, major and minor. - - name: request_bytes.value - type: long - description: Memory request of the container in bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: request_utilization.value - type: double - description: The fraction of the requested memory that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. - - name: used_bytes.value - type: long - description: Memory usage in bytes. Sampled every 60 seconds. - - name: restart_count.value - type: long - description: Number of times the container has restarted. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: uptime.value - type: double - description: Time in seconds that the container has been running. Sampled every 60 seconds. - - name: node - type: group - fields: - - name: cpu - type: group - fields: - - name: allocatable_cores.value - type: double - description: Number of allocatable CPU cores on the node. Sampled every 60 seconds. - - name: allocatable_utilization.value - type: double - description: The fraction of the allocatable CPU that is currently in use on the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. - - name: core_usage_time.value - type: double - description: Cumulative CPU usage on all cores used on the node in seconds. Sampled every 60 seconds. - - name: total_cores.value - type: double - description: Total number of CPU cores on the node. Sampled every 60 seconds. - - name: ephemeral_storage - type: group - fields: - - name: allocatable_bytes.value - type: long - description: Local ephemeral storage bytes allocatable on the node. Sampled every 60 seconds. - - name: inodes_free.value - type: long - description: Free number of inodes on local ephemeral storage. Sampled every 60 seconds. - - name: inodes_total.value - type: long - description: Total number of inodes on local ephemeral storage. Sampled every 60 seconds. - - name: total_bytes.value - type: long - description: Total ephemeral storage bytes on the node. Sampled every 60 seconds. - - name: used_bytes.value - type: long - description: Local ephemeral storage bytes used by the node. Sampled every 60 seconds. - - name: memory - type: group - fields: - - name: allocatable_bytes.value - type: long - description: Cumulative memory bytes used by the node. Sampled every 60 seconds. - - name: allocatable_utilization.value - type: double - description: The fraction of the allocatable memory that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed allocatable memory bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: total_bytes.value - type: long - description: Number of bytes of memory allocatable on the node. Sampled every 60 seconds. - - name: used_bytes.value - type: long - description: Cumulative memory bytes used by the node. Sampled every 60 seconds. - - name: network - type: group - fields: - - name: received_bytes_count.value - type: long - description: Cumulative number of bytes received by the node over the network. Sampled every 60 seconds. - - name: sent_bytes_count.value - type: long - description: Cumulative number of bytes transmitted by the node over the network. Sampled every 60 seconds. - - name: pid_limit.value - type: long - description: The max PID of OS on the node. Sampled every 60 seconds. - - name: pid_used.value - type: long - description: The number of running process in the OS on the node. Sampled every 60 seconds. - - name: node_daemon - type: group - fields: - - name: cpu - type: group - fields: - - name: core_usage_time.value - type: double - description: Cumulative CPU usage on all cores used by the node level system daemon in seconds. Sampled every 60 seconds. - - name: memory - type: group - fields: - - name: used_bytes.value - type: long - description: Memory usage by the system daemon in bytes. Sampled every 60 seconds. - - name: pod - type: group - fields: - - name: network - type: group - fields: - - name: received_bytes_count.value - type: long - description: Cumulative number of bytes received by the pod over the network. Sampled every 60 seconds. - - name: sent_bytes_count.value - type: long - description: Cumulative number of bytes transmitted by the pod over the network. Sampled every 60 seconds. - - name: volume - type: group - fields: - - name: total_bytes.value - type: long - description: Total number of disk bytes available to the pod. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. - - name: used_bytes.value - type: long - description: Number of disk bytes used by the pod. Sampled every 60 seconds. - - name: utilization.value - type: double - description: The fraction of the volume that is currently being used by the instance. This value cannot be greater than 1 as usage cannot exceed the total available volume space. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: container.cpu.core_usage_time.value + type: double + description: Cumulative CPU usage on all cores used by the container in seconds. Sampled every 60 seconds. + - name: container.cpu.limit_cores.value + type: double + description: CPU cores limit of the container. Sampled every 60 seconds. + - name: container.cpu.limit_utilization.value + type: double + description: The fraction of the CPU limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. + - name: container.cpu.request_cores.value + type: double + description: Number of CPU cores requested by the container. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: container.cpu.request_utilization.value + type: double + description: The fraction of the requested CPU that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. + - name: container.ephemeral_storage.limit_bytes.value + type: long + description: Local ephemeral storage limit in bytes. Sampled every 60 seconds. + - name: container.ephemeral_storage.request_bytes.value + type: long + description: Local ephemeral storage request in bytes. Sampled every 60 seconds. + - name: container.ephemeral_storage.used_bytes.value + type: long + description: Local ephemeral storage usage in bytes. Sampled every 60 seconds. + - name: container.memory.limit_bytes.value + type: long + description: Memory limit of the container in bytes. Sampled every 60 seconds. + - name: container.memory.limit_utilization.value + type: double + description: The fraction of the memory limit that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed the limit. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: container.memory.page_fault_count.value + type: long + description: Number of page faults, broken down by type, major and minor. + - name: container.memory.request_bytes.value + type: long + description: Memory request of the container in bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: container.memory.request_utilization.value + type: double + description: The fraction of the requested memory that is currently in use on the instance. This value can be greater than 1 as usage can exceed the request. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. + - name: container.memory.used_bytes.value + type: long + description: Memory usage in bytes. Sampled every 60 seconds. + - name: container.restart_count.value + type: long + description: Number of times the container has restarted. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: container.uptime.value + type: double + description: Time in seconds that the container has been running. Sampled every 60 seconds. + - name: node.cpu.allocatable_cores.value + type: double + description: Number of allocatable CPU cores on the node. Sampled every 60 seconds. + - name: node.cpu.allocatable_utilization.value + type: double + description: The fraction of the allocatable CPU that is currently in use on the instance. Sampled every 60 seconds. After sampling, data is not visible for up to 240 seconds. + - name: node.cpu.core_usage_time.value + type: double + description: Cumulative CPU usage on all cores used on the node in seconds. Sampled every 60 seconds. + - name: node.cpu.total_cores.value + type: double + description: Total number of CPU cores on the node. Sampled every 60 seconds. + - name: node.ephemeral_storage.allocatable_bytes.value + type: long + description: Local ephemeral storage bytes allocatable on the node. Sampled every 60 seconds. + - name: node.ephemeral_storage.inodes_free.value + type: long + description: Free number of inodes on local ephemeral storage. Sampled every 60 seconds. + - name: node.ephemeral_storage.inodes_total.value + type: long + description: Total number of inodes on local ephemeral storage. Sampled every 60 seconds. + - name: node.ephemeral_storage.total_bytes.value + type: long + description: Total ephemeral storage bytes on the node. Sampled every 60 seconds. + - name: node.ephemeral_storage.used_bytes.value + type: long + description: Local ephemeral storage bytes used by the node. Sampled every 60 seconds. + - name: node.memory.allocatable_bytes.value + type: long + description: Cumulative memory bytes used by the node. Sampled every 60 seconds. + - name: node.memory.allocatable_utilization.value + type: double + description: The fraction of the allocatable memory that is currently in use on the instance. This value cannot exceed 1 as usage cannot exceed allocatable memory bytes. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: node.memory.total_bytes.value + type: long + description: Number of bytes of memory allocatable on the node. Sampled every 60 seconds. + - name: node.memory.used_bytes.value + type: long + description: Cumulative memory bytes used by the node. Sampled every 60 seconds. + - name: node.network.received_bytes_count.value + type: long + description: Cumulative number of bytes received by the node over the network. Sampled every 60 seconds. + - name: node.network.sent_bytes_count.value + type: long + description: Cumulative number of bytes transmitted by the node over the network. Sampled every 60 seconds. + - name: node.pid_limit.value + type: long + description: The max PID of OS on the node. Sampled every 60 seconds. + - name: node.pid_used.value + type: long + description: The number of running process in the OS on the node. Sampled every 60 seconds. + - name: node_daemon.cpu.core_usage_time.value + type: double + description: Cumulative CPU usage on all cores used by the node level system daemon in seconds. Sampled every 60 seconds. + - name: node_daemon.memory.used_bytes.value + type: long + description: Memory usage by the system daemon in bytes. Sampled every 60 seconds. + - name: pod.network.received_bytes_count.value + type: long + description: Cumulative number of bytes received by the pod over the network. Sampled every 60 seconds. + - name: pod.network.sent_bytes_count.value + type: long + description: Cumulative number of bytes transmitted by the pod over the network. Sampled every 60 seconds. + - name: pod.volume.total_bytes.value + type: long + description: Total number of disk bytes available to the pod. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. + - name: pod.volume.used_bytes.value + type: long + description: Number of disk bytes used by the pod. Sampled every 60 seconds. + - name: pod.volume.utilization.value + type: double + description: The fraction of the volume that is currently being used by the instance. This value cannot be greater than 1 as usage cannot exceed the total available volume space. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds. diff --git a/x-pack/metricbeat/module/gcp/gke/gke_integration_test.go b/x-pack/metricbeat/module/gcp/gke/gke_integration_test.go new file mode 100644 index 000000000000..74d69e29831d --- /dev/null +++ b/x-pack/metricbeat/module/gcp/gke/gke_integration_test.go @@ -0,0 +1,32 @@ +// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +// or more contributor license agreements. Licensed under the Elastic License; +// you may not use this file except in compliance with the Elastic License. + +//go:build integration && gcp +// +build integration,gcp + +package gke + +import ( + "fmt" + "testing" + + "github.com/stretchr/testify/assert" + + mbtest "github.com/elastic/beats/v7/metricbeat/mb/testing" + "github.com/elastic/beats/v7/x-pack/metricbeat/module/gcp/metrics" +) + +func TestFetch(t *testing.T) { + config := metrics.GetConfigForTest(t, "gke") + fmt.Printf("%+v\n", config) + + metricSet := mbtest.NewReportingMetricSetV2WithContext(t, config) + events, errs := mbtest.ReportingFetchV2WithContext(metricSet) + if len(errs) > 0 { + t.Fatalf("Expected 0 error, had %d. %v\n", len(errs), errs) + } + + assert.NotEmpty(t, events) + mbtest.TestMetricsetFieldsDocumented(t, metricSet, events) +}