apiVersion: operator.victoriametrics.com/v1beta1
kind: VMPodScrape
metadata:
  labels:
    o11y.cloud.pingcap.com/agent: kubernetes
    o11y.cloud.pingcap.com/component: serverless-pd
  name: pd
  namespace: "{{ .Namespace }}"
spec:
  jobLabel: serverless-pd
  namespaceSelector:
    matchNames:
    - tidb-serverless
  podMetricsEndpoints:
  - honorLabels: true
    metricRelabelConfigs:
    - action: keep
      regex: etcd_server_client_requests_total|grpc_server.+|service_member_role|process_.+|go_.+|etcd_.+|grpc_server_handling_seconds_.+|pd_checker_event_count|pd_checker_patrol_regions_time|pd_config_status|pd_cluster_eta|pd_cluster_id|pd_cluster_metadata|pd_cluster_placement_status|pd_cluster_progress|pd_cluster_region_event|pd_cluster_speed|pd_cluster_status|pd_cluster_store_limit|pd_cluster_tso|pd_cluster_tso_gap_millionseconds|pd_cluster_tso_operation_duration_seconds_.+|pd_gc_gc_safepoint|pd_hbstream_region_message|pd_hotcache_flow_queue_status|pd_hotcache_status|pd_hotspot_status|pd_regions_label_level|pd_regions_offline_status|pd_regions_status|pd_region_syncer_status|pd_regions_abnormal_peer_duration_seconds_bucket|pd_schedule_filter|pd_schedule_finish_operators_duration_seconds_bucket|pd_schedule_finish_operator_steps_duration_seconds_bucket|pd_schedule_operator_limit|pd_schedule_operator_region_size_bucket|pd_schedule_operators_count|pd_schedule_scatter_distribution|pd_schedule_scatter_operators_count|pd_scheduler_balance_direction|pd_scheduler_balance_leader|pd_scheduler_balance_region|pd_scheduler_buckets_hot_degree_hist_bucket|pd_scheduler_event_count|pd_scheduler_handle_region_heartbeat_duration_seconds_bucket|pd_scheduler_handle_store_heartbeat_duration_seconds_bucket|pd_scheduler_hot_peers_summary|pd_scheduler_hot_region|pd_scheduler_hot_region_direction|pd_scheduler_op_influence|pd_scheduler_read_byte_hist_bucket|pd_scheduler_read_key_hist_bucket|pd_scheduler_region_heartbeat|pd_scheduler_region_heartbeat_interval_hist_bucket|pd_scheduler_region_heartbeat_latency_seconds_bucket|pd_scheduler_status|pd_scheduler_store_heartbeat_interval_hist_bucket|pd_scheduler_store_status|pd_scheduler_tolerant_resource|pd_scheduler_write_byte_hist_bucket|pd_scheduler_write_key_hist_bucket|pd_server_bucket_report|pd_server_bucket_report_interval_seconds_bucket|pd_server_etcd_state|pd_server_handle_tso_duration_seconds_.+|pd_server_tso|pd_service_audit_handling_seconds_.+|pd_tso_role|pd_tso_events|tso_keyspace_group_keyspace_list_length|tso_keyspace_group_state|tso_keyspace_group_operation_duration_seconds_.+|tso_monitor_time_jump_back_total|tso_cluster_metadata|tso_server_info|tso_server_handle_tso_duration_seconds_.+|pd_txn_handle_txns_duration_seconds_.+|resource_manager_resource_kv_cpu_time_ms_.+|resource_manager_resource_read_byte_.+|resource_manager_resource_request_.+|resource_manager_resource_sql_cpu_time_ms_.+|resource_manager_resource_unit_.+|resource_manager_resource_write_byte_.+|resource_manager_server_active_slot_count|resource_manager_server_granted_tokens_.+|resource_manager_server_request_cause_total|resource_manager_server_slot_events_total|resource_manager_server_token_loan|resource_manager_server_trickle_duration_ms_.+|grpc_client_.+
      separator: ;
      source_labels:
      - __name__
    relabelConfigs:
    - action: keep
      regex: tidb-serverless
      source_labels:
      - __meta_kubernetes_namespace
    - action: keep
      regex: "true"
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_scrape
    - action: keep
      regex: pd
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
    - action: keep
      regex: client
      source_labels:
      - __meta_kubernetes_pod_container_port_name
    - action: replace
      regex: ([^:]+)(?::\d+)?;(\d+)
      replacement: ${1}:${2}
      source_labels:
      - __address__
      - __meta_kubernetes_pod_annotation_prometheus_io_port
      target_label: __address__
    - action: replace
      source_labels:
      - __meta_kubernetes_namespace
      target_label: kubernetes_namespace
    - action: replace
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_instance
      target_label: cluster
    - action: replace
      source_labels:
      - __meta_kubernetes_pod_name
      target_label: instance
    - action: keep
      regex: pd
      source_labels:
      - __meta_kubernetes_pod_container_name
    - action: replace
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
      target_label: component
    - separator: '-'
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_label_app_kubernetes_io_instance
      target_label: tidb_cluster
    - action: replace
      regex: (.+)
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_path
      target_label: __metrics_path__
    scheme: https
    scrape_interval: 60s
    tlsConfig:
      caFile: /etc/vm/secrets/vmagent-cluster-secret/ca.crt
      certFile: /etc/vm/secrets/vmagent-cluster-secret/tls.crt
      insecureSkipVerify: true
      keyFile: /etc/vm/secrets/vmagent-cluster-secret/tls.key
