From b16f20bde154d85128a467729dc766547788ecd1 Mon Sep 17 00:00:00 2001 From: Alex K <8418476+fearful-symmetry@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:57:37 -0800 Subject: [PATCH] Add linux disk IO metrics to system/process (#37213) * add diskio data from system-metrics * add changelog * fix python tests * fix docs --- CHANGELOG.next.asciidoc | 1 + NOTICE.txt | 43 +----- go.mod | 6 +- go.sum | 13 +- metricbeat/docs/fields.asciidoc | 69 +++++++++ metricbeat/module/system/fields.go | 2 +- .../module/system/process/_meta/data.json | 138 ++++++++++-------- .../module/system/process/_meta/fields.yml | 25 ++++ metricbeat/module/system/test_system.py | 2 +- 9 files changed, 188 insertions(+), 111 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index b852d9d5b47..e82a454b631 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -245,6 +245,7 @@ Setting environmental variable ELASTIC_NETINFO:false in Elastic Agent pod will d - Align on the algorithm used to transform Prometheus histograms into Elasticsearch histograms {pull}36647[36647] - Enhance GCP billing with detailed tables identification, additional fields, and optimized data handling. {pull}36902[36902] - Add a `/inputs/` route to the HTTP monitoring endpoint that exposes metrics for each metricset instance. {pull}36971[36971] +- Add linux IO metrics to system/process {pull}37213[37213] - Add new memory/cgroup metrics to Kibana module {pull}37232[37232] *Osquerybeat* diff --git a/NOTICE.txt b/NOTICE.txt index 1e962027d0d..3514b7f35c6 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -12712,11 +12712,11 @@ SOFTWARE -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-libs -Version: v0.6.2 +Version: v0.7.2 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-libs@v0.6.2/LICENSE: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-libs@v0.7.2/LICENSE: Apache License Version 2.0, January 2004 @@ -13026,11 +13026,11 @@ these terms. -------------------------------------------------------------------------------- Dependency : github.com/elastic/elastic-agent-system-metrics -Version: v0.8.2 +Version: v0.9.0 Licence type (autodetected): Apache-2.0 -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.8.2/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/github.com/elastic/elastic-agent-system-metrics@v0.9.0/LICENSE.txt: Apache License Version 2.0, January 2004 @@ -24709,11 +24709,11 @@ THE SOFTWARE. -------------------------------------------------------------------------------- Dependency : go.uber.org/zap -Version: v1.25.0 +Version: v1.26.0 Licence type (autodetected): MIT -------------------------------------------------------------------------------- -Contents of probable licence file $GOMODCACHE/go.uber.org/zap@v1.25.0/LICENSE.txt: +Contents of probable licence file $GOMODCACHE/go.uber.org/zap@v1.26.0/LICENSE.txt: Copyright (c) 2016-2017 Uber Technologies, Inc. @@ -34101,37 +34101,6 @@ Contents of probable licence file $GOMODCACHE/github.com/aws/aws-sdk-go-v2/servi limitations under the License. --------------------------------------------------------------------------------- -Dependency : github.com/benbjohnson/clock -Version: v1.3.0 -Licence type (autodetected): MIT --------------------------------------------------------------------------------- - -Contents of probable licence file $GOMODCACHE/github.com/benbjohnson/clock@v1.3.0/LICENSE: - -The MIT License (MIT) - -Copyright (c) 2014 Ben Johnson - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -------------------------------------------------------------------------------- Dependency : github.com/beorn7/perks Version: v1.0.1 diff --git a/go.mod b/go.mod index 767050ae2e5..7fe18d794c4 100644 --- a/go.mod +++ b/go.mod @@ -151,7 +151,7 @@ require ( go.etcd.io/bbolt v1.3.6 go.uber.org/atomic v1.11.0 go.uber.org/multierr v1.11.0 - go.uber.org/zap v1.25.0 + go.uber.org/zap v1.26.0 golang.org/x/crypto v0.14.0 golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 golang.org/x/mod v0.10.0 @@ -202,9 +202,9 @@ require ( github.com/awslabs/kinesis-aggregation/go/v2 v2.0.0-20220623125934-28468a6701b5 github.com/elastic/bayeux v1.0.5 github.com/elastic/elastic-agent-autodiscover v0.6.4 - github.com/elastic/elastic-agent-libs v0.6.2 + github.com/elastic/elastic-agent-libs v0.7.2 github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3 - github.com/elastic/elastic-agent-system-metrics v0.8.2 + github.com/elastic/elastic-agent-system-metrics v0.9.0 github.com/elastic/go-elasticsearch/v8 v8.10.0 github.com/elastic/mito v1.7.0 github.com/elastic/toutoumomoma v0.0.0-20221026030040-594ef30cb640 diff --git a/go.sum b/go.sum index 6d83c407e29..3a0a01ba025 100644 --- a/go.sum +++ b/go.sum @@ -367,7 +367,6 @@ github.com/awslabs/goformation/v4 v4.1.0/go.mod h1:MBDN7u1lMNDoehbFuO4uPvgwPeolT github.com/awslabs/kinesis-aggregation/go/v2 v2.0.0-20220623125934-28468a6701b5 h1:lxW5Q6K2IisyF5tlr6Ts0W4POGWQZco05MJjFmoeIHs= github.com/awslabs/kinesis-aggregation/go/v2 v2.0.0-20220623125934-28468a6701b5/go.mod h1:0Qr1uMHFmHsIYMcG4T7BJ9yrJtWadhOmpABCX69dwuc= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/immutable v0.2.1/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI= github.com/benbjohnson/tmpl v1.0.0/go.mod h1:igT620JFIi44B6awvU9IsDhR77IXWtFigTLil/RPdps= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -655,12 +654,12 @@ github.com/elastic/elastic-agent-autodiscover v0.6.4 h1:K+xC7OGgcy4fLXVuGgOGLs+e github.com/elastic/elastic-agent-autodiscover v0.6.4/go.mod h1:5+7NIBAILc0GkgxYW3ckXncu5wRZfltZhTY4aZAYP4M= github.com/elastic/elastic-agent-client/v7 v7.4.0 h1:h75oTkkvIjgiKVm61NpvTZP4cy6QbQ3zrIpXKGigyjo= github.com/elastic/elastic-agent-client/v7 v7.4.0/go.mod h1:9/amG2K2y2oqx39zURcc+hnqcX+nyJ1cZrLgzsgo5c0= -github.com/elastic/elastic-agent-libs v0.6.2 h1:tE5pFK4y7xm1FtXm+r+63G7STjJAaWh3+oKIQDzdPDo= -github.com/elastic/elastic-agent-libs v0.6.2/go.mod h1:o+EySawBZGeYu49shJxerg2wRCimS1dhrD4As0MS700= +github.com/elastic/elastic-agent-libs v0.7.2 h1:yT0hF0UAxJCdQqhHh6SFpgYrcpB10oFzPj8IaytPS2o= +github.com/elastic/elastic-agent-libs v0.7.2/go.mod h1:pVBEElQJUO9mr4WStWNXuQGsJn54lcjAoYAHmsvBLBc= github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3 h1:sb+25XJn/JcC9/VL8HX4r4QXSUq4uTNzGS2kxOE7u1U= github.com/elastic/elastic-agent-shipper-client v0.5.1-0.20230228231646-f04347b666f3/go.mod h1:rWarFM7qYxJKsi9WcV6ONcFjH/NA3niDNpTxO+8/GVI= -github.com/elastic/elastic-agent-system-metrics v0.8.2 h1:99H1o+WTD/g6jcQr1hUOZ+dsZkZF0SfNePmjGg7TnhU= -github.com/elastic/elastic-agent-system-metrics v0.8.2/go.mod h1:9C1UEfj0P687HAzZepHszN6zXA+2tN2Lx3Osvq1zby8= +github.com/elastic/elastic-agent-system-metrics v0.9.0 h1:sA3pSk+awH4g45M8tjcwd9U6uVQvNzUpKS8ajS3DuUk= +github.com/elastic/elastic-agent-system-metrics v0.9.0/go.mod h1:9C1UEfj0P687HAzZepHszN6zXA+2tN2Lx3Osvq1zby8= github.com/elastic/elastic-transport-go/v8 v8.0.0-20230329154755-1a3c63de0db6/go.mod h1:87Tcz8IVNe6rVSLdBux1o/PEItLtyabHU3naC7IoqKI= github.com/elastic/elastic-transport-go/v8 v8.3.0 h1:DJGxovyQLXGr62e9nDMPSxRyWION0Bh6d9eCFBriiHo= github.com/elastic/elastic-transport-go/v8 v8.3.0/go.mod h1:87Tcz8IVNe6rVSLdBux1o/PEItLtyabHU3naC7IoqKI= @@ -1986,8 +1985,8 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= -go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 02dfbc8bd57..1c29445adba 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -62382,6 +62382,75 @@ format: bytes -- +[float] +=== io + +Disk I/O Metrics, as forwarded from /proc/[PID]/io. Available on Linux only. + + +*`system.process.io.cancelled_write_bytes`*:: ++ +-- +The number of bytes this process cancelled, or caused not to be written. + +type: long + +-- + +*`system.process.io.read_bytes`*:: ++ +-- +The number of bytes fetched from the storage layer. + +type: long + +-- + +*`system.process.io.write_bytes`*:: ++ +-- +The number of bytes written to the storage layer. + +type: long + +-- + +*`system.process.io.read_char`*:: ++ +-- +The number of bytes read from read(2) and similar syscalls. + +type: long + +-- + +*`system.process.io.write_char`*:: ++ +-- +The number of bytes sent to syscalls for writing. + +type: long + +-- + +*`system.process.io.read_ops`*:: ++ +-- +The count of read-related syscalls. + +type: long + +-- + +*`system.process.io.write_ops`*:: ++ +-- +The count of write-related syscalls. + +type: long + +-- + [float] === fd diff --git a/metricbeat/module/system/fields.go b/metricbeat/module/system/fields.go index e53fbea4708..9b23a25d528 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 "eJzsfXtvG7my5//5FEQWB+PclRU7M5M7138skEnO7BqbjI04OecAi4VMdZckHrPJHpItWfPpL/joN/sltWR5YONi7oktFX9VLBarisXiOXqA7RWSW6kgeoWQIorCFXp9Z37x+hVCIchAkFgRzq7Q/3qFEEL2j0gqrBKJIlCCBHKCKHkA9PH2O8IsRBFEXGxRIvESJkitsEJYAAo4pRAoCNFC8AipFSAeg8CKsKVDMX2FkFxxoWYBZwuyvEJKJPAKIQEUsIQrtMSvEFoQoKG8MoDOEcMRXKFY8ACkNL9DSG1j/WHBk9j9xsOL/rm1X0s5mbo/FEcojqL5huy36TgPsN1wERZ+3zCa/vm2ghSsJTdFv3GB4BFHsZG/SBgjbPl6Whs9iJNpHKja+DLAFMLZgnJc/OOCiwirKxSDCICpAfDsF/ASEF+YaVUkAiRjYArNt2bqMhYIC8D8hmKpEKyBqWmFIpFojWkCiEjENChK/oQwpcSSaA4iHSngAqRRI6KQwGwJskTN6M4FUhxd+gUkFRZqpgHX5BSWJ69DCobnzQpYid8NNtMmFIT18a3mP8EcuSVXBMqDIIkJhIgwFGH9H/uZs68fvryZltZOZgLQkKVzb792jwLOFCZMIsoDTB21vitKz3dNWMXRO2ThUJxrOgUoWpUcAi1jhLWiLimY8bTEMIoSqoj5XsH6pD9lg5PNVoWJIiMkLP06ZYVytqz8oYUb/aOhf9So7MLIUZU++T/QbaYB0gtIcYVpRRdRlz6iVp3sgf6bHhXhQJE1eMxGabq9sBMJ4viou6weYQYYkjEOoGFKShwoEjzIcTRCg8MRT5jaE5hT81MU7gMIBnQIFyMKuFPCA9AxEsDpSZgzRPnmPBaEC6K26SYBsg83R5P0rihJSE9Q5gZVD+DHU+QegPgGE3WCsmRIA0NnnKGQyIc3/fg4po0Yhk/8cXpCliDWJNDRmHa/V5iFVP9jhUW40QEcYQqESGLVuR7FH8cT/WioJV+o5zQvGu9uHD713OyAXMFT+LI9zBJha04TprDYWhPgHN01ESrB1HxjsyLUxsirbaxFIrmoDWYCy4K8uFqBSLdALqa1L3xYY0LxnALijG715vmdkcdegjymXXxmAop4CHRmQy+vhOrJnh5CMuGoppwGdehGQ8IWoQaIPhOWPPbChkupjfGQ4Qh2xLX60wvItyB7wDEheZAIoTUooDx42A2WpjNrCMt3llW82koSYGpRXn/S0FxWISLLlXL/hUcIEgU2yRAb5RaAQzlBK2ABoEh/Qa0wqw3CGaRJjakmOyXhPQowQ3KFhV0kEkeVzzhW73cTVMrT6MIyYskkZoXVCq+QyHtVRTEkKRTESS0vpQFJhYt7zS55HpOgHNF2+tKfsQDpAiJjFLlUU/thzs7zDGqNXr5ZSbQhlKIVXgPCKMKPJEoil4XlC3R/eXHxN/Qfdrh7Q7tGrJCpLdLFVCvyFin8oLUxz+0yxREOArMT2O1+XSfqwaKh7Jzkeg7ZInTD6slGOamR3fLELHQzaUWRZ0coSwFYgTCGw8qteHYwQWSBfqyRdRl1AQgr9P7ibxraROuVVa7MjsTJNJXmvdWeOaDLXxon56+VVfpr5W2eb0bkr5KAeEaB5Euo7OHwJeAcJ556olOoHoI0h+8SWbbNjnodUjCKc33zT22FmpyS33PPqJd/oj2pkxTB0JOjk2Vk6EZ/mozstdufJkv9t/wTxb/Dvn+anIy++T8rNnf1AE6TyefqBpyaNPt4AZM0ESJ9JWsmuPbwXvEYvtUS7s+lWOSUyyyeR2HCCZ7vn/S5+FOfTu6+Iz418l03uZfjwKJMtJ4S/qoqiiHHD5pE4fxB/xNd32QFqT0r4dOf4WcUA48Is9pzGeLL4dNt2DOnhx3KBoLg8c9WUwg/SDdCdsZqKs8jvEWMKzQ3pdFrEtptHFOaC71G0+XoOxgSgMOpOfAYcfEYT6ngYZhjQxRwPUNaZWQSaA1fJJRuO/BtBFFwcIBmlB0RGgnOt6r/iVrqCvq+tAN4Q8bAKMNGN+5o0h5xkepQqOIHSggUF46SO/QlTtMYwlImkZaM+RSS5E/jh/58+a7XDD69gDQOBWwcGaXEeoqpRrVbbEatKldAWoW2g2AiQnVMEHAWyrzGXZsVs2J7TeyTQbRrttNZPDRAP8aQ633w+u2NLG/iTSB5PKbzUsWocWjHJRZ8KUDKusMATAkeb/fxGHLfxN2eqdMc7gXglOhsTtSo/l2GVhPWQqrDLVSXPHm8n+N1OCdamtheUeH21hTnNLPLP1381/vaLC8IhdJFKbSTa5iTqRWo5H8ao04lY/pIG4fxAk3oXpC34tquJywWZE0oLCG0CQjC7DBTL/QQ1iSAkQvdyp5q+c7l/dsQ1m/1Xy/vvYj0uAeAomlUocCj+ul+iq4ZkjwCFGAJ5gbbPwkL+UaimzsbL5nymbRM4z5hmdDvEZYIm33aarfem5mdXcKZvYSp9DbANxCiM3icInhUIBimBpZ8458WE9XNYk4a3MmdZWEIa5tvaNfmxj8lZrWMZdQqNp8wHoJMy6/smpzosDRYZSLH2uOdE2aFyhcW0AQtOA1ByAmS24gS9iAnJki3Ot2g8Nwg83Ozs1Qd0WoxWcHKGLn7ES0EPKnhaDcQGt1sVAUoOaqafKoDJJeaJzSvJLiP6qMX5NYurUTCcYMsPeBAeE/vJFRAt+X0MzWUep/eyx1wKmUpFTyC4ip1WSO8XApY4ixtpP14s4IrhaD5V/eudN01cfB7vpTydSPRgicsbFk+eyzpI1pw9Ds3xtRtyG38aIdywNLyq09duiCNEuSiRSEPZDXj6Zta1G7iW+Xdhb6Gs77qULbXGhNbWWhVgHpFPhlAYw46APps/vEQWtt6ZoDGNJFGpm/q4SnlONzHRn28/W5oILwGgZewp1V5ffl6qKXXfyJsOVvgQHFxhS4vLoZZ+88F+MaZzvqVRIQlCvxr+PXPp4T0Z4e1weC8vjwptJceuH7cpibgqXTCowsoJNkhQb+z/jo7TzUVfoUZg6Mn064GrdqTJ/MhP0eHvcVTs862K89ePqQlUUsnuX4/I6SSjhbbmH3NNVFqn8GjxjTf9RbbC9YRw2YbBOZH7cajcnOeBVzF5lshB5v5ISygSZh9OODMHrvMt6k7GeBgZbtw1YaeJ4sFCInOJGQBsRMNDlSC6bTihvhDCz1A74ZJe6vURzNcyjBntUj+5APTXtpnJ2C3oKKO5IOhlnfzg9CEQXp6u0KNVpfeu2zREdxmx1BBnoWFcq2QAGexpbHXIdGabm7rzkFtwN2Xc+uOheZfecbKzZD3KqX+qX4ShRADC7MY9ebOJj7NzeAQFCZUTlBsbDUKVhA8ZNmCwkK7b1AJ9PSBnhO33y5dK0QkCjANEmpSGnOsp6Ugi/Lhcjnd/QWi/MTMJEPexoIHbyOICFvwSV0W+oeL4oDma0VwJobKLV9m6ciiTD1LoKcI6gGi/rlh6ObuX4gYRjGSSVS10qkOEebapaUqdJMlFybu+/BHfWG7WeSZWriv91WLBvOG+pg41GnmUM9Qtn5YV1ulXWVFG1y1bM02LxawII9X6PX/M2z9/6oPWE4qac0zVHLfSrtTRCoSSHuGCGF6hKhxlHqflrNPQ9MzT5xcyJnpq0pPZdaNdzYM71NZxPyUf7h4T2+lJo2Cz+oQQW24eNgrunE0CuGN+02xorLU4jP9u6mCXVQyeMcrpgS1GhjwmkCyCr5PZSVP1FEPeKrlYbLU9NcLkbAnRSggALIu9uxtFGSMgwcYtV4mB+No9xTY4ZCIDElPwRA2BSG4OIxYLGlX920REbbsMVfHwiSBhd2ICJuGgsdx/8h2ECLCAh6ZMgk3d6YvyAZ0vGCH7SGxQwLkiVrydoCVbuCYbvC2vpteaNfpExYbwoyX/OvdJzSHACcSnEOsHXABMRcqzwE219BX9qOZTKII98i6ZZvFHBTut199cTuSLTBjS+0dLimfY5qZduPtE7Xtuf+QePof3uni839DzSnomLDrW3usC6KhaXQw5mjfPnYMl4RjDvf9U/dwM0oUjDzmZ6KgfWASRKPO4scvHk6zgsvSUwhoJ6/L0Sh4XXH+UgIOscKTYo/1SfHhh0rndzSu14UpwVWLEWO1yvieer4akaXAllH3okR9xOrbDmj/EqyB7zwU0cQNvdi62a9/sw/38R4DYqHdmR3HXe4+bv2rfUZkSTRz3fi8A2vPe1m7oNQx23nFiyOdFo7VF2MhCx6FlLCRdW6RUIoCHkWYheeavI3TFLfPVhRBTdxRgNmmPGlLLJZJZPKhEmIssNtrvVURZMm4gBme8zVcoXcXP/3it8ASxA5L27ZR2W1dB5tdFUzv1oQtZyER5kbKdofRga37m337y9meGgBsTQRneubQGguC5xRksxbYzoLapPuu8ODCrUn0mwD49e7TxGZmrdG/uUP/8puwchNHNF5e7uPt93MZQ0AWJCgm5OL8AujQbFvjNXzUlRfqmTrx3IktPaPTdj+/CtY2UzBO9IHQZs0ZNVibzLQP/RjtcfaiSdbdzZ/QE2euBj1plMSh2b2vVSFwkSQiFAuX+/UO+zc9SibI4gAhkTHF2zxyUTxOTXZ6L7l+BdUv3IaWGs9Kwp5Ho3LKYz4elTGdPyJVaj5aFXFLDwx0ZLvg741RBWx14pB47fFn6/S2yNP3NlcZXVh3woeg6/9mF2orwkH9D86/mO8O3Y+69ruu/cpTWYyOcTiUaUDar8Hz8tgKy+IZpj3ArRyuf+RRRBT6uMJiCehMeQpaMsrYuitpdIkZXoLQoxibSZQ5zTUHAC6kSpG8yVoTuyywLSYjsltThZRPdqClhfwVJAn10roDhe7InzCtWIvBL751zUjacN05vUiCMlo2abi+UZXW6e1Buz2K5+PPtF5/Ik0wY4c+ZhLZeD/KH/HsUAT0G6GQfYYL5wumGR67PWtNMeK2mU8iC0HDwtO5xZZ16F3axRNjG0ceQ72v/pDtr3IdrCwDaej33vMoiYiaSr5oXh777ciatB0lLTjogJ55T16SpaiwQDvADM0BBSvtVoVVjw4rhNnW7L9doljhWlA7lig06UOJokBbi8L0EJoDEjhtDCc4b7hMGfgW3s5LMj1h0AvI4JF5GyE7kunKYq46mX0VywdbgxRB+UHJ9Md9K7toJiA/W6k5U3rftYTkisTakOIaQcbZuRaHo2wEKKE0AC88BEHzlyCGxu21DCDqyKD1EDBy2nT9yTgYWpO4uW1nuZEIS8kDYtJhG6JWdjvVYvbHMNcm+hM6gmE/KHvtTFO9/mSTMq4nR0rdUDN8p/VuXqp43nKIXBRRjNXqcELS1NMKKKdH1d4K7tcymdt46gdp7y3a296DRGZGO4bQHN3ZGoQkfP/dxNExFxQc5GyJpVccqqniZnC1xBpqNSg1RM3TGcRJPlFIBisIEwr2PV3XU8DAxfIhS3G7Re6l+cF+J908OFOCU+rM7oZnieVsKCEn6ONvd8a6ff3mJ6r/LhVmoQWTdp6iW7TAROSknBGMBdeSJpxhSqtRnpOOuU3iQpM0tk2rftMJy0pUN0CWKzVFX78VYHjpCsDUBcoVUBKULLyG4k0DeJ1llHefLE+AEbIr5kdhIkxbPLQka2DaMSY8bFhrzGb5WAgi4/Uf7yZF0kTbfLFMDV6k93qX1HJGvTnPEsQJDgJlWlrgMCR6IiYa0Xkuk+LOsOTMhGz/aOry5Gg37Ayoa3dAPYwfqq6Y608pv1VtbwXQYHt3guBftPrndhcb3EjNZ5tbmTQ3jFq5bDJKNR4tzPW7VpptM49KOX28hGmtrUYdXoMRb0Eo0fqdi4UIQwwz7lpY9QTlD5bLqJqi5V6w+gqnOXs8DphCxraMqwdAEAecPL3RmbOWtBH0sEn0vjpVB7er2EroeorqiFPph9eJM31F4mCT6tyWXaa08RWrOrhdBVhA11tUR5xUH7xWux8s5NQ5Fkm7/W+Zzr5bnBnH7MFuciMSiHR2jRu44hskYJlQLHRo2UjKcv9DsUeW9n8ESJ6IACSSK57Q0AT3gCnlAVaNpZU+mfyRcIUPL5JvlXx5o2Csw4mp/wKRgZS687joS4qEpX6kdsnsVKMzLFEIC2JzJ81SLipH03VQn/RMvvPQsvvA0jIfd0RgThncGQ5oxzxzoOyzmwXHvJFoqe1dmnkpiXVaOFxPBwudF98syThxQrE5rCiRppvxO6SVnixXxZROq3iFOuH1mq3LZvk2rFdzljF0oQo1FQkz+cpTEIY5C+dsCVKZKJmwhCfSrblGwoRV8nzlRWxf//RLbYhv77Tm0GLKa+icqTF3YNaYSmN0SgtGL4qyiWk2bnppG1EAxbHsrSGWdbUSXCkK4dGFoHVFNs3q3F5HdtjQmWGSeB4VTX+KLR8VN7Y9rahXK9g6AT2ucGKaS5n26ItWu1Qwd1qrSzNkk+pEILMX9jX/VYkffgvNjp0NC2Fiy/nQWWWJvinso/mEdHgYvomaaDEV7y04V2z9bpBgGj3oYwim4FWPJhd/ZiovaAcpE+8JLBqeY7h11NBZagyNxQWm//ym3i+l+NM39SB5i5/QB3EN9V3qhqRbiPPqFKKApbLNYu0c6A9KhU2albMsB5hy2zJiF3tFFi8vOgIT1Ds4Qb1qAIo//gnlaxDo8gJ1xXxFNt6fKBvvh7Hx48WJ8vHjxTBGmq6919noyBHsyYW1fnd6VaXmp1/kvkhaAq1Rlz6l5qCVhLTnykeSRAlVmAFPZMNJiBPciyE4FTZeDEEXGz0MgWdp/5ZQ2rC0a8QKB684aKlz63X46o5S057nntty6c/LEVf288RHXK7W/jgpveLzlAVnu9SoTRv/4iF8h889iM1m89GrmnMAvxmnJcUz7xdUajm1CdE8p98YNm/tWfTT4WpSueFg7zQkTLlKSyLRImFBWspg3kxy3VdT98AW5GMdu2rdMIUN7l29YTmf9vO3YRqfSaSowpn6mpOkiId9J7WAb+xJze5fpMakfi1r4pvI8q2I4WI+hIKOw0uzSg7hsuvkb3R1OrP3Zd4M16vOg8DdZuNb02wUL/aMrFv9DhGflp999UvT9pbDofartulP6crt/jt4ppq1TFmmq5whwMHKfLSyk7fksIns3spbrzOhYV6qvdaUFhjb7g4vjuqBHNXhDmkE0dSW8DRdL0F9zGrXHZUBjBebN7vSqPm2sVbxLL1U1PdsIGc4wo+nw/QKshLOYqPcsTm3NydOkeu8/sC6ceVGr5rbtMPEgtTeost/TN/VN+6yX7242GS2CsdXiey7qWvpLTChyeGLCsq3htzxXeX2or1AclaZ0zdoU2tFkf8IMO2rh6gL3xxZWVL2+MY0QJGrFad+S1rEuSLL1dMA1SMPQXp8o5Ndd3304ewEbO7Uj1SVW1fqQim/QEqQOIYwSzdb409hDU35u77HaJRvWhJ7w0sFc/VsmvPi6FpHRh2+oHR9xo/w46jD56rUZ3TOo1FH5+aK2oDRZw+kx0nKUAiaqNbZ3kj05jEqCk1Q72I1BL0Xt9ycmu+3grTBeXqNvOQImtbqplOwfbTK+UiN9Mb0nTJhnarfWLvTr4OturBKQmkJFPcV1sm7mmm5nFO4qtDarz8cxMHUUnseHpfcPB+fS26endclN6cUa1StrlnZjRTPasvfRCX16KOZ9xef08PIi8/54nM+A5/TB+PhVLOM7ozhYMnGh9PPNlZF0Jl0bKQ6XDIn7yLyRUU+bW5fI+Gd3MGH00w4VudtzIyjpj1TQXySpqJkI3To8O3jbf60V62z2RBGT9U0FG1ClWOPjWikuY/1NGJ6DnbCCasqp5rB6JLSzvFjJq3TNBrViWy+Z+UNFlpZt1UK1WcRygy3Ht6XWLZvJuat8q5vWrpIVCD0UNIRgfRAZF8EnGHG/e8mlbEdZwF9YJxtI57IPNliju1Mqbl9wdDcRTkXEABTdHtuTNDZ56/fm7WGEqlKfeijeCHRmVxFEL3x9Z7sL7wFocfejX4jFM7nOHgovTbrhPP56/eM3R24MrI+Mj+3etc0A489RysCAotgRQJMZ1ZUs9PaL4oVMFnSMYXtXMrsdZSC8bQbQvNNzFHEJTenKa0859Rbbo0ky/LcTW7p26rPx5Jmr8EWzUVp5TWn8KorcidJPYHZbJaU36B6ZbSDdkQ4jiE8LY7vyJ+F7sXnFiJy/08jlc2meFybE+MlzBY4oR053QNcetc2AmctR8shuxJkuQRhkr9x21mPgT5QH/7NxewZ8G2AdjCOXn/Rn3pt/ynRSqsQyxu6ugyJfW+Zbk1jV8XbcgL2uWrzUozp7BeSYsvTnholZ425qAM0ktADmv+abhK88Eq7vU6B02fUduCDJ+0l1YdihCeFyHVfVtoa3fdi5Rjboqsi1CtEYCbtg2NolSzByOXNBDHefLI1ruMqpJzpkU9Gar9XnrrlC4QzQXrlNew+xAbHJ8PrXXbCv+PsJQzWJFDm2f5TYepLIUcdYMa4sr3HAopJBGEvTlMu5/SB+Gz4gMr/XykPio9rvxT8j13wv0O9v73IeCoaa1Pr1Te2ja1ZgBA2BaptuHETMKVobpQq1IuvcXDUcoI1SEyEH+eibi6A67c36fPDnJm2XVrargsDpXswbvoqQf7ehGuZY1654ZQE2+bnFvY1BA7AP95pY/AlfehVQExxoMc3tubFOhzHOvhYGDd/HoM4t3qq59s9+tc7gb4zihqhUXPxezLVaUoOjeT5tb46Xv+bl9ZXLx1vXjre9MG1czOr4/Wxy25BvyzhlyW8Lx9/jUWZ+wD2GTKZRBEu3etXRFHQHNp88V39A94F2uK7OhLZgyyVt4lAZm9sugfWVlyWvFQBelPWgxb7gPqWZpuEGyXa4XZX47IctoFLZA1voSO0ZWwkJHlWrvIoaS8sJKzdld4fiGkUOASFpADxIUSSEh6GRvE4Bv/LlnuBsXQHYfmTR3My/gxZsoOQhIDHF4km2oQCXasfJFqD2KKEUfIA1KUuibJPr+E4BizQPDHtYIxzbhpDY4okUYlLkRCFIrx1h1J+1jb4ATz1+PuzlxI+1wFPo7jRDaNbtOCJfZSd0xCEe7v0/9qjM/eoW8MjrHqUg0A/LOwYi4cDrDJLdizoE8RF+mIZCIWJefnMvi3WwFfCHhjfVI8eR2As46XQC3tlY3sdXic0ZD+4jL4SBNbarxWIyBSRH65aCcA1H6Wy4X/zf6jRKy930eIJU+a4qNAmzg1rPW/XP6pCpOtJTv8+2ipsP7bCdWK6zbZRh7A57WlSzTUN3nH8VB6OKJpv0fXbm2nNRxO4lNAc7HdVvj/ci9L/9eqBP43Zpd44b19ok1ZNezJWtS79e4xrynqI2jo70QOB78rfHgC+rcyTvqGlWwbgl8CWBTNsWjKOh+Kju0SviSNLfIKIxfL1w/UnhIXAW/vwSZiwEDOF/N4BkQ9pPexIlq9g+lwRlh2kZfxDevhmhMIkmT5rRBrD1obJHIqPLxJDNuwWib2QN/747qJf5/hmfdXPDlqS2qVGeTtpNYqweZpa4I1BYbdI6UVp7O24mlOokzDEi0qz4jQ0dXXo8uLdT+fzrYIUQhs8vT4P4Cs5fC7CdhBtbZgwOTM9bgfazD6BqNgu/96U7ThzULjfnlXMEaQPBtvR5BE2LXOPpbBN1Rkt3unG4cxo2z6jaSqotDG1jbn3cOleOGDIZL4/lzKZnw9jciYJqyVm7ZhhHUxtQFP6qHAUpwNSc6hj3ecVZkuYuvfAUyim2s3uPZiFqWc4sZGE/j8lURKX20QXUcMjBLOAh3vJ6e76f3/8P58/IU0nf4DfIfxBokgHJdUnvVEpICHKlh7vP2fF+dJ068326qOugYVczGIBEqrGftDoIZgK0yEosmfIdgtdnLXJXo2uvcfv19ru2CWIk2nLs8EDAojb7/3eBy73bO24Qtt//NK119p1gOrg5uRlaspH9xq1cK/QnuX0npjCngBqw8VDI45epSuOSP7ySVNXoF6lKse+OGLLqRrKpAuoYhw8wO5F6oNxufG6kPFE7QvNO2xTvXVx3L0myjMJxTHrvhXXwPYJ+799vHVUZO7g2a1tv0OVkAhoDkoxJbXb/zFWq2zhTJu+H5GlLXK7QkokDd3I8zYmEak9M9QXgf7cPoNTHmA6JVVTYYev/RoecRRTuEKX//VuejF9N71EXKB3FxeXVxeffv3l6sOvf/909cvPP76/uroc5tZ/1jjQ9S3CYShASlewH2CG5tp/Qde365/0YNe36/fZh/rwFnPh37c9Kp7x96760mAv+HqoDkwCIq7gBAT+1QAZWeKOu6OI3DHQX+YrLoc4cBmw/3x//u7y8vzy8j/Pf3w/ZZup+8s04LWsbwfm229fkYCAi9C76Yt0TqboWmkXnc8VNk9IrwlGAtYgZH17vr5FlPOHxpLOihhA0XAW00TOOBviTmfy2Jl97QXDYgGBq+uMz236MOQmCjiDb58/vUk9YycLPWn2uixngCJer/GjeA50in7jIkU2MQQ0tf95acLu1wvOp3MspktOMVtOuVhOX2v5vi7+opYr/5Zd4+IChaBARMQl1y15FPAIpCvfZgiiOYQhhCjg8TZLimJVe+rTfGGlVHz19m2czCkJZLJYkEeDo7cuz0CI2vW2PRJPf9fk3IfmKZv27dtsTowGOnVDrhVHB+K0LiOu1TJ37XHN3xy0xaVkAh5FmO0KwpOE2Q1FFFIyaOF1TJt5oc3xhkqkW3HAox9DtyTgEYLE3A3aRx7mRZ/BKuH/1vCBG1NqHUMvEkpnA1Sh7AM31ybdmb8jz9/3LU3iC8RjYJn/TPKCJJcg2MuDxg2FB53JiboifzB6zJj1qKuT0JmTaA3LCVOwBN9d4B43FDQwI8NmdAWnk0gFrSe7e2PJhjDOjz9tpgK/h7njvOgIbPe56Xhpp1kgXbF3D4F9Kbf+K4aSacJnguZY2jraPDWDqQ4ftHtmLxWbu7Y2oRabSwnkT5iij1wIkLF5eFDx9B0gCaao5622mG/lVr5loN6SeP3TWxXEswgiV8ORvw3Pma3gmDbfWayvNDQs29OsUO2zi3omgLiIV7j90nrzTPdEaxDbte4myQ0LoVb5dGqb5dvKQZMNGZuB1J50y72fXTkAPg2tzc5U4YHUHgGRK29JycgA8zPAwrCDpBlQLmG2wY2dng+CtoJQ24hZjmTmPQwr41YkOg3YGZA+qOWWzWRzpfzRQKc4+mIWEKxPAbPG0QfzgjAzJ9VU0NFBZ0CGoK7mf54M9bs+qCmWaoYD3wnMUUGnOPpg1rbmKDtIt8kjbOlDnAVp4aju6/dPfxH3VTPyhO5rEp6i+9o+u6in+3ps568Jdcv/yFZHXLmWODhLcG9J3JdbM7reDGyZqor9lMsl7HnUltgEyTTyVzN4jgbS5ZN+tfJnwuJEzdIPRYRS4i8f6FHMenOX8kpYiVS9VCyRIGSn7HcoFPvMl0sIz7Onp0FKwlk1gdwm44Z02s4lvnnPCAfGO6qE2k3DPcb9wIpHI5QvibZc1SFa2lPsyfOnXxPpqjgN9T4S8BzC7olCfz2rESpoQ8ME+GpF9pmDTPn6lqaUjye8SOacU6jlBzqR6K+ZqxeBtUw4PRlqlcg+pWL+GUlfbKsU/bVgCPjYWlGYDWugQ88oeck/Dmub1c715CtAgnOFbvvZBDtHs4FHrp1b6IfSsaA7k86fOqsAyv/HfwcAAP//GsyHtQ==" + return "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" } diff --git a/metricbeat/module/system/process/_meta/data.json b/metricbeat/module/system/process/_meta/data.json index 807d76eb878..06d29b3d155 100644 --- a/metricbeat/module/system/process/_meta/data.json +++ b/metricbeat/module/system/process/_meta/data.json @@ -11,28 +11,28 @@ }, "process": { "args": [ - "/tmp/go-build2412913392/b001/process.test", + "/tmp/go-build2159656503/b001/process.test", "-test.paniconexit0", "-test.timeout=10m0s", "-test.v=true", "-data", "-test.run=TestData" ], - "command_line": "/tmp/go-build2412913392/b001/process.test -test.paniconexit0 -test.timeout=10m0s -test.v=true -data -test.run=TestData", + "command_line": "/tmp/go-build2159656503/b001/process.test -test.paniconexit0 -test.timeout=10m0s -test.v=true -data -test.run=TestData", "cpu": { - "pct": 0.0013, - "start_time": "2022-01-31T21:06:54.000Z" + "pct": 0.0012, + "start_time": "2023-11-28T03:13:18.000Z" }, - "executable": "/tmp/go-build2412913392/b001/process.test", + "executable": "/tmp/go-build2159656503/b001/process.test", "memory": { - "pct": 0.0004 + "pct": 0.0008 }, "name": "process.test", "parent": { - "pid": 3334369 + "pid": 592387 }, - "pgid": 3334369, - "pid": 3334614, + "pgid": 592387, + "pid": 592516, "state": "sleeping", "working_directory": "/home/alexk/go/src/github.com/elastic/beats/metricbeat/module/system/process" }, @@ -44,8 +44,8 @@ "cgroup": { "cgroups_version": 2, "cpu": { - "id": "session-27.scope", - "path": "/user.slice/user-1000.slice/session-27.scope", + "id": "session-426.scope", + "path": "/user.slice/user-1000.slice/session-426.scope", "pressure": { "full": { "10": { @@ -57,48 +57,53 @@ "60": { "pct": 0 }, - "total": 3431214 + "total": 5524742 }, "some": { "10": { - "pct": 0 + "pct": 0.07 }, "300": { - "pct": 0 + "pct": 0.1 }, "60": { - "pct": 0 + "pct": 0.3 }, - "total": 3626431 + "total": 32365561 } }, "stats": { + "periods": 0, "system": { "norm": { "pct": 0 }, - "ns": 70940728, + "ns": 548263994, "pct": 0 }, + "throttled": { + "periods": 0, + "us": 0 + }, "usage": { "norm": { "pct": 0 }, - "ns": 502653872, + "ns": 1599791233, "pct": 0 }, "user": { "norm": { "pct": 0 }, - "ns": 431713143, + "ns": 1051527238, "pct": 0 } } }, - "id": "session-27.scope", + "id": "session-426.scope", "memory": { - "id": "session-27.scope", + "id": "session-426.scope", "mem": { "events": { "high": 0, @@ -111,7 +116,7 @@ "bytes": 0 }, "usage": { - "bytes": 2462191616 + "bytes": 3864518656 } }, "memsw": { @@ -127,28 +132,28 @@ "bytes": 0 } }, - "path": "/user.slice/user-1000.slice/session-27.scope", + "path": "/user.slice/user-1000.slice/session-426.scope", "stats": { "active_anon": { - "bytes": 19554304 + "bytes": 1759969280 }, "active_file": { - "bytes": 4419584 + "bytes": 990560256 }, "anon": { - "bytes": 2368811008 + "bytes": 1781649408 }, "anon_thp": { - "bytes": 205520896 + "bytes": 618659840 }, "file": { - "bytes": 48955392 + "bytes": 1710731264 }, "file_dirty": { "bytes": 0 }, "file_mapped": { - "bytes": 14315520 + "bytes": 15060992 }, "file_thp": { "bytes": 0 @@ -156,53 +161,53 @@ "file_writeback": { "bytes": 0 }, - "htp_collapse_alloc": 28, + "htp_collapse_alloc": 313, "inactive_anon": { - "bytes": 2370981888 + "bytes": 327753728 }, "inactive_file": { - "bytes": 24166400 + "bytes": 698679296 }, "kernel_stack": { - "bytes": 2621440 + "bytes": 2899968 }, - "major_page_faults": 45, - "page_activate": 12197, + "major_page_faults": 3001, + "page_activate": 0, "page_deactivate": 0, - "page_faults": 3623174, + "page_faults": 79495294, "page_lazy_free": 0, "page_lazy_freed": 0, "page_refill": 0, "page_scan": 0, "page_steal": 0, "page_tables": { - "bytes": 22589440 + "bytes": 19267584 }, "per_cpu": { - "bytes": 0 + "bytes": 10336 }, "shmem": { - "bytes": 20369408 + "bytes": 21491712 }, "shmem_thp": { "bytes": 0 }, "slab": { - "bytes": 13215832 + "bytes": 60957576 }, "slab_reclaimable": { - "bytes": 8919768 + "bytes": 55816376 }, "slab_unreclaimable": { - "bytes": 4296064 + "bytes": 5141200 }, "sock": { - "bytes": 16384 + "bytes": 0 }, "swap_cached": { "bytes": 0 }, - "thp_fault_alloc": 91, + "thp_fault_alloc": 8577, "unevictable": { "bytes": 0 }, @@ -210,29 +215,29 @@ "workingset_activate_file": 0, "workingset_node_reclaim": 0, "workingset_refault_anon": 0, - "workingset_refault_file": 1381, + "workingset_refault_file": 0, "workingset_restore_anon": 0, "workingset_restore_file": 0 } }, - "path": "/user.slice/user-1000.slice/session-27.scope" + "path": "/user.slice/user-1000.slice/session-426.scope" }, - "cmdline": "/tmp/go-build2412913392/b001/process.test -test.paniconexit0 -test.timeout=10m0s -test.v=true -data -test.run=TestData", + "cmdline": "/tmp/go-build2159656503/b001/process.test -test.paniconexit0 -test.timeout=10m0s -test.v=true -data -test.run=TestData", "cpu": { - "start_time": "2022-01-31T21:06:54.000Z", + "start_time": "2023-11-28T03:13:18.000Z", "system": { - "ticks": 140 + "ticks": 40 }, "total": { "norm": { - "pct": 0.0013 + "pct": 0.0012 }, - "pct": 0.0158, - "ticks": 340, - "value": 340 + "pct": 0.007, + "ticks": 100, + "value": 100 }, "user": { - "ticks": 200 + "ticks": 60 } }, "fd": { @@ -240,21 +245,30 @@ "hard": 524288, "soft": 524288 }, - "open": 11 + "open": 15 + }, + "io": { + "cancelled_write_bytes": 0, + "read_bytes": 0, + "read_char": 2517537, + "read_ops": 9551, + "write_bytes": 0, + "write_char": 22, + "write_ops": 4 }, "memory": { "rss": { - "bytes": 23404544, - "pct": 0.0004 + "bytes": 26234880, + "pct": 0.0008 }, - "share": 14946304, - "size": 1725992960 + "share": 16252928, + "size": 1886003200 }, - "state": "sleeping", - "num_threads": 42 + "num_threads": 9, + "state": "sleeping" } }, "user": { "name": "alexk" } -} +} \ No newline at end of file diff --git a/metricbeat/module/system/process/_meta/fields.yml b/metricbeat/module/system/process/_meta/fields.yml index 0ed69326f93..f0dad409520 100644 --- a/metricbeat/module/system/process/_meta/fields.yml +++ b/metricbeat/module/system/process/_meta/fields.yml @@ -111,6 +111,31 @@ format: bytes description: > The shared memory the process uses. + - name: io + type: group + description: Disk I/O Metrics, as forwarded from /proc/[PID]/io. Available on Linux only. + fields: + - name: cancelled_write_bytes + type: long + description: The number of bytes this process cancelled, or caused not to be written. + - name: read_bytes + type: long + description: The number of bytes fetched from the storage layer. + - name: write_bytes + type: long + description: The number of bytes written to the storage layer. + - name: read_char + type: long + description: The number of bytes read from read(2) and similar syscalls. + - name: write_char + type: long + description: The number of bytes sent to syscalls for writing. + - name: read_ops + type: long + description: The count of read-related syscalls. + - name: write_ops + type: long + description: The count of write-related syscalls. - name: fd type: group description: > diff --git a/metricbeat/module/system/test_system.py b/metricbeat/module/system/test_system.py index 9303920b897..b1c21d698ff 100644 --- a/metricbeat/module/system/test_system.py +++ b/metricbeat/module/system/test_system.py @@ -113,7 +113,7 @@ # is not available on all OSes and requires root to read for all processes. # num_threads may not be readable for some privileged process on Windows, # cgroup is only available on linux. -SYSTEM_PROCESS_FIELDS = ["cpu", "memory", "state"] +SYSTEM_PROCESS_FIELDS = ["cpu", "memory", "state", "io"] class Test(metricbeat.BaseTest):