Skip to content

Instantly share code, notes, and snippets.

@lsjostro
Created December 4, 2023 13:00
Show Gist options
  • Select an option

  • Save lsjostro/38f3e85ed79ff99ad2f99ddaae8b8364 to your computer and use it in GitHub Desktop.

Select an option

Save lsjostro/38f3e85ed79ff99ad2f99ddaae8b8364 to your computer and use it in GitHub Desktop.

Revisions

  1. lsjostro created this gist Dec 4, 2023.
    403 changes: 403 additions & 0 deletions kube-service-monitors.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,403 @@
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: kube-prometheus-stack-coredns
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    jobLabel: coredns
    release: kube-prometheus-stack
    name: service-monitor-coredns
    namespace: kube-system
    spec:
    clusterIP: None
    ports:
    - name: http-metrics
    port: 9153
    protocol: TCP
    targetPort: 9153
    selector:
    k8s-app: kube-dns
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: kube-prometheus-stack-kube-controller-manager
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    jobLabel: kube-controller-manager
    release: kube-prometheus-stack
    name: service-monitor-kube-controller-manager
    namespace: kube-system
    spec:
    clusterIP: None
    ports:
    - name: http-metrics
    port: 10257
    protocol: TCP
    targetPort: 10257
    selector:
    component: kube-controller-manager
    type: ClusterIP
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: kube-prometheus-stack-kube-etcd
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    jobLabel: kube-etcd
    release: kube-prometheus-stack
    name: service-monitor-kube-etcd
    namespace: kube-system
    spec:
    clusterIP: None
    ports:
    - name: http-metrics
    port: 2381
    protocol: TCP
    targetPort: 2381
    selector:
    component: etcd
    type: ClusterIP
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: kube-prometheus-stack-kube-proxy
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    jobLabel: kube-proxy
    release: kube-prometheus-stack
    name: service-monitor-kube-proxy
    namespace: kube-system
    spec:
    clusterIP: None
    ports:
    - name: http-metrics
    port: 10249
    protocol: TCP
    targetPort: 10249
    selector:
    k8s-app: kube-proxy
    type: ClusterIP
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app: kube-prometheus-stack-kube-scheduler
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    jobLabel: kube-scheduler
    release: kube-prometheus-stack
    name: service-monitor-kube-scheduler
    namespace: kube-system
    spec:
    clusterIP: None
    ports:
    - name: http-metrics
    port: 10259
    protocol: TCP
    targetPort: 10259
    selector:
    component: kube-scheduler
    type: ClusterIP
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-apiserver
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-apiserver
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    metricRelabelings:
    - action: drop
    regex: apiserver_request_duration_seconds_bucket;(0.15|0.2|0.3|0.35|0.4|0.45|0.6|0.7|0.8|0.9|1.25|1.5|1.75|2|3|3.5|4|4.5|6|7|8|9|15|25|40|50)
    sourceLabels:
    - __name__
    - le
    port: https
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: false
    serverName: kubernetes
    jobLabel: component
    namespaceSelector:
    matchNames:
    - default
    selector:
    matchLabels:
    component: apiserver
    provider: kubernetes
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-coredns
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-coredns
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    port: http-metrics
    jobLabel: jobLabel
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app: kube-prometheus-stack-coredns
    release: kube-prometheus-stack
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-kube-controller-manager
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-kube-controller-manager
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    port: http-metrics
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: true
    jobLabel: jobLabel
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app: kube-prometheus-stack-kube-controller-manager
    release: kube-prometheus-stack
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-kube-etcd
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-kube-etcd
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    port: http-metrics
    jobLabel: jobLabel
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app: kube-prometheus-stack-kube-etcd
    release: kube-prometheus-stack
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-kube-proxy
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-kube-proxy
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    port: http-metrics
    jobLabel: jobLabel
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app: kube-prometheus-stack-kube-proxy
    release: kube-prometheus-stack
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-kube-scheduler
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-kube-scheduler
    namespace: monitoring
    spec:
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    port: http-metrics
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: true
    jobLabel: jobLabel
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app: kube-prometheus-stack-kube-scheduler
    release: kube-prometheus-stack
    ---
    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
    labels:
    app: kube-prometheus-stack-kubelet
    app.kubernetes.io/instance: kube-prometheus-stack
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/part-of: kube-prometheus-stack
    app.kubernetes.io/version: 55.0.0
    chart: kube-prometheus-stack-55.0.0
    heritage: Helm
    release: kube-prometheus-stack
    name: service-monitor-kubelet
    namespace: monitoring
    spec:
    attachMetadata:
    node: false
    endpoints:
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    honorLabels: true
    honorTimestamps: true
    port: https-metrics
    relabelings:
    - action: replace
    sourceLabels:
    - __metrics_path__
    targetLabel: metrics_path
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: true
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    honorLabels: true
    honorTimestamps: true
    metricRelabelings:
    - action: drop
    regex: container_cpu_(cfs_throttled_seconds_total|load_average_10s|system_seconds_total|user_seconds_total)
    sourceLabels:
    - __name__
    - action: drop
    regex: container_fs_(io_current|io_time_seconds_total|io_time_weighted_seconds_total|reads_merged_total|sector_reads_total|sector_writes_total|writes_merged_total)
    sourceLabels:
    - __name__
    - action: drop
    regex: container_memory_(mapped_file|swap)
    sourceLabels:
    - __name__
    - action: drop
    regex: container_(file_descriptors|tasks_state|threads_max)
    sourceLabels:
    - __name__
    - action: drop
    regex: container_spec.*
    sourceLabels:
    - __name__
    - action: drop
    regex: .+;
    sourceLabels:
    - id
    - pod
    path: /metrics/cadvisor
    port: https-metrics
    relabelings:
    - action: replace
    sourceLabels:
    - __metrics_path__
    targetLabel: metrics_path
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: true
    - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    honorLabels: true
    honorTimestamps: true
    path: /metrics/probes
    port: https-metrics
    relabelings:
    - action: replace
    sourceLabels:
    - __metrics_path__
    targetLabel: metrics_path
    scheme: https
    tlsConfig:
    caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecureSkipVerify: true
    jobLabel: k8s-app
    namespaceSelector:
    matchNames:
    - kube-system
    selector:
    matchLabels:
    app.kubernetes.io/name: kubelet
    k8s-app: kubelet