apiVersion: operator.victoriametrics.com/v1beta1
kind: VMPodScrape
metadata:
  labels:
    o11y.cloud.pingcap.com/agent: kubernetes
    o11y.cloud.pingcap.com/component: tidb-pool
  name: tidb-pool
  namespace: "{{ .Namespace }}"
spec:
  jobLabel: serverless-tidb-pool
  namespaceSelector:
    matchNames:
    - tidb-pool
    - vip-tidb-pool
    - canary-tidb-pool
    - canary-vip-tidb-pool
    - super-vip-tidb-pool
    - canary-super-vip-tidb-pool
  podMetricsEndpoints:
  - honorLabels: true
    metricRelabelConfigs:
    - action: keep
      regex: process_start_time_seconds|process_cpu_seconds_total|process_resident_memory_bytes|process_open_fds|go_memory_classes_heap_.+|go_gc_heap_goal_bytes|go_gc_duration_seconds|go_gc_cycles_total_.+|go_gc_pause_seconds_total|go_gc_pause_seconds_sum|go_gc_cycles_since_last_gc|go_gc_cycles_since_last_gc_sum|go_gc_cycles_since_last_gc_count|go_goroutines|go_memstats_alloc_bytes_total|go_memstats_buck_hash_sys_bytes|go_memstats_frees_total|go_memstats_gc_cpu_fraction|go_memstats_gc_sys_bytes|go_memstats_heap_alloc_bytes|go_memstats_heap_idle_bytes|go_memstats_heap_inuse_bytes|go_memstats_heap_objects|go_memstats_heap_released_bytes|go_memstats_last_gc_time_seconds|go_memstats_mallocs_total|go_memstats_mcache_sys_bytes|go_memstats_mspan_sys_bytes|go_memstats_next_gc_bytes|go_memstats_other_sys_bytes|go_memstats_stack_sys_bytes|go_sched_latencies_seconds_bucket|go_sched_goroutines_goroutines|go_threads|tidb_autoid_operation_duration_seconds_.+|tidb_config_status|tidb_ddl_add_index_total|tidb_ddl_backfill_percentage_progress|tidb_ddl_batch_add_idx_duration_seconds_.+|tidb_ddl_deploy_syncer_duration_seconds_.+|tidb_ddl_handle_job_duration_seconds_.+|tidb_ddl_job_table_duration_seconds_.+|tidb_ddl_owner_handle_syncer_duration_seconds_.+|tidb_ddl_running_job_.+|tidb_ddl_update_self_ver_duration_seconds_.+|tidb_ddl_waiting_jobs|tidb_ddl_worker_operation_duration_seconds_.+|tidb_ddl_worker_operation_total|tidb_worker_worker_task_counter|tidb_disttask_task_status|tidb_disttask_start_time|tidb_disttask_subtask_cnt|tidb_disttask_subtask_start_time|tidb_distsql_copr_cache|tidb_distsql_handle_query_duration_seconds_.+|tidb_distsql_partial_num_.+|tidb_distsql_query_total|tidb_distsql_scan_keys_num_.+|tidb_distsql_scan_keys_partial_num_.+|tidb_import_.+|tidb_domain_load_schema_duration_.+|tidb_domain_load_schema_total|tidb_executor_expensive_total|tidb_executor_statement_total|tidb_meta_operation_duration_seconds_.+|tidb_monitor_keep_alive_total|tidb_monitor_time_jump_back_total|tidb_owner_new_session_duration_seconds_.+|tidb_owner_watch_owner_total|tidb_plan_replayer_register_task|tidb_plan_replayer_task|tidb_rm_ema_cpu_usage|tidb_server_affected_rows|tidb_executor_affected_rows|tidb_server_connections|tidb_server_conn_idle_duration_seconds_.+|tidb_server_cpu_profile_total|tidb_server_critical_error_total|tidb_server_disconnection_total|tidb_server_event_total|tidb_server_execute_error_total|tidb_server_get_token_duration_seconds_.+|tidb_server_gogc|tidb_server_handle_query_duration_seconds_.+|tidb_server_handshake_error_total|tidb_server_load_table_cache_seconds_.+|tidb_server_maxprocs|tidb_server_memory_usage|tidb_server_multi_query_num_.+|tidb_server_packet_io_bytes|tidb_server_panic_total|tidb_server_pd_api_execution_duration_seconds_.+|tidb_server_pd_api_request_total|tidb_server_plan_cache_instance_memory_usage|tidb_server_plan_cache_instance_plan_num_total|tidb_server_plan_cache_miss_total|tidb_server_plan_cache_total|tidb_server_prepared_stmts|tidb_server_query_total|tidb_server_rc_check_ts_conflict_total|tidb_server_read_from_tablecache_total|tidb_server_session_execute_parse_duration_.+|tidb_server_slow_query_cop_duration_seconds_.+|tidb_server_slow_query_process_duration_seconds_.+|tidb_server_slow_query_wait_duration_seconds_.+|tidb_server_ttl_insert_rows|tidb_server_ttl_job_status|tidb_server_ttl_phase_time|tidb_server_ttl_processed_expired_rows|tidb_server_ttl_query_duration_.+|tidb_server_ttl_task_status|tidb_server_tokens|tidb_server_no_available_tiflash_compute_node|tidb_session_.+|tidb_statistics_auto_analyze_duration_seconds_.+|tidb_statistics_auto_analyze_total|tidb_statistics_dump_feedback_total|tidb_statistics_fast_analyze_status_.+|tidb_statistics_high_error_rate_feedback_total|tidb_statistics_historical_stats|tidb_statistics_pseudo_estimation_total|tidb_statistics_read_stats_latency_millis_.+|tidb_statistics_stats_cache_lru_op|tidb_statistics_stats_cache_lru_val|tidb_statistics_stats_healthy|tidb_statistics_stats_inaccuracy_rate_.+|tidb_statistics_store_query_feedback_total|tidb_statistics_sync_load_latency_millis_.+|tidb_statistics_sync_load_timeout_total|tidb_statistics_sync_load_total|tidb_statistics_update_stats_total|pd_client_request_handle_requests_duration_seconds_.+|pd_client_request_handle_tso_batch_size_.+|pd_client_request_forwarded_status|pd_client_cmd_handle_cmds_duration_seconds_.+|pd_client_cmd_handle_failed_cmds_duration_seconds_count|resource_manager_client_resource_group_status|resource_manager_client_request_fail|resource_manager_client_request_success_.+|resource_manager_client_token_request_duration_.+|resource_manager_client_token_request_resource_group|resource_manager_client_request_try|tidb_tikvclient_aggressive_locking_.+|tidb_tikvclient_async_commit_txn_counter|tidb_tikvclient_backoff_seconds_.+|tidb_tikvclient_batch_client_no_available_connection_total|tidb_tikvclient_batch_client_unavailable_seconds_.+|tidb_tikvclient_batch_client_wait_connection_establish_.+|tidb_tikvclient_batch_executor_token_wait_duration_.+|tidb_tikvclient_batch_requests_.+|tidb_tikvclient_batch_pending_requests_.+|tidb_tikvclient_batch_wait_duration_.+|tidb_tikvclient_batch_send_latency_.+|tidb_tikvclient_batch_send_loop_duration_seconds_.+|tidb_tikvclient_batch_recv_latency_.+|tidb_tikvclient_batch_recv_loop_duration_seconds_.+|tidb_tikvclient_commit_txn_counter|tidb_tikvclient_cop_duration_seconds_.+|tidb_tikvclient_forward_request_counter|tidb_tikvclient_gc_action_result|tidb_tikvclient_gc_config|tidb_tikvclient_gc_failure|tidb_tikvclient_gc_region_too_many_locks|tidb_tikvclient_gc_seconds_.+|tidb_tikvclient_gc_unsafe_destroy_range_failures|tidb_tikvclient_gc_worker_actions_total|tidb_tikvclient_load_region_cache_seconds_.+|tidb_tikvclient_load_region_total|tidb_tikvclient_load_safepoint_total|tidb_tikvclient_lock_resolver_actions_total|tidb_tikvclient_min_safets_gap_seconds|tidb_tikvclient_one_pc_txn_counter|tidb_tikvclient_pessimistic_lock_keys_duration_.+|tidb_tikvclient_prewrite_assertion_.+|tidb_tikvclient_range_task_push_duration_.+|tidb_tikvclient_range_task_stats|tidb_tikvclient_region_cache_operations_total|tidb_tikvclient_region_err_total|tidb_tikvclient_replica_selector_failure_counter|tidb_tikvclient_request_seconds_.+|tidb_tikvclient_request_time_counter|tidb_tikvclient_rpc_net_latency_seconds_.+|tidb_tikvclient_safets_update_counter|tidb_tikvclient_ts_future_wait_seconds_.+|tidb_tikvclient_ttl_lifetime_reach_total|tidb_tikvclient_txn_cmd_duration_seconds_.+|tidb_tikvclient_txn_commit_backoff_.+|tidb_tikvclient_txn_heart_beat_.+|tidb_tikvclient_txn_regions_num_.+|tidb_tikvclient_txn_write_kv_num_.+|tidb_tikvclient_txn_write_size_bytes_.+|tidb_tikvclient_sync_region_duration_.+|tidb_tikvclient_txn_file_.+|tidb_topsql_ignored_total|tidb_topsql_report_data_total_.+|tidb_topsql_report_duration_seconds_.+|tidb_vpa_vpa_report_counter|tidb_vpa_vpa_scale_memory_counter|tidb_vpa_vpa_scale_memory_gauge|tidb_remote_query_session_gauge|tidb_remote_query_session_counter|tidb_remote_query_server_counter|tidb_remote_query_recordset_counter|tidb_remote_query_recordset_duration_seconds_.+|tidb_vector_search_.+|grpc_client_.+
      separator: ;
      source_labels:
      - __name__
    relabelConfigs:
    - action: keep
      regex: .*tidb-pool
      source_labels:
      - __meta_kubernetes_namespace
    - action: keep
      regex: "true"
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_scrape
    - action: keep
      regex: serverless-tidb
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
    - action: keep
      regex: status
      source_labels:
      - __meta_kubernetes_pod_container_port_name
    - action: keep
      regex: tidb
      source_labels:
      - __meta_kubernetes_pod_container_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_name
      target_label: instance
    - action: replace
      replacement: tidb
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
      target_label: component
    - separator: '-'
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_name
      target_label: tidb_cluster
    - action: replace
      regex: (.+)
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_path
      target_label: __metrics_path__
    scheme: https
    scrape_interval: 1m0s
    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
  - honorLabels: true
    metricRelabelConfigs:
    - action: keep
      regex: process_.+|tidb_server_handle_query_duration_seconds_.+|tidb_executor_statement_total|tidb_server_connections|tidb_server_packet_io_bytes(_sum)?
      separator: ;
      source_labels:
      - __name__
    relabelConfigs:
    - action: keep
      regex: .*tidb-pool
      source_labels:
      - __meta_kubernetes_namespace
    - action: keep
      regex: "true"
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_scrape
    - action: keep
      regex: serverless-tidb
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
    - action: keep
      regex: status
      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_name
      target_label: instance
    - action: replace
      replacement: tidb
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
      target_label: component
    - separator: '-'
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_name
      target_label: tidb_cluster
    - action: replace
      regex: (.+)
      source_labels:
      - __meta_kubernetes_pod_annotation_prometheus_io_path
      target_label: __metrics_path__
    scheme: https
    scrape_interval: 15s
    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
