TiDB

Supported OS Linux Mac OS Windows

Intégration2.1.0

Présentation

Associez le cluster TiDB à Datadog pour :

  • Recueillir des métriques TiDB clés sur votre cluster
  • Recueillir les logs de votre cluster, notamment les logs TiDB/TiKV/TiFlash et les logs sur les requêtes lentes
  • Visualiser les performances de votre cluster dans le dashboard fourni

Remarque :

  • Pour que cette intégration fonctionne, TiDB 4.0 ou ultérieur est requis.
  • Pour intégrer TiDB Cloud, consultez la documentation à ce sujet.

Configuration

Installation

Commencez par télécharger et lancer l’Agent Datadog.

Installez ensuite manuellement le check TiDB. Les instructions varient en fonction de votre environnement.

Exécutez datadog-agent integration install -t datadog-tidb==<VERSION_INTÉGRATION>.

Procédure à suivre

Collecte de métriques
  1. Modifiez le fichier tidb.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent pour commencer à recueillir vos données de performance TiDB. Consultez le fichier d’exemple tidb.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

L’exemple de fichier tidb.d/conf.yaml configure uniquement l’instance PD. Les autres instances au sein du cluster TiDB doivent être configurées manuellement, comme suit :

init_config:

instances:

  - pd_metric_url: http://localhost:2379/metrics
    send_distribution_buckets: true
    tags:
      - cluster_name:cluster01

  - tidb_metric_url: http://localhost:10080/metrics
    send_distribution_buckets: true
    tags:
      - cluster_name:cluster01

  - tikv_metric_url: http://localhost:20180/metrics
    send_distribution_buckets: true
    tags:
      - cluster_name:cluster01

  - tiflash_metric_url: http://localhost:8234/metrics
    send_distribution_buckets: true
    tags:
      - cluster_name:cluster01

  - tiflash_proxy_metric_url: http://localhost:20292/metrics
    send_distribution_buckets: true
    tags:
      - cluster_name:cluster01
  1. Redémarrez l’Agent.
Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  2. Ajoutez ce bloc de configuration à votre fichier tidb.d/conf.yaml pour commencer à recueillir vos logs TiDB :

    logs:
     # pd log
     - type: file
       path: "/tidb-deploy/pd-2379/log/pd*.log"
       service: "tidb-cluster"
       source: "pd"
    
     # tikv log
     - type: file
       path: "/tidb-deploy/tikv-20160/log/tikv*.log"
       service: "tidb-cluster"
       source: "tikv"
    
     # tidb log
     - type: file
       path: "/tidb-deploy/tidb-4000/log/tidb*.log"
       service: "tidb-cluster"
       source: "tidb"
       exclude_paths:
         - /tidb-deploy/tidb-4000/log/tidb_slow_query.log
     - type: file
       path: "/tidb-deploy/tidb-4000/log/tidb_slow_query*.log"
       service: "tidb-cluster"
       source: "tidb"
       log_processing_rules:
         - type: multi_line
           name: new_log_start_with_datetime
           pattern: '#\sTime:'
       tags:
         - "custom_format:tidb_slow_query"
    
     # tiflash log
     - type: file
       path: "/tidb-deploy/tiflash-9000/log/tiflash*.log"
       service: "tidb-cluster"
       source: "tiflash"
    

    Modifiez les paramètres path et service en fonction de la configuration de votre cluster.

    Utilisez les commandes suivantes pour afficher le chemin de l’ensemble de vos logs :

    # show deploying directories
    tiup cluster display <YOUR_CLUSTER_NAME>
    # find specific logging file path by command arguments
    ps -fwwp <TIDB_PROCESS_PID/PD_PROCESS_PID/etc.>
    
  3. Redémarrez l’Agent.

Validation

Lancez la sous-commande status de l’Agent et cherchez tidb dans la section Checks.

Données collectées

Métriques

tidb_cluster.tidb_executor_statement_total
(count)
The total number of statements executed
Shown as execution
tidb_cluster.tidb_server_execute_error_total
(count)
The total number of execution errors
Shown as error
tidb_cluster.tidb_server_connections
(gauge)
Current number of connections in TiDB server
Shown as connection
tidb_cluster.tidb_server_handle_query_duration_seconds.count
(count)
The total number of handled queries in server
Shown as query
tidb_cluster.tidb_server_handle_query_duration_seconds.sum
(count)
The sum of handled query duration in server
Shown as second
tidb_cluster.tikv_engine_size_bytes
(gauge)
The disk usage bytes of TiKV instances
Shown as byte
tidb_cluster.tikv_store_size_bytes
(gauge)
The disk capacity bytes of TiKV instances
Shown as byte
tidb_cluster.tikv_io_bytes
(count)
The io read/write bytes of TiKV instances
Shown as byte
tidb_cluster.tiflash_store_size_used_bytes
(gauge)
The disk usage bytes of TiFlash instances
Shown as byte
tidb_cluster.tiflash_store_size_capacity_bytes
(gauge)
The disk capacity bytes of TiFlash instances
Shown as byte
tidb_cluster.process_cpu_seconds_total
(count)
The cpu usage seconds of TiDB/TiKV/TiFlash instances
Shown as second
tidb_cluster.process_resident_memory_bytes
(gauge)
The resident memory bytes of TiDB/TiKV/TiFlash instances
Shown as byte

Il est possible d’utiliser l’option de configuration metrics pour recueillir des métriques supplémentaires depuis un cluster TiDB.

Événements

Le check TiDB n’inclut aucun événement.

Checks de service

tidb_cluster.prometheus.health
Returns CRITICAL if the Agent cannot fetch Prometheus metrics, otherwise returns OK.
Statuses: ok, critical

Dépannage

Métriques manquantes sur le processeur et la mémoire pour les instances TiKB et TiFlash sous macOS

Les métriques sur le processeur et la mémoire ne sont pas fournies pour les instances TiKV et TiFlash dans les configurations suivantes :

  • Les instances TiKV ou TiFlash sont exécutées avec le playground tiup sous macOS.
  • Les instances TiKV ou TiFlash sont exécutées avec docker-compose up sur une nouvelle machine dotée d’une puce M1 Apple.

Trop de métriques

Le check TiDB active les métriques distribution de Datadog par défaut. Cette partie des données est très volumineuse et peut consommer une grande quantité de ressources. Ce comportement peut être modifié dans le fichier tidb.yml :

  • send_distribution_buckets: false

Étant donné qu’un cluster TiDB comprend de nombreuses métriques importantes, le check TiDB définit le paramètre max_returned_metrics sur 10000 par défaut. Vous pouvez définir une valeur max_returned_metrics plus basse dans le fichier tidb.yml si nécessaire :

  • max_returned_metrics: 1000

Besoin d’aide ? Contactez l’assistance Datadog.