Skip to content

Commit 5648c96

Browse files
author
Toby McLaughlin
committed
[Metricbeat] Add state_statefulset replicas.ready
Add a "replicas.ready" field to the state_statefulset metricset of the Kubernetes module. This is drawn from the "readyReplicas" value in the Kubernetes StatefulSetStatus API response.
1 parent 55d33cd commit 5648c96

9 files changed

Lines changed: 32 additions & 6 deletions

File tree

CHANGELOG.next.asciidoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
131131
- Add support for the MemoryPressure, DiskPressure, OutOfDisk and PIDPressure status conditions in state_node. {pull}23905[23905]
132132
- Remove xpack enabled flag on ES, Logstash, Beats and Kibana {pull}24427[24427]
133133
- Adjust host fields to adopt new names from 1.9.0 ECS. {pull}24312[24312]
134+
- Add replicas.ready field to state_statefulset in Kubernetes module{pull}26088[26088]
134135

135136
*Packetbeat*
136137

metricbeat/docs/fields.asciidoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37274,6 +37274,16 @@ type: long
3727437274
The number of desired replicas per StatefulSet
3727537275

3727637276

37277+
type: long
37278+
37279+
--
37280+
37281+
*`kubernetes.statefulset.replicas.ready`*::
37282+
+
37283+
--
37284+
The number of ready replicas per StatefulSet
37285+
37286+
3727737287
type: long
3727837288

3727937289
--

metricbeat/module/kubernetes/fields.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

metricbeat/module/kubernetes/state_statefulset/_meta/data.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"name": "mysql",
1717
"replicas": {
1818
"desired": 5,
19-
"observed": 2
19+
"observed": 2,
20+
"ready": 2
2021
}
2122
}
2223
},

metricbeat/module/kubernetes/state_statefulset/_meta/fields.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
type: long
2222
description: >
2323
The number of desired replicas per StatefulSet
24+
- name: ready
25+
type: long
26+
description: >
27+
The number of ready replicas per StatefulSet
2428
- name: generation
2529
type: group
2630
description: >

metricbeat/module/kubernetes/state_statefulset/_meta/test/ksm.v1.8.0.expected

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"name": "web",
1414
"replicas": {
1515
"desired": 2,
16-
"observed": 2
16+
"observed": 2,
17+
"ready": 2
1718
}
1819
},
1920
"Index": "",

metricbeat/module/kubernetes/state_statefulset/_meta/testdata/docs.plain

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,3 +462,8 @@ kube_statefulset_status_observed_generation{namespace="custom",statefulset="mysq
462462
kube_statefulset_status_replicas{namespace="default",statefulset="elasticsearch"} 1
463463
kube_statefulset_status_replicas{namespace="default",statefulset="mysql"} 2
464464
kube_statefulset_status_replicas{namespace="custom",statefulset="mysql"} 3
465+
# HELP kube_statefulset_status_replicas_ready The number of ready replicas per StatefulSet.
466+
# TYPE kube_statefulset_status_replicas_ready gauge
467+
kube_statefulset_status_replicas_ready{namespace="default",statefulset="elasticsearch"} 1
468+
kube_statefulset_status_replicas_ready{namespace="default",statefulset="mysql"} 2
469+
kube_statefulset_status_replicas_ready{namespace="custom",statefulset="mysql"} 1

metricbeat/module/kubernetes/state_statefulset/_meta/testdata/docs.plain-expected.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"name": "mysql",
1717
"replicas": {
1818
"desired": 5,
19-
"observed": 2
19+
"observed": 2,
20+
"ready": 2
2021
}
2122
}
2223
},
@@ -46,7 +47,8 @@
4647
"name": "elasticsearch",
4748
"replicas": {
4849
"desired": 4,
49-
"observed": 1
50+
"observed": 1,
51+
"ready": 1
5052
}
5153
}
5254
},
@@ -76,7 +78,8 @@
7678
"name": "mysql",
7779
"replicas": {
7880
"desired": 6,
79-
"observed": 3
81+
"observed": 3,
82+
"ready": 1
8083
}
8184
}
8285
},

metricbeat/module/kubernetes/state_statefulset/state_statefulset.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ var (
4747
"kube_statefulset_status_observed_generation": p.Metric("generation.observed"),
4848
"kube_statefulset_replicas": p.Metric("replicas.desired"),
4949
"kube_statefulset_status_replicas": p.Metric("replicas.observed"),
50+
"kube_statefulset_status_replicas_ready": p.Metric("replicas.ready"),
5051
},
5152

5253
Labels: map[string]p.LabelMap{

0 commit comments

Comments
 (0)