diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-alertmanager.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-alertmanager.yaml
index d193b6769caaa587672e91eacbae7c40d6eef47d..29d68c821de15a7fb99b7e0d88ef605079d6cb9f 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-alertmanager.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-alertmanager.yaml
@@ -1,12 +1,16 @@
 apiVersion: monitoring.coreos.com/v1alpha1
 kind: ServiceMonitor
 metadata:
-  labels:
-    alertmanager: main
   name: alertmanager
+  labels:
+    app: alertmanager
 spec:
+  selector:
+    matchLabels:
+      alertmanager: main
+  namespaceSelector:
+    matchNames:
+    - monitoring
   endpoints:
   - port: web
-  selector:
-    matchExpressions:
-    - {key: alertmanager, operator: In, values: [main]}
+    interval: 30s
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-apiserver.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-apiserver.yaml
index 1fd793e511f658c52c5b6da5a772f9f0b08fb39c..09a87c2e0466eca07111bd1e525e00e914ee407a 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-apiserver.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-apiserver.yaml
@@ -3,9 +3,9 @@ kind: ServiceMonitor
 metadata:
   name: kube-apiserver
   labels:
-    k8s-apps: https
+    k8s-app: apiserver
 spec:
-  jobLabel: provider
+  jobLabel: component
   selector:
     matchLabels:
       component: apiserver
@@ -15,7 +15,7 @@ spec:
     - default
   endpoints:
   - port: https
-    interval: 15s
+    interval: 30s
     scheme: https
     tlsConfig:
       caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-k8s-apps-http.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-k8s-apps-http.yaml
deleted file mode 100644
index fbfcda97b31b4be1e15eb1e6e789337adee38da0..0000000000000000000000000000000000000000
--- a/manifests/prometheus/prometheus-k8s-service-monitor-k8s-apps-http.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-apiVersion: monitoring.coreos.com/v1alpha1
-kind: ServiceMonitor
-metadata:
-  name: k8s-apps-http
-  namespace: monitoring
-  labels:
-    k8s-apps: http
-spec:
-  jobLabel: k8s-app
-  selector:
-    matchExpressions:
-    - {key: k8s-app, operator: Exists}
-    - {key: k8s-app, operator: NotIn, values: [kubelet]}
-  namespaceSelector:
-    matchNames:
-    - kube-system
-  endpoints:
-  - port: http-metrics
-    interval: 15s
-  - port: http-metrics-dnsmasq
-    interval: 15s
-  - port: http-metrics-skydns
-    interval: 15s
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-kube-controller-manager.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-kube-controller-manager.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..eef95a84eacace875b6b24577bd6c99ccb00fd87
--- /dev/null
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-kube-controller-manager.yaml
@@ -0,0 +1,17 @@
+apiVersion: monitoring.coreos.com/v1alpha1
+kind: ServiceMonitor
+metadata:
+  name: kube-controller-manager
+  labels:
+    k8s-app: kube-controller-manager
+spec:
+  jobLabel: k8s-app
+  endpoints:
+  - port: http-metrics
+    interval: 30s
+  selector:
+    matchLabels:
+      k8s-app: kube-controller-manager
+  namespaceSelector:
+    matchNames:
+    - kube-system
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-kube-scheduler.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-kube-scheduler.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..663f8cfb04fedc1057b72dc549a91cae63867421
--- /dev/null
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-kube-scheduler.yaml
@@ -0,0 +1,17 @@
+apiVersion: monitoring.coreos.com/v1alpha1
+kind: ServiceMonitor
+metadata:
+  name: kube-scheduler
+  labels:
+    k8s-app: kube-scheduler
+spec:
+  jobLabel: k8s-app
+  endpoints:
+  - port: http-metrics
+    interval: 30s
+  selector:
+    matchLabels:
+      k8s-app: kube-scheduler
+  namespaceSelector:
+    matchNames:
+    - kube-system
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.yaml
index c4ed1afced6c8852d76167dbc6334b7533582d7e..a276702aaa5f3b0afb61fbf60b96b844fa15b078 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-kube-state-metrics.yaml
@@ -2,9 +2,8 @@ apiVersion: monitoring.coreos.com/v1alpha1
 kind: ServiceMonitor
 metadata:
   name: kube-state-metrics
-  namespace: monitoring
   labels:
-    k8s-apps: http
+    k8s-app: kube-state-metrics
 spec:
   jobLabel: k8s-app
   selector:
@@ -15,5 +14,5 @@ spec:
     - monitoring
   endpoints:
   - port: http-metrics
-    interval: 15s
+    interval: 30s
     honorLabels: true
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-kubelet.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-kubelet.yaml
index 5729d8f042693eccea5473c6f0c7e37f988cb1f4..cdc3ffb66d6b056425beb34124b6fab70621ab17 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-kubelet.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-kubelet.yaml
@@ -3,16 +3,16 @@ kind: ServiceMonitor
 metadata:
   name: kubelet
   labels:
-    k8s-apps: http
+    k8s-app: kubelet
 spec:
   jobLabel: k8s-app
+  endpoints:
+  - port: http-metrics
+    interval: 30s
+    honorLabels: true
   selector:
     matchLabels:
       k8s-app: kubelet
   namespaceSelector:
     matchNames:
     - kube-system
-  endpoints:
-  - port: http-metrics
-    interval: 15s
-    honorLabels: true
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-node-exporter.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-node-exporter.yaml
index a7b20301d38756d4da4acaa05f71249a58962566..b68ed89f26cad467f543d5fbba005c5612a5af72 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-node-exporter.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-node-exporter.yaml
@@ -2,9 +2,8 @@ apiVersion: monitoring.coreos.com/v1alpha1
 kind: ServiceMonitor
 metadata:
   name: node-exporter
-  namespace: monitoring
   labels:
-    k8s-apps: http
+    k8s-app: node-exporter
 spec:
   jobLabel: k8s-app
   selector:
@@ -15,4 +14,4 @@ spec:
     - monitoring
   endpoints:
   - port: http-metrics
-    interval: 15s
+    interval: 30s
diff --git a/manifests/prometheus/prometheus-k8s-service-monitor-prometheus.yaml b/manifests/prometheus/prometheus-k8s-service-monitor-prometheus.yaml
index 5e5d17be37dbd573c6fa813c59cbf41e912a1a4c..be74cd6d51770d74fbe2d37d0735e3fb9a2444cb 100644
--- a/manifests/prometheus/prometheus-k8s-service-monitor-prometheus.yaml
+++ b/manifests/prometheus/prometheus-k8s-service-monitor-prometheus.yaml
@@ -3,10 +3,14 @@ kind: ServiceMonitor
 metadata:
   name: prometheus
   labels:
-    prometheus: k8s
+    app: prometheus
 spec:
+  selector:
+    matchLabels:
+      prometheus: k8s
+  namespaceSelector:
+    matchNames:
+    - monitoring
   endpoints:
   - port: web
-  selector:
-    matchExpressions:
-    - {key: prometheus, operator: In, values: [k8s]}
+    interval: 30s