global:scrape_interval: 15s # By default, scrape targets every 15 seconds.# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: kube-apiserver......- job_name: kube-controller-manager......- job_name: kube-scheduler......
scrape_configs:- job_name: kube-apiserverhonor_timestamps: trueparams:component:- apiserverscrape_interval: 15smetrics_path: /master/metricsscheme: httpfollow_redirects: trueenable_http2: truerelabel_configs:- source_labels: [job]separator: ;regex: (.*)target_label: __tmp_prometheus_job_namereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_label_app_kubernetes_io_managed_by,__meta_kubernetes_service_labelpresent_app_kubernetes_io_managed_by]separator: ;regex: (Helm);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_app, __meta_kubernetes_service_labelpresent_label_qcloud_app]separator: ;regex: (cluster-monitor);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_service, __meta_kubernetes_service_labelpresent_label_qcloud_service]separator: ;regex: (master-metrics-service);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_port_name]separator: ;regex: http-metricsreplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Node;(.*)target_label: nodereplacement: ${1}action: replace- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Pod;(.*)target_label: podreplacement: ${1}action: replace- source_labels: [__meta_kubernetes_namespace]separator: ;regex: (.*)target_label: namespacereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_name]separator: ;regex: (.*)target_label: servicereplacement: $1action: replace- separator: ;regex: (.*)target_label: endpointreplacement: http-metricsaction: replacemetric_relabel_configs:- source_labels: [pod]separator: ;regex: (.*)target_label: instancereplacement: $1action: replacekubernetes_sd_configs:- role: endpointskubeconfig_file: ""follow_redirects: trueenable_http2: truenamespaces:own_namespace: falsenames:- kube-system
scrape_configs:- job_name: kube-schedulerhonor_labels: truehonor_timestamps: trueparams:component:- schedulerscrape_interval: 30sscrape_timeout: 10smetrics_path: /master/metricsscheme: httpfollow_redirects: trueenable_http2: truerelabel_configs:- source_labels: [job]separator: ;regex: (.*)target_label: __tmp_prometheus_job_namereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_label_app_kubernetes_io_managed_by,__meta_kubernetes_service_labelpresent_app_kubernetes_io_managed_by]separator: ;regex: (Helm);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_app, __meta_kubernetes_service_labelpresent_label_qcloud_app]separator: ;regex: (cluster-monitor);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_service, __meta_kubernetes_service_labelpresent_label_qcloud_service]separator: ;regex: (master-metrics-service);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_port_name]separator: ;regex: http-metricsreplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Node;(.*)target_label: nodereplacement: ${1}action: replace- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Pod;(.*)target_label: podreplacement: ${1}action: replace- source_labels: [__meta_kubernetes_namespace]separator: ;regex: (.*)target_label: namespacereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_name]separator: ;regex: (.*)target_label: servicereplacement: $1action: replace- separator: ;regex: (.*)target_label: endpointreplacement: http-metricsaction: replacemetric_relabel_configs:- source_labels: [pod]separator: ;regex: (.*)target_label: instancereplacement: $1action: replacekubernetes_sd_configs:- role: endpointskubeconfig_file: ""follow_redirects: trueenable_http2: truenamespaces:own_namespace: falsenames:- kube-system
scrape_configs:- job_name: kube-controller-managerhonor_labels: truehonor_timestamps: trueparams:component:- controller-managerscrape_interval: 30sscrape_timeout: 10smetrics_path: /master/metricsscheme: httpfollow_redirects: trueenable_http2: truerelabel_configs:- source_labels: [job]separator: ;regex: (.*)target_label: __tmp_prometheus_job_namereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_label_app_kubernetes_io_managed_by,__meta_kubernetes_service_labelpresent_app_kubernetes_io_managed_by]separator: ;regex: (Helm);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_app, __meta_kubernetes_service_labelpresent_label_qcloud_app]separator: ;regex: (cluster-monitor);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_service_label_label_qcloud_service, __meta_kubernetes_service_labelpresent_label_qcloud_service]separator: ;regex: (master-metrics-service);truereplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_port_name]separator: ;regex: http-metricsreplacement: $1action: keep- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Node;(.*)target_label: nodereplacement: ${1}action: replace- source_labels: [__meta_kubernetes_endpoint_address_target_kind, __meta_kubernetes_endpoint_address_target_name]separator: ;regex: Pod;(.*)target_label: podreplacement: ${1}action: replace- source_labels: [__meta_kubernetes_namespace]separator: ;regex: (.*)target_label: namespacereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_name]separator: ;regex: (.*)target_label: servicereplacement: $1action: replace- separator: ;regex: (.*)target_label: endpointreplacement: http-metricsaction: replacemetric_relabel_configs:- source_labels: [pod]separator: ;regex: (.*)target_label: instancereplacement: $1action: replacekubernetes_sd_configs:- role: endpointskubeconfig_file: ""follow_redirects: trueenable_http2: truenamespaces:own_namespace: falsenames:- kube-system
apiVersion: monitoring.coreos.com/v1kind: ServiceMonitormetadata:name: master-metrics-exporternamespace: kube-systemspec:endpoints:- honorLabels: trueinterval: 15smetricRelabelings:- action: replacesourceLabels:- podtargetLabel: instanceparams:component:- apiserverpath: /master/metricsport: http-metricsrelabelings:- action: replacereplacement: kube-apiservertargetLabel: job- honorLabels: trueinterval: 15smetricRelabelings:- action: replacesourceLabels:- podtargetLabel: instanceparams:component:- controller-managerpath: /master/metricsport: http-metricsrelabelings:- action: replacereplacement: kube-controller-managertargetLabel: job- honorLabels: trueinterval: 15smetricRelabelings:- action: replacesourceLabels:- podtargetLabel: instanceparams:component:- schedulerpath: /master/metricsport: http-metricsrelabelings:- action: replacereplacement: kube-schedulertargetLabel: jobnamespaceSelector: {}selector:matchLabels:app.kubernetes.io/managed-by: Helmlabel_qcloud_app: cluster-monitorlabel_qcloud_service: master-metrics-service

scrape_configs:- job_name: out-tke-apiserverkubernetes_sd_configs:- role: endpointskubeconfig_file: ""follow_redirects: trueenable_http2: truenamespaces:names:- kube-systemnamespaces:names:- kube-systemapi_server: 'https://<KUBERNETES URL>'tls_config:ca_file: /etc/prometheus/kubernetes-ca.crtbearer_token: '<SERVICE ACCOUNT BEARER TOKEN>'scrape_interval: 30s
up to check whether all control plane components can be displayed.
apiserver_request_total{job="apiserver"}

rest_client_requests_total{job="scheduler"}

rest_client_requests_total{job="controller-manager"}

Feedback