Merge pull request #2496 from dgrisonnet/sli-metrics
Add Kubernetes components SLI metrics
This commit is contained in:
@@ -71,13 +71,23 @@ function(params) {
|
|||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
endpoints: [{
|
endpoints: [
|
||||||
port: 'https-metrics',
|
{
|
||||||
interval: '30s',
|
port: 'https-metrics',
|
||||||
scheme: 'https',
|
interval: '30s',
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
scheme: 'https',
|
||||||
tlsConfig: { insecureSkipVerify: true },
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
}],
|
tlsConfig: { insecureSkipVerify: true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
port: 'https-metrics',
|
||||||
|
interval: '5s',
|
||||||
|
scheme: 'https',
|
||||||
|
path: '/metrics/slis',
|
||||||
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
|
tlsConfig: { insecureSkipVerify: true },
|
||||||
|
},
|
||||||
|
],
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: { 'app.kubernetes.io/name': 'kube-scheduler' },
|
matchLabels: { 'app.kubernetes.io/name': 'kube-scheduler' },
|
||||||
},
|
},
|
||||||
@@ -174,6 +184,20 @@ function(params) {
|
|||||||
targetLabel: 'metrics_path',
|
targetLabel: 'metrics_path',
|
||||||
}],
|
}],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
port: 'https-metrics',
|
||||||
|
scheme: 'https',
|
||||||
|
path: '/metrics/slis',
|
||||||
|
interval: '5s',
|
||||||
|
honorLabels: true,
|
||||||
|
tlsConfig: { insecureSkipVerify: true },
|
||||||
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
|
relabelings: [{
|
||||||
|
action: 'replace',
|
||||||
|
sourceLabels: ['__metrics_path__'],
|
||||||
|
targetLabel: 'metrics_path',
|
||||||
|
}],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: { 'app.kubernetes.io/name': 'kubelet' },
|
matchLabels: { 'app.kubernetes.io/name': 'kubelet' },
|
||||||
@@ -193,22 +217,34 @@ function(params) {
|
|||||||
},
|
},
|
||||||
spec: {
|
spec: {
|
||||||
jobLabel: 'app.kubernetes.io/name',
|
jobLabel: 'app.kubernetes.io/name',
|
||||||
endpoints: [{
|
endpoints: [
|
||||||
port: 'https-metrics',
|
{
|
||||||
interval: '30s',
|
port: 'https-metrics',
|
||||||
scheme: 'https',
|
interval: '30s',
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
scheme: 'https',
|
||||||
tlsConfig: {
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
insecureSkipVerify: true,
|
tlsConfig: {
|
||||||
},
|
insecureSkipVerify: true,
|
||||||
metricRelabelings: relabelings + [
|
|
||||||
{
|
|
||||||
sourceLabels: ['__name__'],
|
|
||||||
regex: 'etcd_(debugging|disk|request|server).*',
|
|
||||||
action: 'drop',
|
|
||||||
},
|
},
|
||||||
],
|
metricRelabelings: relabelings + [
|
||||||
}],
|
{
|
||||||
|
sourceLabels: ['__name__'],
|
||||||
|
regex: 'etcd_(debugging|disk|request|server).*',
|
||||||
|
action: 'drop',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
port: 'https-metrics',
|
||||||
|
interval: '5s',
|
||||||
|
scheme: 'https',
|
||||||
|
path: '/metrics/slis',
|
||||||
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
|
tlsConfig: {
|
||||||
|
insecureSkipVerify: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
selector: {
|
selector: {
|
||||||
matchLabels: { 'app.kubernetes.io/name': 'kube-controller-manager' },
|
matchLabels: { 'app.kubernetes.io/name': 'kube-controller-manager' },
|
||||||
},
|
},
|
||||||
@@ -236,38 +272,51 @@ function(params) {
|
|||||||
namespaceSelector: {
|
namespaceSelector: {
|
||||||
matchNames: ['default'],
|
matchNames: ['default'],
|
||||||
},
|
},
|
||||||
endpoints: [{
|
endpoints: [
|
||||||
port: 'https',
|
{
|
||||||
interval: '30s',
|
port: 'https',
|
||||||
scheme: 'https',
|
interval: '30s',
|
||||||
tlsConfig: {
|
scheme: 'https',
|
||||||
caFile: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt',
|
tlsConfig: {
|
||||||
serverName: 'kubernetes',
|
caFile: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt',
|
||||||
|
serverName: 'kubernetes',
|
||||||
|
},
|
||||||
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
|
metricRelabelings: relabelings + [
|
||||||
|
{
|
||||||
|
sourceLabels: ['__name__'],
|
||||||
|
regex: 'etcd_(debugging|disk|server).*',
|
||||||
|
action: 'drop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sourceLabels: ['__name__'],
|
||||||
|
regex: 'apiserver_admission_controller_admission_latencies_seconds_.*',
|
||||||
|
action: 'drop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sourceLabels: ['__name__'],
|
||||||
|
regex: 'apiserver_admission_step_admission_latencies_seconds_.*',
|
||||||
|
action: 'drop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
sourceLabels: ['__name__', 'le'],
|
||||||
|
regex: 'apiserver_request_duration_seconds_bucket;(0.15|0.25|0.3|0.35|0.4|0.45|0.6|0.7|0.8|0.9|1.25|1.5|1.75|2.5|3|3.5|4.5|6|7|8|9|15|25|30|50)',
|
||||||
|
action: 'drop',
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
{
|
||||||
metricRelabelings: relabelings + [
|
port: 'https',
|
||||||
{
|
interval: '5s',
|
||||||
sourceLabels: ['__name__'],
|
scheme: 'https',
|
||||||
regex: 'etcd_(debugging|disk|server).*',
|
path: '/metrics/slis',
|
||||||
action: 'drop',
|
tlsConfig: {
|
||||||
|
caFile: '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt',
|
||||||
|
serverName: 'kubernetes',
|
||||||
},
|
},
|
||||||
{
|
bearerTokenFile: '/var/run/secrets/kubernetes.io/serviceaccount/token',
|
||||||
sourceLabels: ['__name__'],
|
},
|
||||||
regex: 'apiserver_admission_controller_admission_latencies_seconds_.*',
|
],
|
||||||
action: 'drop',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
sourceLabels: ['__name__'],
|
|
||||||
regex: 'apiserver_admission_step_admission_latencies_seconds_.*',
|
|
||||||
action: 'drop',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
sourceLabels: ['__name__', 'le'],
|
|
||||||
regex: 'apiserver_request_duration_seconds_bucket;(0.15|0.25|0.3|0.35|0.4|0.45|0.6|0.7|0.8|0.9|1.25|1.5|1.75|2.5|3|3.5|4.5|6|7|8|9|15|25|30|50)',
|
|
||||||
action: 'drop',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ function(params) {
|
|||||||
verbs: ['get'],
|
verbs: ['get'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
nonResourceURLs: ['/metrics'],
|
nonResourceURLs: ['/metrics', '/metrics/slis'],
|
||||||
verbs: ['get'],
|
verbs: ['get'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -65,6 +65,14 @@ spec:
|
|||||||
tlsConfig:
|
tlsConfig:
|
||||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
serverName: kubernetes
|
serverName: kubernetes
|
||||||
|
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
interval: 5s
|
||||||
|
path: /metrics/slis
|
||||||
|
port: https
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
serverName: kubernetes
|
||||||
jobLabel: component
|
jobLabel: component
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
|
|||||||
@@ -51,6 +51,13 @@ spec:
|
|||||||
scheme: https
|
scheme: https
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
|
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
interval: 5s
|
||||||
|
path: /metrics/slis
|
||||||
|
port: https-metrics
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: true
|
||||||
jobLabel: app.kubernetes.io/name
|
jobLabel: app.kubernetes.io/name
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
|
|||||||
@@ -14,6 +14,13 @@ spec:
|
|||||||
scheme: https
|
scheme: https
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
|
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
interval: 5s
|
||||||
|
path: /metrics/slis
|
||||||
|
port: https-metrics
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: true
|
||||||
jobLabel: app.kubernetes.io/name
|
jobLabel: app.kubernetes.io/name
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
|
|||||||
@@ -96,6 +96,19 @@ spec:
|
|||||||
scheme: https
|
scheme: https
|
||||||
tlsConfig:
|
tlsConfig:
|
||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
|
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
honorLabels: true
|
||||||
|
interval: 5s
|
||||||
|
path: /metrics/slis
|
||||||
|
port: https-metrics
|
||||||
|
relabelings:
|
||||||
|
- action: replace
|
||||||
|
sourceLabels:
|
||||||
|
- __metrics_path__
|
||||||
|
targetLabel: metrics_path
|
||||||
|
scheme: https
|
||||||
|
tlsConfig:
|
||||||
|
insecureSkipVerify: true
|
||||||
jobLabel: app.kubernetes.io/name
|
jobLabel: app.kubernetes.io/name
|
||||||
namespaceSelector:
|
namespaceSelector:
|
||||||
matchNames:
|
matchNames:
|
||||||
|
|||||||
@@ -17,5 +17,6 @@ rules:
|
|||||||
- get
|
- get
|
||||||
- nonResourceURLs:
|
- nonResourceURLs:
|
||||||
- /metrics
|
- /metrics
|
||||||
|
- /metrics/slis
|
||||||
verbs:
|
verbs:
|
||||||
- get
|
- get
|
||||||
|
|||||||
Reference in New Issue
Block a user