Skip to content

Commit 34c5eeb

Browse files
committed
MON-4163: Allow whitelisting KSM metrics
Whitelist `kube_namespace_created`, but block others as earlier. This is possible owing to the recent lookarounds support merged in KSM [1]. [1]: kubernetes/kube-state-metrics#2616 Signed-off-by: Pranshu Srivastava <[email protected]>
1 parent d59e266 commit 34c5eeb

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## 4.20
44

55
- [#2595](https://github.com/openshift/cluster-monitoring-operator/pull/2595) Multi-tenant support for KSM's CRS feature-set downstream.
6+
- [#2625](https://github.com/openshift/cluster-monitoring-operator/pull/2625) Support lookarounds in KSM's deny-list and white-list `kube_namespace_created`.
67

78
## 4.18
89

assets/kube-state-metrics/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ spec:
4646
- --metric-labels-allowlist=pods=[*],nodes=[*],namespaces=[*],persistentvolumes=[*],persistentvolumeclaims=[*],poddisruptionbudgets=[*]
4747
- |
4848
--metric-denylist=
49-
^kube_.+_created$,
49+
^kube_(?=namespace).*_created$,
5050
^kube_.+_metadata_resource_version$,
5151
^kube_replicaset_metadata_generation$,
5252
^kube_replicaset_status_observed_generation$,

jsonnet/main.jsonnet

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ local alertmanager = import './components/alertmanager.libsonnet';
1010
local alertmanagerUserWorkload = import './components/alertmanager-user-workload.libsonnet';
1111
local dashboards = import './components/dashboards.libsonnet';
1212
local kubeStateMetrics = import './components/kube-state-metrics.libsonnet';
13+
local ksmLite = import 'github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/addons/ksm-lite.libsonnet';
1314
local controlPlane = import './components/control-plane.libsonnet';
1415
local nodeExporter = import './components/node-exporter.libsonnet';
1516
local metricsServer = import './components/metrics-server.libsonnet';
@@ -432,7 +433,23 @@ local inCluster =
432433
openshiftStateMetrics: openshiftStateMetrics($.values.openshiftStateMetrics),
433434
} +
434435
(import './utils/anti-affinity.libsonnet') +
435-
(import 'github.com/prometheus-operator/kube-prometheus/jsonnet/kube-prometheus/addons/ksm-lite.libsonnet') +
436+
(ksmLite {
437+
ksmConfig: {
438+
ksmDenyList: [
439+
'^kube_(?=namespace).*_created$',
440+
'^kube_.+_metadata_resource_version$',
441+
'^kube_replicaset_metadata_generation$',
442+
'^kube_replicaset_status_observed_generation$',
443+
'^kube_pod_restart_policy$',
444+
'^kube_pod_init_container_status_terminated$',
445+
'^kube_pod_init_container_status_running$',
446+
'^kube_pod_container_status_terminated$',
447+
'^kube_pod_container_status_running$',
448+
'^kube_pod_completion_time$',
449+
'^kube_pod_status_scheduled$',
450+
],
451+
},
452+
}) +
436453
(import './utils/ibm-cloud-managed-profile.libsonnet') +
437454
(import './components/metrics-server-audit.libsonnet') +
438455
{}; // Including empty object to simplify adding and removing imports during development

0 commit comments

Comments
 (0)