apiVersion: operator.victoriametrics.com/v1beta1
kind: VMPodScrape
metadata:
  labels:
    o11y.cloud.pingcap.com/agent: kubernetes
    o11y.cloud.pingcap.com/component: serverless-tikv
  name: tikv
  namespace: "{{ .Namespace }}"
spec:
  jobLabel: serverless-tikv
  namespaceSelector:
    matchNames:
    - tidb-serverless
  podMetricsEndpoints:
  - honorLabels: true
    metricRelabelConfigs:
    - action: drop
      regex: tikv_thread_cpu_seconds_total;(tokio|rocksdb).+
      separator: ;
      source_labels:
      - __name__
      - name
    - action: keep
      regex: process_.+|tikv_engine_flow_bytes|tikv_thread_cpu_seconds_total|tikv_engine_size_bytes|tikv_coprocessor_response_bytes
      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: tikv
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
    - action: keep
      regex: tikv
      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_label_app_kubernetes_io_instance
      target_label: cluster
    - action: replace
      source_labels:
      - __meta_kubernetes_pod_name
      target_label: instance
    - 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: 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
  - honorLabels: true
    metricRelabelConfigs:
    - action: keep
      regex: tikv_channel_full_total|tikv_critical_error_total|tikv_grpc_.+|tikv_thread_.+|tikv_threads_.+|tikv_status_.+|tikv_engine_.+|raft_engine_.+|tikv_raft_.+|tikv_raftstore_.+|tikv_rfstore_.+|rfstore_.+|tikv_server_.+|tikv_store_size_bytes|tikv_storage_.+|tikv_scheduler_.+|tikv_coprocessor_.+|kv_engine_.+|tikv_pd_.+|tikv_active_keyspace_.+|tikv_request_.+|tikv_allocator_.+|tikv_backup_.+|tikv_rate_limiter_.+|tikv_region_.+|tikv_replica_.+|tikv_multilevel_.+|tikv_pessimistic_.+|tikv_read_.+|tikv_encryption_.+|tikv_external_storage_.+|tikv_futurepool_.+|tikv_gcworker_.+|tikv_in_memory_pessimistic_.+|tikv_io_.+|tikv_load_base_split_.+|tikv_lock_.+|tikv_non_txn_command_.+|tikv_snapshot_.+|tikv_txn_.+|tikv_unified_read_pool_.+|tikv_worker_.+|tikv_yatp_.+|tikv_tokio_.+|tikv_resource_metering_.+|tikv_hyper_.+|tikv_cdc_.+|tikv_concurrency_.+|tikv_resource_control_.+|tikv_cpu_usage_monitor_.+|tikv_cpu_throttle_.+|tikv_cpu_token_.+|tikv_service_limit_.+
      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: tikv
      source_labels:
      - __meta_kubernetes_pod_label_app_kubernetes_io_component
    - action: keep
      regex: tikv
      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_label_app_kubernetes_io_instance
      target_label: cluster
    - action: replace
      source_labels:
      - __meta_kubernetes_pod_name
      target_label: instance
    - 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
