apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: tidb
    cluster: basic
  name: basic-tidb
spec:
  endpoints:
  - interval: 15s
    scrapeTimeout: 10s
    path: /metrics
    targetPort: 10080
    port: status
    metricRelabelings:
    - sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]
      action: keep
      regex: basic
    - sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_component]
      action: keep
      regex: tidb
    - sourceLabels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: 'true'
    - sourceLabels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
      action: replace
      targetLabel: __metrics_path__
      regex: (.+)
    - sourceLabels: [__meta_kubernetes_pod_name, __meta_kubernetes_pod_label_app_kubernetes_io_instance,
                          __meta_kubernetes_pod_annotation_prometheus_io_port]
      regex: (.+);(.+);(.+)
      targetLabel: __address__
      replacement: $1.$2-tidb-peer:$3
      action: replace
    - sourceLabels: [__meta_kubernetes_namespace]
      action: replace
      targetLabel: kubernetes_namespace
    - sourceLabels: [__meta_kubernetes_pod_node_name]
      action: replace
      targetLabel: kubernetes_node
    - sourceLabels: [__meta_kubernetes_pod_ip]
      action: replace
      targetLabel: kubernetes_pod_ip
    - sourceLabels: [__meta_kubernetes_pod_name]
      action: replace
      targetLabel: instance
    - sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_instance]
      action: replace
      targetLabel: cluster
  namespaceSelector:
    matchNames:
      - default
  selector:
    matchLabels:
      app.kubernetes.io/component: tidb
      app.kubernetes.io/instance: basic
      app.kubernetes.io/used-by: "end-user"
