From a9192f643a67f4bf53ac5ed89d5b7ea8f018a207 Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Wed, 6 Oct 2021 14:03:05 -0700 Subject: [PATCH 1/6] make breaking changes for 8.0 --- .../module/system/diskio/_meta/data.json | 48 +---- .../module/system/diskio/_meta/fields.yml | 69 +------ metricbeat/module/system/diskio/diskio.go | 23 +-- .../module/system/diskio/diskio_test.go | 4 +- .../module/system/memory/_meta/data.json | 72 ++----- .../module/system/memory/_meta/fields.yml | 16 -- .../module/system/memory/helper_linux.go | 32 --- .../module/system/memory/helper_other.go | 38 ---- metricbeat/module/system/memory/memory.go | 32 +-- .../module/system/process/_meta/data.json | 186 ++++++++---------- metricbeat/module/system/process/process.go | 17 +- metricbeat/module/system/system.go | 4 +- 12 files changed, 115 insertions(+), 426 deletions(-) delete mode 100644 metricbeat/module/system/memory/helper_linux.go delete mode 100644 metricbeat/module/system/memory/helper_other.go diff --git a/metricbeat/module/system/diskio/_meta/data.json b/metricbeat/module/system/diskio/_meta/data.json index 5d58850d187..7fcc7d9bdb8 100644 --- a/metricbeat/module/system/diskio/_meta/data.json +++ b/metricbeat/module/system/diskio/_meta/data.json @@ -15,49 +15,19 @@ "system": { "diskio": { "io": { - "time": 1296 + "ops": 0, + "time": 545105 }, - "iostat": { - "await": 0, - "busy": 0, - "queue": { - "avg_size": 0 - }, - "read": { - "await": 0, - "per_sec": { - "bytes": 0 - }, - "request": { - "merges_per_sec": 0, - "per_sec": 0 - } - }, - "request": { - "avg_size": 0 - }, - "service_time": 0, - "write": { - "await": 0, - "per_sec": { - "bytes": 0 - }, - "request": { - "merges_per_sec": 0, - "per_sec": 0 - } - } - }, - "name": "sda6", + "name": "sda", "read": { - "bytes": 335872, - "count": 82, - "time": 1296 + "bytes": 4242313728, + "count": 181371, + "time": 2744086 }, "write": { - "bytes": 0, - "count": 0, - "time": 0 + "bytes": 9611375104, + "count": 352596, + "time": 10641320 } } } diff --git a/metricbeat/module/system/diskio/_meta/fields.yml b/metricbeat/module/system/diskio/_meta/fields.yml index 969af0b822b..6ed48134d67 100644 --- a/metricbeat/module/system/diskio/_meta/fields.yml +++ b/metricbeat/module/system/diskio/_meta/fields.yml @@ -59,71 +59,4 @@ - name: io.ops type: long description: > - The total number of I/Os in progress. - - - name: iostat.read.request.merges_per_sec - type: float - description: > - The number of read requests merged per second that were queued to the device. - - - name: iostat.write.request.merges_per_sec - type: float - description: > - The number of write requests merged per second that were queued to the device. - - - name: iostat.read.request.per_sec - type: float - description: > - The number of read requests that were issued to the device per second - - - name: iostat.write.request.per_sec - type: float - description: > - The number of write requests that were issued to the device per second - - - name: iostat.read.per_sec.bytes - type: float - description: > - The number of Bytes read from the device per second. - format: bytes - - - name: iostat.read.await - type: float - description: > - The average time spent for read requests issued to the device to be served. - - - name: iostat.write.per_sec.bytes - type: float - description: > - The number of Bytes write from the device per second. - format: bytes - - - name: iostat.write.await - type: float - description: > - The average time spent for write requests issued to the device to be served. - - - name: iostat.request.avg_size - type: float - description: > - The average size (in bytes) of the requests that were issued to the device. - - - name: iostat.queue.avg_size - type: float - description: > - The average queue length of the requests that were issued to the device. - - - name: iostat.await - type: float - description: > - The average time spent for requests issued to the device to be served. - - - name: iostat.service_time - type: float - description: > - The average service time (in milliseconds) for I/O requests that were issued to the device. - - - name: iostat.busy - type: float - description: > - Percentage of CPU time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%. + The total number of I/Os in progress. \ No newline at end of file diff --git a/metricbeat/module/system/diskio/diskio.go b/metricbeat/module/system/diskio/diskio.go index 30578f972ad..96fa905ed5f 100644 --- a/metricbeat/module/system/diskio/diskio.go +++ b/metricbeat/module/system/diskio/diskio.go @@ -20,15 +20,15 @@ package diskio import ( - "fmt" + "os" + "path/filepath" "runtime" "github.com/elastic/beats/v7/libbeat/common" "github.com/elastic/beats/v7/libbeat/metric/system/diskio" + "github.com/elastic/beats/v7/libbeat/paths" "github.com/elastic/beats/v7/metricbeat/mb" "github.com/elastic/beats/v7/metricbeat/mb/parse" - "github.com/elastic/beats/v7/metricbeat/module/linux/iostat" - "github.com/elastic/beats/v7/metricbeat/module/system" "github.com/pkg/errors" ) @@ -45,7 +45,6 @@ type MetricSet struct { statistics *diskio.IOStat includeDevices []string prevCounters diskCounter - IsAgent bool } // diskCounter stores previous disk counter values for calculating gauges in next collection @@ -63,18 +62,13 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { if err := base.Module().UnpackConfig(&config); err != nil { return nil, err } - - systemModule, ok := base.Module().(*system.Module) - if !ok { - return nil, fmt.Errorf("unexpected module type") - } + os.Setenv("HOST_PROC", filepath.Join(paths.Paths.Hostfs, "/proc")) return &MetricSet{ BaseMetricSet: base, statistics: diskio.NewDiskIOStat(), includeDevices: config.IncludeDevices, prevCounters: diskCounter{}, - IsAgent: systemModule.IsAgent, }, nil } @@ -116,15 +110,6 @@ func (m *MetricSet) Fetch(r mb.ReporterV2) error { diskReadBytes += counters.ReadBytes diskWriteBytes += counters.WriteBytes - //Add linux-only data if agent is off as not to make breaking changes. - if !m.IsAgent && runtime.GOOS == "linux" { - result, err := m.statistics.CalcIOStatistics(counters) - if err != nil { - return errors.Wrap(err, "error calculating iostat") - } - event["iostat"] = iostat.AddLinuxIOStat(result) - } - if runtime.GOOS != "windows" { event.Put("io.time", counters.IoTime) } diff --git a/metricbeat/module/system/diskio/diskio_test.go b/metricbeat/module/system/diskio/diskio_test.go index f157f5fcf12..e30b024fdfc 100644 --- a/metricbeat/module/system/diskio/diskio_test.go +++ b/metricbeat/module/system/diskio/diskio_test.go @@ -15,12 +15,13 @@ // specific language governing permissions and limitations // under the License. -// +build integration // +build darwin,cgo freebsd linux windows package diskio import ( + "os" + "path/filepath" "testing" "time" @@ -31,6 +32,7 @@ import ( ) func setHostfs(pathString string) { + os.Setenv("HOST_PROC", filepath.Join(pathString, "proc")) path := paths.Path{ Hostfs: pathString, } diff --git a/metricbeat/module/system/memory/_meta/data.json b/metricbeat/module/system/memory/_meta/data.json index ce7da4541cf..0a04884408b 100644 --- a/metricbeat/module/system/memory/_meta/data.json +++ b/metricbeat/module/system/memory/_meta/data.json @@ -15,76 +15,26 @@ "system": { "memory": { "actual": { - "free": 46533455872, + "free": 59377467392, "used": { - "bytes": 20981358592, - "pct": 0.3108 - } - }, - "cached": 42114609152, - "free": 3916599296, - "hugepages": { - "default_size": 2097152, - "free": 0, - "reserved": 0, - "surplus": 0, - "swap": { - "out": { - "fallback": 0, - "pages": 0 - } - }, - "total": 0, - "used": { - "bytes": 0, - "pct": 0 - } - }, - "page_stats": { - "direct_efficiency": { - "pct": 0.9871 - }, - "kswapd_efficiency": { - "pct": 0.7105 - }, - "pgfree": { - "pages": 69780946234 - }, - "pgscan_direct": { - "pages": 1512375 - }, - "pgscan_kswapd": { - "pages": 25880646 - }, - "pgsteal_direct": { - "pages": 1492831 - }, - "pgsteal_kswapd": { - "pages": 18387096 + "bytes": 3743330304, + "pct": 0.0593 } }, + "cached": 7460179968, + "free": 52030529536, "swap": { - "free": 8560832512, - "in": { - "pages": 727 - }, - "out": { - "pages": 11197 - }, - "readahead": { - "cached": 9, - "pages": 45 - }, + "free": 8589930496, "total": 8589930496, "used": { - "bytes": 29097984, - "pct": 0.0034 + "bytes": 0, + "pct": 0 } }, - "total": 67514814464, + "total": 63120797696, "used": { - "bytes": 63598215168, - "pct": 0.942 + "bytes": 11090268160, + "pct": 0.1757 } } } diff --git a/metricbeat/module/system/memory/_meta/fields.yml b/metricbeat/module/system/memory/_meta/fields.yml index 9a8a7714a5e..90e150d6aa0 100644 --- a/metricbeat/module/system/memory/_meta/fields.yml +++ b/metricbeat/module/system/memory/_meta/fields.yml @@ -86,22 +86,6 @@ description: > Available swap memory. - - name: out.pages - type: long - description: count of pages swapped out - - - name: in.pages - type: long - description: count of pages swapped in - - - name: readahead.pages - type: long - description: swap readahead pages - - - name: readahead.cached - type: long - description: swap readahead cache hits - - name: used.pct type: scaled_float format: percent diff --git a/metricbeat/module/system/memory/helper_linux.go b/metricbeat/module/system/memory/helper_linux.go deleted file mode 100644 index a0ba099afae..00000000000 --- a/metricbeat/module/system/memory/helper_linux.go +++ /dev/null @@ -1,32 +0,0 @@ -// Licensed to Elasticsearch B.V. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. Elasticsearch B.V. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package memory - -import ( - "github.com/elastic/beats/v7/libbeat/common" - linux "github.com/elastic/beats/v7/metricbeat/module/linux/memory" - sysinfotypes "github.com/elastic/go-sysinfo/types" -) - -func fetchLinuxMemStats(baseMap common.MapStr) error { - return linux.FetchLinuxMemStats(baseMap) -} - -func getVMStat() (*sysinfotypes.VMStatInfo, error) { - return linux.GetVMStat() -} diff --git a/metricbeat/module/system/memory/helper_other.go b/metricbeat/module/system/memory/helper_other.go deleted file mode 100644 index adbeba59aa6..00000000000 --- a/metricbeat/module/system/memory/helper_other.go +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to Elasticsearch B.V. under one or more contributor -// license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright -// ownership. Elasticsearch B.V. licenses this file to you under -// the Apache License, Version 2.0 (the "License"); you may -// not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -// +build darwin freebsd aix openbsd windows - -package memory - -import ( - "errors" - - "github.com/elastic/beats/v7/libbeat/common" - sysinfotypes "github.com/elastic/go-sysinfo/types" -) - -// These whole helper files are a shim until we can make breaking changes and remove these -// data enrichers from the metricset, as they're linux-only. -// DEPRECATE: 8.0 -func fetchLinuxMemStats(baseMap common.MapStr) error { - return errors.New("MemStats is only available on Linux") -} - -func getVMStat() (*sysinfotypes.VMStatInfo, error) { - return nil, errors.New("VMStat is only available on Linux") -} diff --git a/metricbeat/module/system/memory/memory.go b/metricbeat/module/system/memory/memory.go index 54565231c53..c2739ef3acc 100644 --- a/metricbeat/module/system/memory/memory.go +++ b/metricbeat/module/system/memory/memory.go @@ -20,9 +20,6 @@ package memory import ( - "fmt" - "runtime" - "github.com/pkg/errors" "github.com/elastic/beats/v7/libbeat/common" @@ -30,7 +27,6 @@ import ( metrics "github.com/elastic/beats/v7/metricbeat/internal/metrics/memory" "github.com/elastic/beats/v7/metricbeat/mb" "github.com/elastic/beats/v7/metricbeat/mb/parse" - "github.com/elastic/beats/v7/metricbeat/module/system" ) func init() { @@ -43,18 +39,11 @@ func init() { // MetricSet for fetching system memory metrics. type MetricSet struct { mb.BaseMetricSet - IsAgent bool } // New is a mb.MetricSetFactory that returns a memory.MetricSet. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - - systemModule, ok := base.Module().(*system.Module) - if !ok { - return nil, fmt.Errorf("unexpected module type") - } - - return &MetricSet{BaseMetricSet: base, IsAgent: systemModule.IsAgent}, nil + return &MetricSet{BaseMetricSet: base}, nil } // Fetch fetches memory metrics from the OS. @@ -68,25 +57,6 @@ func (m *MetricSet) Fetch(r mb.ReporterV2) error { memory := common.MapStr{} err = typeconv.Convert(&memory, &eventRaw) - // for backwards compatibility, only report if we're not in fleet mode - // This is entirely linux-specific data that should live in linux/memory. - // DEPRECATE: remove this for 8.0 - if !m.IsAgent && runtime.GOOS == "linux" { - err := fetchLinuxMemStats(memory) - if err != nil { - return errors.Wrap(err, "error getting page stats") - } - vmstat, err := getVMStat() - if err != nil { - return errors.Wrap(err, "Error getting VMStat data") - } - // Swap in and swap out numbers - memory.Put("swap.in.pages", vmstat.Pswpin) - memory.Put("swap.out.pages", vmstat.Pswpout) - memory.Put("swap.readahead.pages", vmstat.SwapRa) - memory.Put("swap.readahead.cached", vmstat.SwapRaHit) - } - r.Event(mb.Event{ MetricSetFields: memory, }) diff --git a/metricbeat/module/system/process/_meta/data.json b/metricbeat/module/system/process/_meta/data.json index f295cd712f1..54c24ddd7f7 100644 --- a/metricbeat/module/system/process/_meta/data.json +++ b/metricbeat/module/system/process/_meta/data.json @@ -11,55 +11,26 @@ }, "process": { "args": [ - "/usr/share/elastic-agent/data/install/metricbeat-7.15.0-SNAPSHOT-linux-x86_64/metricbeat", - "-E", - "setup.ilm.enabled=false", - "-E", - "setup.template.enabled=false", - "-E", - "management.enabled=true", - "-E", - "logging.level=debug", - "-E", - "gc_percent=${METRICBEAT_GOGC:100}", - "-E", - "logging.level=info", - "-E", - "http.enabled=true", - "-E", - "http.host=unix:///usr/share/elastic-agent/data/tmp/default/metricbeat/metricbeat.sock_monitor", - "-E", - "logging.json=true", - "-E", - "logging.ecs=true", - "-E", - "logging.files.path=/usr/share/elastic-agent/data/logs/default", - "-E", - "logging.files.name=metricbeat_monitor-json.log", - "-E", - "logging.files.keepfiles=7", - "-E", - "logging.files.permission=0640", - "-E", - "logging.files.interval=1h", - "-E", - "path.data=/usr/share/elastic-agent/data/run/default/metricbeat--7.15.0-SNAPSHOT--36643631373035623733363936343635" + "/usr/lib/systemd/systemd", + "rhgb", + "--switched-root", + "--system", + "--deserialize", + "31" ], - "command_line": "/usr/share/elastic-agent/data/install/metricbeat-7.15.0-SNAPSHOT-linux-x86_64/metricbeat -E setup.ilm.enabled=false -E setup.template.enabled=false -E management.enabled=true -E logging.level=debug -E gc_percent=${METRICBEAT_GOGC:100} -E logging.level=info -E http.enabled=true -E http.host=unix:///usr/share/elastic-agent/data/tmp/default/metricbeat/metricbeat.sock_monitor -E logging.json=true -E logging.ecs=true -E logging.files.path=/usr/share/elastic-agent/data/logs/default -E logging.files.name=metricbeat_monitor-json.log -E logging.files.keepfiles=7 -E logging.files.permission=0640 -E logging.files.interval=1h -E path.data=/usr/share/elastic-agent/data/run/default/metricbeat--7.15.0-SNAPSHOT--36643631373035623733363936343635", + "command_line": "/usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31", "cpu": { - "pct": 0.0001, - "start_time": "2021-08-05T20:26:34.000Z" + "pct": 0, + "start_time": "2021-09-29T22:29:55.000Z" }, - "executable": "/usr/share/elastic-agent/data/install/metricbeat-7.15.0-SNAPSHOT-linux-x86_64/metricbeat", "memory": { - "pct": 0.0023 + "pct": 0.0003 }, - "name": "metricbeat", - "pgid": 201795, - "pid": 205480, - "ppid": 201795, - "state": "sleeping", - "working_directory": "/usr/share/elastic-agent/data/install/metricbeat-7.15.0-SNAPSHOT-linux-x86_64" + "name": "systemd", + "pgid": 1, + "pid": 1, + "ppid": 0, + "state": "sleeping" }, "service": { "type": "system" @@ -69,9 +40,21 @@ "cgroup": { "cgroups_version": 2, "cpu": { - "id": "docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", - "path": "/system.slice/docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", + "id": "init.scope", + "path": "/init.scope", "pressure": { + "full": { + "10": { + "pct": 0 + }, + "300": { + "pct": 0 + }, + "60": { + "pct": 0 + }, + "total": 50432 + }, "some": { "10": { "pct": 0 @@ -82,7 +65,7 @@ "60": { "pct": 0 }, - "total": 142702537 + "total": 50879 } }, "stats": { @@ -91,7 +74,7 @@ "norm": { "pct": 0 }, - "ns": 2867565257, + "ns": 2293648, "pct": 0 }, "throttled": { @@ -102,22 +85,22 @@ "norm": { "pct": 0 }, - "ns": 8330696216, + "ns": 4958009, "pct": 0 }, "user": { "norm": { "pct": 0 }, - "ns": 5463130958, + "ns": 2664361, "pct": 0 } } }, - "id": "docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", + "id": "init.scope", "io": { - "id": "docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", - "path": "/system.slice/docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", + "id": "init.scope", + "path": "/init.scope", "pressure": { "full": { "10": { @@ -129,7 +112,7 @@ "60": { "pct": 0 }, - "total": 109199 + "total": 2393048 }, "some": { "10": { @@ -141,7 +124,7 @@ "60": { "pct": 0 }, - "total": 109886 + "total": 2402448 } }, "stats": { @@ -151,12 +134,12 @@ "ios": 0 }, "read": { - "bytes": 85557248, - "ios": 663 + "bytes": 8192, + "ios": 2 }, "write": { - "bytes": 663152640, - "ios": 46402 + "bytes": 0, + "ios": 0 } }, "sda": { @@ -165,18 +148,18 @@ "ios": 0 }, "read": { - "bytes": 85557248, - "ios": 663 + "bytes": 8192, + "ios": 2 }, "write": { - "bytes": 663152640, - "ios": 48783 + "bytes": 0, + "ios": 0 } } } }, "memory": { - "id": "docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", + "id": "init.scope", "mem": { "events": { "high": 0, @@ -189,7 +172,7 @@ "bytes": 0 }, "usage": { - "bytes": 603746304 + "bytes": 45223936 } }, "memsw": { @@ -205,28 +188,28 @@ "bytes": 0 } }, - "path": "/system.slice/docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope", + "path": "/init.scope", "stats": { "active_anon": { - "bytes": 0 + "bytes": 24576 }, "active_file": { - "bytes": 85426176 + "bytes": 21671936 }, "anon": { - "bytes": 149688320 + "bytes": 8499200 }, "anon_thp": { - "bytes": 2097152 + "bytes": 0 }, "file": { - "bytes": 441593856 + "bytes": 30720000 }, "file_dirty": { - "bytes": 135168 + "bytes": 0 }, "file_mapped": { - "bytes": 189640704 + "bytes": 14823424 }, "file_thp": { "bytes": 0 @@ -236,46 +219,46 @@ }, "htp_collapse_alloc": 0, "inactive_anon": { - "bytes": 149798912 + "bytes": 8503296 }, "inactive_file": { - "bytes": 355221504 + "bytes": 9019392 }, "kernel_stack": { - "bytes": 2211840 + "bytes": 442368 }, - "major_page_faults": 0, - "page_activate": 33660, + "major_page_faults": 169, + "page_activate": 5454, "page_deactivate": 0, - "page_faults": 117884250, - "page_lazy_free": 46101, + "page_faults": 105959, + "page_lazy_free": 0, "page_lazy_freed": 0, "page_refill": 0, "page_scan": 0, "page_steal": 0, "page_tables": { - "bytes": 2433024 + "bytes": 102400 }, "per_cpu": { - "bytes": 1152 + "bytes": 36288 }, "shmem": { - "bytes": 0 + "bytes": 28672 }, "shmem_thp": { "bytes": 0 }, "slab": { - "bytes": 8386280 + "bytes": 5320160 }, "slab_reclaimable": { - "bytes": 5750544 + "bytes": 4626072 }, "slab_unreclaimable": { - "bytes": 2635736 + "bytes": 694088 }, "sock": { - "bytes": 126976 + "bytes": 0 }, "swap_cached": { "bytes": 0 @@ -293,38 +276,31 @@ "workingset_restore_file": 0 } }, - "path": "/system.slice/docker-348d85c5f322ecee9364d8c2f29102b0ee2f63ac54f8c30cac2a9e90db846d36.scope" + "path": "/init.scope" }, - "cmdline": "/usr/share/elastic-agent/data/install/metricbeat-7.15.0-SNAPSHOT-linux-x86_64/metricbeat -E setup.ilm.enabled=false -E setup.template.enabled=false -E management.enabled=true -E logging.level=debug -E gc_percent=${METRICBEAT_GOGC:100} -E logging.level=info -E http.enabled=true -E http.host=unix:///usr/share/elastic-agent/data/tmp/default/metricbeat/metricbeat.sock_monitor -E logging.json=true -E logging.ecs=true -E logging.files.path=/usr/share/elastic-agent/data/logs/default -E logging.files.name=metricbeat_monitor-json.log -E logging.files.keepfiles=7 -E logging.files.permission=0640 -E logging.files.interval=1h -E path.data=/usr/share/elastic-agent/data/run/default/metricbeat--7.15.0-SNAPSHOT--36643631373035623733363936343635", + "cmdline": "/usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31", "cpu": { - "start_time": "2021-08-05T20:26:34.000Z", + "start_time": "2021-09-29T22:29:55.000Z", "total": { "norm": { - "pct": 0.0001 + "pct": 0 }, - "pct": 0.002, - "value": 792730 + "pct": 0, + "value": 4640 } }, - "fd": { - "limit": { - "hard": 1048576, - "soft": 1048576 - }, - "open": 15 - }, "memory": { "rss": { - "bytes": 154656768, - "pct": 0.0023 + "bytes": 18153472, + "pct": 0.0003 }, - "share": 98959360, - "size": 2219364352 + "share": 11046912, + "size": 181272576 }, "state": "sleeping" } }, "user": { - "name": "alexk" + "name": "root" } } \ No newline at end of file diff --git a/metricbeat/module/system/process/process.go b/metricbeat/module/system/process/process.go index 9928f34bdf5..ded8cb4e104 100644 --- a/metricbeat/module/system/process/process.go +++ b/metricbeat/module/system/process/process.go @@ -20,7 +20,6 @@ package process import ( - "fmt" "os" "runtime" @@ -33,7 +32,6 @@ import ( "github.com/elastic/beats/v7/libbeat/paths" "github.com/elastic/beats/v7/metricbeat/mb" "github.com/elastic/beats/v7/metricbeat/mb/parse" - "github.com/elastic/beats/v7/metricbeat/module/system" ) var debugf = logp.MakeDebug("system.process") @@ -48,10 +46,9 @@ func init() { // MetricSet that fetches process metrics. type MetricSet struct { mb.BaseMetricSet - stats *process.Stats - cgroup *cgroup.Reader - perCPU bool - IsAgent bool + stats *process.Stats + cgroup *cgroup.Reader + perCPU bool } // New creates and returns a new MetricSet. @@ -61,11 +58,6 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { return nil, err } - systemModule, ok := base.Module().(*system.Module) - if !ok { - return nil, fmt.Errorf("unexpected module type") - } - enableCgroups := false if runtime.GOOS == "linux" { if config.Cgroups == nil || *config.Cgroups { @@ -88,8 +80,7 @@ func New(base mb.BaseMetricSet) (mb.MetricSet, error) { IgnoreRootCgroups: true, }, }, - perCPU: config.IncludePerCPU, - IsAgent: systemModule.IsAgent, + perCPU: config.IncludePerCPU, } // If hostfs is set, we may not want to force the hierarchy override, as the user could be expecting a custom path. diff --git a/metricbeat/module/system/system.go b/metricbeat/module/system/system.go index d0a1f8c1eeb..c24988f3a97 100644 --- a/metricbeat/module/system/system.go +++ b/metricbeat/module/system/system.go @@ -20,7 +20,6 @@ package system import ( "sync" - "github.com/elastic/beats/v7/libbeat/common/fleetmode" "github.com/elastic/beats/v7/libbeat/paths" "github.com/elastic/beats/v7/metricbeat/mb" ) @@ -37,7 +36,6 @@ func init() { // Module represents the system module type Module struct { mb.BaseModule - IsAgent bool // Looks to see if metricbeat is running under agent. Useful if we have breaking changes in one but not the other. } // NewModule instatiates the system module @@ -47,5 +45,5 @@ func NewModule(base mb.BaseModule) (mb.Module, error) { initModule(paths.Paths.Hostfs) }) - return &Module{BaseModule: base, IsAgent: fleetmode.Enabled()}, nil + return &Module{BaseModule: base}, nil } From 40770588a7acc68591500d6d605dc81733af4e38 Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Wed, 6 Oct 2021 14:56:10 -0700 Subject: [PATCH 2/6] changelog --- CHANGELOG.next.asciidoc | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 2997981db48..c4f624c5145 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -115,6 +115,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Remove deprecated fields in Docker module. {issue}11835[11835] {pull}27933[27933] - Remove deprecated fields in Kafka module. {pull}27938[27938] - Remove deprecated config option default_region from aws module. {pull}28120[28120] +- Remove linux-only metrics from diskio, memory {pull}28292[28292] *Packetbeat* From 39cad1fa756a18db0a3c99ec5eceed350a1c8b48 Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Wed, 6 Oct 2021 15:42:34 -0700 Subject: [PATCH 3/6] update --- metricbeat/docs/fields.asciidoc | 170 ----------------------------- metricbeat/module/system/fields.go | 2 +- 2 files changed, 1 insertion(+), 171 deletions(-) diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 63346f9b198..70bcd2fd91e 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -57736,140 +57736,6 @@ type: long -- -*`system.diskio.iostat.read.request.merges_per_sec`*:: -+ --- -The number of read requests merged per second that were queued to the device. - - -type: float - --- - -*`system.diskio.iostat.write.request.merges_per_sec`*:: -+ --- -The number of write requests merged per second that were queued to the device. - - -type: float - --- - -*`system.diskio.iostat.read.request.per_sec`*:: -+ --- -The number of read requests that were issued to the device per second - - -type: float - --- - -*`system.diskio.iostat.write.request.per_sec`*:: -+ --- -The number of write requests that were issued to the device per second - - -type: float - --- - -*`system.diskio.iostat.read.per_sec.bytes`*:: -+ --- -The number of Bytes read from the device per second. - - -type: float - -format: bytes - --- - -*`system.diskio.iostat.read.await`*:: -+ --- -The average time spent for read requests issued to the device to be served. - - -type: float - --- - -*`system.diskio.iostat.write.per_sec.bytes`*:: -+ --- -The number of Bytes write from the device per second. - - -type: float - -format: bytes - --- - -*`system.diskio.iostat.write.await`*:: -+ --- -The average time spent for write requests issued to the device to be served. - - -type: float - --- - -*`system.diskio.iostat.request.avg_size`*:: -+ --- -The average size (in bytes) of the requests that were issued to the device. - - -type: float - --- - -*`system.diskio.iostat.queue.avg_size`*:: -+ --- -The average queue length of the requests that were issued to the device. - - -type: float - --- - -*`system.diskio.iostat.await`*:: -+ --- -The average time spent for requests issued to the device to be served. - - -type: float - --- - -*`system.diskio.iostat.service_time`*:: -+ --- -The average service time (in milliseconds) for I/O requests that were issued to the device. - - -type: float - --- - -*`system.diskio.iostat.busy`*:: -+ --- -Percentage of CPU time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%. - - -type: float - --- - [float] === entropy @@ -58312,42 +58178,6 @@ format: bytes -- -*`system.memory.swap.out.pages`*:: -+ --- -count of pages swapped out - -type: long - --- - -*`system.memory.swap.in.pages`*:: -+ --- -count of pages swapped in - -type: long - --- - -*`system.memory.swap.readahead.pages`*:: -+ --- -swap readahead pages - -type: long - --- - -*`system.memory.swap.readahead.cached`*:: -+ --- -swap readahead cache hits - -type: long - --- - *`system.memory.swap.used.pct`*:: + -- diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index 6e720c7b1c8..32869b408b9 100644 --- a/metricbeat/module/system/fields.go +++ b/metricbeat/module/system/fields.go @@ -32,5 +32,5 @@ func init() { // AssetSystem returns asset data. // This is the base64 encoded zlib format compressed contents of module/system. func AssetSystem() string { - return "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" + return "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" } From ded527f2230849e27ca7da51f683f77f6664cd43 Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Thu, 7 Oct 2021 10:30:11 -0700 Subject: [PATCH 4/6] fix tests --- metricbeat/module/system/test_system.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/metricbeat/module/system/test_system.py b/metricbeat/module/system/test_system.py index e4d69723cf1..5e599b8b7b1 100644 --- a/metricbeat/module/system/test_system.py +++ b/metricbeat/module/system/test_system.py @@ -53,9 +53,7 @@ "write.bytes", "read.time", "write.time"] SYSTEM_DISKIO_FIELDS_LINUX = ["name", "read.count", "write.count", "read.bytes", - "write.bytes", "read.time", "write.time", "io.time", "io.ops", - "iostat.read.request.merges_per_sec", "iostat.write.request.merges_per_sec", "iostat.read.request.per_sec", "iostat.write.request.per_sec", "iostat.read.per_sec.bytes", "iostat.write.per_sec.bytes" - "iostat.request.avg_size", "iostat.queue.avg_size", "iostat.await", "iostat.service_time", "iostat.busy"] + "write.bytes", "read.time", "write.time", "io.time", "io.ops"] SYSTEM_FILESYSTEM_FIELDS = ["available", "device_name", "type", "files", "free", "free_files", "mount_point", "total", "used.bytes", @@ -68,10 +66,10 @@ SYSTEM_FSSTAT_FIELDS = ["count", "total_files", "total_size"] SYSTEM_MEMORY_FIELDS_LINUX = ["swap", "actual.free", "free", "total", "cached", "used.bytes", "used.pct", "actual.used.bytes", - "actual.used.pct", "hugepages", "page_stats"] + "actual.used.pct"] SYSTEM_MEMORY_FIELDS = ["swap", "actual.free", "free", "total", "used.bytes", "used.pct", "actual.used.bytes", - "actual.used.pct", "hugepages", "page_stats"] + "actual.used.pct"] SYSTEM_NETWORK_FIELDS = ["name", "out.bytes", "in.bytes", "out.packets", "in.packets", "in.error", "out.error", "in.dropped", "out.dropped"] From 802f63b1707b6da3696a13f5afc869a619dc9c4e Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Thu, 7 Oct 2021 12:09:45 -0700 Subject: [PATCH 5/6] add removed build tag --- metricbeat/module/system/diskio/diskio_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/metricbeat/module/system/diskio/diskio_test.go b/metricbeat/module/system/diskio/diskio_test.go index e30b024fdfc..3d5c294b8a5 100644 --- a/metricbeat/module/system/diskio/diskio_test.go +++ b/metricbeat/module/system/diskio/diskio_test.go @@ -15,6 +15,7 @@ // specific language governing permissions and limitations // under the License. +// +build integration // +build darwin,cgo freebsd linux windows package diskio From 3c8835610a8b27396b022f2361d1fd9b6b0f5bbf Mon Sep 17 00:00:00 2001 From: Alex Kristiansen Date: Thu, 7 Oct 2021 14:32:23 -0700 Subject: [PATCH 6/6] trying to fix windows tests --- metricbeat/docs/fields.asciidoc | 197 ------------------ metricbeat/module/system/fields.go | 2 +- .../module/system/memory/_meta/fields.yml | 91 -------- metricbeat/module/system/test_system.py | 2 +- 4 files changed, 2 insertions(+), 290 deletions(-) diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 70bcd2fd91e..3b5b402eef3 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -58190,203 +58190,6 @@ format: percent -- -[float] -=== page_stats - -memory page statistics - - -*`system.memory.page_stats.pgscan_kswapd.pages`*:: -+ --- -pages scanned by kswapd - -type: long - -format: number - --- - -*`system.memory.page_stats.pgscan_direct.pages`*:: -+ --- -pages scanned directly - -type: long - -format: number - --- - -*`system.memory.page_stats.pgfree.pages`*:: -+ --- -pages freed by the system - -type: long - -format: number - --- - -*`system.memory.page_stats.pgsteal_kswapd.pages`*:: -+ --- -number of pages reclaimed by kswapd - -type: long - -format: number - --- - -*`system.memory.page_stats.pgsteal_direct.pages`*:: -+ --- -number of pages reclaimed directly - -type: long - -format: number - --- - -*`system.memory.page_stats.direct_efficiency.pct`*:: -+ --- -direct reclaim efficiency percentage. A lower percentage indicates the system is struggling to reclaim memory. - -type: scaled_float - -format: percent - --- - -*`system.memory.page_stats.kswapd_efficiency.pct`*:: -+ --- -kswapd reclaim efficiency percentage. A lower percentage indicates the system is struggling to reclaim memory. - -type: scaled_float - -format: percent - --- - -[float] -=== hugepages - -This group contains statistics related to huge pages usage on the system. - - -*`system.memory.hugepages.total`*:: -+ --- -Number of huge pages in the pool. - - -type: long - -format: number - --- - -*`system.memory.hugepages.used.bytes`*:: -+ --- -Memory used in allocated huge pages. - - -type: long - -format: bytes - --- - -*`system.memory.hugepages.used.pct`*:: -+ --- -Percentage of huge pages used. - - -type: long - -format: percent - --- - -*`system.memory.hugepages.free`*:: -+ --- -Number of available huge pages in the pool. - - -type: long - -format: number - --- - -*`system.memory.hugepages.reserved`*:: -+ --- -Number of reserved but not allocated huge pages in the pool. - - -type: long - -format: number - --- - -*`system.memory.hugepages.surplus`*:: -+ --- -Number of overcommited huge pages. - - -type: long - -format: number - --- - -*`system.memory.hugepages.default_size`*:: -+ --- -Default size for huge pages. - - -type: long - -format: bytes - --- - -[float] -=== swap.out - -huge pages swapped out - - -*`system.memory.hugepages.swap.out.pages`*:: -+ --- -pages swapped out - -type: long - --- - -*`system.memory.hugepages.swap.out.fallback`*:: -+ --- -Count of huge pages that must be split before swapout - -type: long - --- - [float] === network diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index 32869b408b9..bea530094ba 100644 --- a/metricbeat/module/system/fields.go +++ b/metricbeat/module/system/fields.go @@ -32,5 +32,5 @@ func init() { // AssetSystem returns asset data. // This is the base64 encoded zlib format compressed contents of module/system. func AssetSystem() string { - return "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" + return "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" } diff --git a/metricbeat/module/system/memory/_meta/fields.yml b/metricbeat/module/system/memory/_meta/fields.yml index 90e150d6aa0..95314a78b66 100644 --- a/metricbeat/module/system/memory/_meta/fields.yml +++ b/metricbeat/module/system/memory/_meta/fields.yml @@ -91,94 +91,3 @@ format: percent description: > The percentage of used swap memory. - - - name: page_stats - type: group - description: memory page statistics - fields: - - name: pgscan_kswapd.pages - type: long - format: number - description: pages scanned by kswapd - - name: pgscan_direct.pages - type: long - format: number - description: pages scanned directly - - name: pgfree.pages - type: long - format: number - description: pages freed by the system - - name: pgsteal_kswapd.pages - type: long - format: number - description: number of pages reclaimed by kswapd - - name: pgsteal_direct.pages - type: long - format: number - description: number of pages reclaimed directly - - name: direct_efficiency.pct - type: scaled_float - format: percent - description: direct reclaim efficiency percentage. A lower percentage indicates the system is struggling to reclaim memory. - - name: kswapd_efficiency.pct - type: scaled_float - format: percent - description: kswapd reclaim efficiency percentage. A lower percentage indicates the system is struggling to reclaim memory. - - - name: hugepages - type: group - prefix: "[float]" - description: This group contains statistics related to huge pages usage on the system. - fields: - - name: total - type: long - format: number - description: > - Number of huge pages in the pool. - - - name: used.bytes - type: long - format: bytes - description: > - Memory used in allocated huge pages. - - - name: used.pct - type: long - format: percent - description: > - Percentage of huge pages used. - - - name: free - type: long - format: number - description: > - Number of available huge pages in the pool. - - - name: reserved - type: long - format: number - description: > - Number of reserved but not allocated huge pages in the pool. - - - name: surplus - type: long - format: number - description: > - Number of overcommited huge pages. - - - name: default_size - type: long - format: bytes - description: > - Default size for huge pages. - - - name: swap.out - type: group - description: huge pages swapped out - fields: - - name: pages - type: long - description: pages swapped out - - name: fallback - type: long - description: Count of huge pages that must be split before swapout diff --git a/metricbeat/module/system/test_system.py b/metricbeat/module/system/test_system.py index 5e599b8b7b1..7162b84d681 100644 --- a/metricbeat/module/system/test_system.py +++ b/metricbeat/module/system/test_system.py @@ -69,7 +69,7 @@ "actual.used.pct"] SYSTEM_MEMORY_FIELDS = ["swap", "actual.free", "free", "total", "used.bytes", "used.pct", "actual.used.bytes", - "actual.used.pct"] + "actual.used.pct", "hugepages", "page_stats"] SYSTEM_NETWORK_FIELDS = ["name", "out.bytes", "in.bytes", "out.packets", "in.packets", "in.error", "out.error", "in.dropped", "out.dropped"]