scripts/ControlPlaneMetrics/ama-metrics-prometheus-config-configmap.yaml (75 lines of code) (raw):
kind: ConfigMap
apiVersion: v1
data:
prometheus-config: |-
global:
scrape_interval: 30s
scrape_timeout: 10s
evaluation_interval: 30s
scrape_configs:
# ==== ETCD ====
- job_name: 'etcd'
metrics_path: /metrics
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
dns_sd_configs:
- names:
- '_http-metrics._tcp.etcd-metrics-proxy.kube-system.svc.cluster.local'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
metric_relabel_configs:
# keep the minimal ingestion metrics.
- source_labels: [ __name__ ]
action: keep
regex: "etcd_server_has_leader|rest_client_requests_total|etcd_mvcc_db_total_size_in_bytes|etcd_mvcc_db_total_size_in_use_in_bytes|etcd_server_slow_read_indexes_total|etcd_server_slow_apply_total|etcd_network_client_grpc_sent_bytes_total|etcd_server_heartbeat_send_failures_total"
# ==== CONTROLLER MANAGER ====
- job_name: 'controller-manager'
metrics_path: /metrics
scheme: https
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- kube-system
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_component,__meta_kubernetes_pod_label_tier]
action: keep
regex: kube-controller-manager;control-plane
- source_labels: [__address__]
action: replace
regex: (.+?)
replacement: "$1:10257"
target_label: __address__
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
metric_relabel_configs:
# keep the minimal ingestion metrics.
- source_labels: [ __name__ ]
action: keep
regex: "rest_client_request_duration_seconds|rest_client_requests_total|workqueue_depth"
# ==== KUBE SCHEDULER ====
- job_name: kube-scheduler
metrics_path: /metrics
scheme: https
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- kube-system
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_component,__meta_kubernetes_pod_label_tier]
action: keep
regex: kube-scheduler;control-plane
- source_labels: [__address__]
action: replace
regex: (.+?)
replacement: "$1:10259"
target_label: __address__
metric_relabel_configs:
# keep the minimal ingestion metrics.
- source_labels: [ __name__ ]
action: keep
regex: "scheduler_pending_pods|scheduler_unschedulable_pods|scheduler_pod_scheduling_attempts|scheduler_queue_incoming_pods_total|scheduler_preemption_attempts_total|scheduler_preemption_victims|scheduler_scheduling_attempt_duration_seconds|scheduler_schedule_attempts_total|scheduler_pod_scheduling_duration_seconds"
metadata:
name: ama-metrics-prometheus-config
namespace: kube-system