kube-prometheus: extract ServiceMonitors into single files

Starting with Kubernetes 1.6 `kubectl apply` works for TPRs so we can
start using it, therefore using multiple files is no issue.
This commit is contained in:
Frederic Branczyk
2017-04-27 12:35:06 +02:00
parent a0e4d3352a
commit 309c677270
9 changed files with 126 additions and 88 deletions

View File

@@ -0,0 +1,12 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
labels:
alertmanager: main
name: alertmanager
spec:
endpoints:
- port: web
selector:
matchExpressions:
- {key: alertmanager, operator: In, values: [main]}

View File

@@ -0,0 +1,23 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: kube-apiserver
labels:
k8s-apps: https
spec:
jobLabel: provider
selector:
matchLabels:
component: apiserver
provider: kubernetes
namespaceSelector:
matchNames:
- default
endpoints:
- port: https
interval: 15s
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token

View File

@@ -0,0 +1,23 @@
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

View File

@@ -0,0 +1,19 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: kube-state-metrics
namespace: monitoring
labels:
k8s-apps: http
spec:
jobLabel: k8s-app
selector:
matchLabels:
k8s-app: kube-state-metrics
namespaceSelector:
matchNames:
- monitoring
endpoints:
- port: http-metrics
interval: 15s
honorLabels: true

View File

@@ -0,0 +1,17 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: kubelet
labels:
k8s-apps: http
spec:
jobLabel: k8s-app
selector:
matchLabels:
k8s-app: kubelet
namespaceSelector:
matchNames:
- kube-system
endpoints:
- port: http-metrics
interval: 15s

View File

@@ -0,0 +1,18 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: node-exporter
namespace: monitoring
labels:
k8s-apps: http
spec:
jobLabel: k8s-app
selector:
matchLabels:
k8s-app: node-exporter
namespaceSelector:
matchNames:
- monitoring
endpoints:
- port: http-metrics
interval: 15s

View File

@@ -0,0 +1,12 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: prometheus
labels:
prometheus: k8s
spec:
endpoints:
- port: web
selector:
matchExpressions:
- {key: prometheus, operator: In, values: [k8s]}

View File

@@ -1,72 +0,0 @@
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: kube-apiserver
labels:
k8s-apps: https
spec:
jobLabel: provider
selector:
matchLabels:
component: apiserver
provider: kubernetes
namespaceSelector:
matchNames:
- default
endpoints:
- port: https
interval: 15s
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
---
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: k8s-apps-http
labels:
k8s-apps: http
spec:
jobLabel: k8s-app
selector:
matchExpressions:
- {key: k8s-app, operator: Exists}
namespaceSelector:
matchNames:
- kube-system
- monitoring
endpoints:
- port: http-metrics
interval: 15s
- port: http-metrics-dnsmasq
interval: 15s
- port: http-metrics-skydns
interval: 15s
---
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
name: prometheus
labels:
prometheus: k8s
spec:
endpoints:
- port: web
selector:
matchExpressions:
- {key: prometheus, operator: In, values: [k8s]}
---
apiVersion: monitoring.coreos.com/v1alpha1
kind: ServiceMonitor
metadata:
labels:
alertmanager: main
name: alertmanager
spec:
endpoints:
- port: web
selector:
matchExpressions:
- {key: alertmanager, operator: In, values: [main]}