Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Metricbeat] Add Linux pressure metricset #27355

Merged
merged 16 commits into from
Aug 19, 2021
Merged
213 changes: 213 additions & 0 deletions metricbeat/docs/fields.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -39019,6 +39019,219 @@ type: object

--

[float]
=== pressure

Linux pressure stall information metrics for cpu, memory, and io



[float]
=== pressure

Linux pressure stall information


*`linux.pressure.pressure.cpu.some.10`*::
+
--
The average share of time in which at least some tasks were stalled on CPU over a ten second window.


type: float

--

*`linux.pressure.pressure.cpu.some.60`*::
+
--
The average share of time in which at least some tasks were stalled on CPU over a sixty second window.


type: float

--

*`linux.pressure.pressure.cpu.some.300`*::
+
--
The average share of time in which at least some tasks were stalled on CPU over a three hundred second window.


type: float

--

*`linux.pressure.pressure.cpu.some.total`*::
+
--
The total absolute stall time (in us) in which at least some tasks were stalled on CPU.


type: float

--

*`linux.pressure.pressure.memory.some.10`*::
+
--
The average share of time in which at least some tasks were stalled on Memory over a ten second window.


type: float

--

*`linux.pressure.pressure.memory.some.60`*::
+
--
The average share of time in which at least some tasks were stalled on Memory over a 60 second window.


type: float

--

*`linux.pressure.pressure.memory.some.300`*::
+
--
The average share of time in which at least some tasks were stalled on Memory over a three hundred second window.


type: float

--

*`linux.pressure.pressure.memory.some.total`*::
+
--
The total absolute stall time (in us) in which at least some tasks were stalled on memory.


type: float

--

*`linux.pressure.pressure.memory.full.10`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on memory simultaneously over a ten second window.


type: float

--

*`linux.pressure.pressure.memory.full.60`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on memory simultaneously over a sixty second window.


type: float

--

*`linux.pressure.pressure.memory.full.300`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on memory simultaneously over a three hundred second window.


type: float

--

*`linux.pressure.pressure.memory.full.total`*::
+
--
The total absolute stall time (in us) in which in which all non-idle tasks were stalled on memory.


type: float

--

*`linux.pressure.pressure.io.some.10`*::
+
--
The average share of time in which at least some tasks were stalled on io over a ten second window.


type: float

--

*`linux.pressure.pressure.io.some.60`*::
+
--
The average share of time in which at least some tasks were stalled on io over a 60 second window.


type: float

--

*`linux.pressure.pressure.io.some.300`*::
+
--
The average share of time in which at least some tasks were stalled on io over a three hundred second window.


type: float

--

*`linux.pressure.pressure.io.some.total`*::
+
--
The total absolute stall time (in us) in which at least some tasks were stalled on io.


type: float

--

*`linux.pressure.pressure.io.full.10`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on io simultaneously over a ten second window.


type: float

--

*`linux.pressure.pressure.io.full.60`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on io simultaneously over a sixty second window.


type: float

--

*`linux.pressure.pressure.io.full.300`*::
+
--
The average share of time in which in which all non-idle tasks were stalled on io simultaneously over a three hundred second window.


type: float

--

*`linux.pressure.pressure.io.full.total`*::
+
--
The total absolute stall time (in us) in which in which all non-idle tasks were stalled on io.


type: float

--

[[exported-fields-logstash]]
== Logstash fields

Expand Down
5 changes: 5 additions & 0 deletions metricbeat/docs/modules/linux.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ metricbeat.modules:
# - ksm
# - conntrack
# - iostat
# - pressure
enabled: true
#hostfs: /hostfs

Expand All @@ -46,6 +47,8 @@ The following metricsets are available:

* <<metricbeat-metricset-linux-pageinfo,pageinfo>>

* <<metricbeat-metricset-linux-pressure,pressure>>

include::linux/conntrack.asciidoc[]

include::linux/iostat.asciidoc[]
Expand All @@ -56,3 +59,5 @@ include::linux/memory.asciidoc[]

include::linux/pageinfo.asciidoc[]

include::linux/pressure.asciidoc[]

23 changes: 23 additions & 0 deletions metricbeat/docs/modules/linux/pressure.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
////
This file is generated! See scripts/mage/docs_collector.go
////

[[metricbeat-metricset-linux-pressure]]
=== linux pressure metricset

beta[]

include::../../../module/linux/pressure/_meta/docs.asciidoc[]


==== Fields

For a description of each field in the metricset, see the
<<exported-fields-linux,exported fields>> section.

Here is an example document generated by this metricset:

[source,json]
----
include::../../../module/linux/pressure/_meta/data.json[]
----
3 changes: 2 additions & 1 deletion metricbeat/docs/modules_list.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,12 @@ This file is generated! See scripts/mage/docs_collector.go
.2+| .2+| |<<metricbeat-metricset-kvm-dommemstat,dommemstat>> beta[]
|<<metricbeat-metricset-kvm-status,status>> beta[]
|<<metricbeat-module-linux,linux>> beta[] |image:./images/icon-no.png[No prebuilt dashboards] |
.5+| .5+| |<<metricbeat-metricset-linux-conntrack,conntrack>> beta[]
.6+| .6+| |<<metricbeat-metricset-linux-conntrack,conntrack>> beta[]
|<<metricbeat-metricset-linux-iostat,iostat>> beta[]
|<<metricbeat-metricset-linux-ksm,ksm>> beta[]
|<<metricbeat-metricset-linux-memory,memory>> beta[]
|<<metricbeat-metricset-linux-pageinfo,pageinfo>> beta[]
|<<metricbeat-metricset-linux-pressure,pressure>> beta[]
|<<metricbeat-module-logstash,Logstash>> |image:./images/icon-no.png[No prebuilt dashboards] |
.2+| .2+| |<<metricbeat-metricset-logstash-node,node>>
|<<metricbeat-metricset-logstash-node_stats,node_stats>>
Expand Down
1 change: 1 addition & 0 deletions metricbeat/include/list_common.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions metricbeat/metricbeat.reference.yml
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,7 @@ metricbeat.modules:
# - ksm
# - conntrack
# - iostat
# - pressure
enabled: true
#hostfs: /hostfs

Expand Down
1 change: 1 addition & 0 deletions metricbeat/module/linux/_meta/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
# - ksm
# - conntrack
# - iostat
# - pressure
enabled: true
#hostfs: /hostfs

2 changes: 1 addition & 1 deletion metricbeat/module/linux/fields.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions metricbeat/module/linux/pressure/_meta/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"@timestamp": "2017-10-12T08:05:34.853Z",
"event": {
"dataset": "linux.pressure",
"duration": 115000,
"module": "linux"
},
"linux": {
"pressure": {
"cpu": {
"some": {
"10": 1.63,
"300": 0.06,
"60": 0.29,
"total": 155911207
}
}
}
},
"metricset": {
"name": "pressure",
"period": 10000
},
"service": {
"type": "linux"
}
}
1 change: 1 addition & 0 deletions metricbeat/module/linux/pressure/_meta/docs.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The Pressure module reports https://www.kernel.org/doc/Documentation/accounting/psi.txt[Pressure Stall Information (PSI)] collected for the `cpu`, `memory`, and `io` files/resources found in `/proc/pressure`. PSI metrics are included in Linux kernel versions from 4.20. Some distributions might have PSI support, but have disabled the feature via the `CONFIG_PSI_DEFAULT_DISABLED` setting, to enable PSI metrics pass `psi=1` on the kernel command line during boot.
Loading