Tous les produits
Search
Centre de documentation

Simple Log Service:Collecte des résultats de requêtes MySQL

Dernière mise à jour :Aug 26, 2026

Découvrez comment créer une configuration Logtail pour collecter les résultats de requêtes MySQL.

Prérequis

  • Logtail 0.16.0 ou version ultérieure pour Linux, ou Logtail 1.0.0.8 ou version ultérieure pour Windows, est installé sur votre serveur. Pour plus d'informations, consultez la rubrique Installation, exécution, mise à niveau et désinstallation de Logtail.

    Important

    Assurez-vous que le serveur exécutant Logtail peut se connecter à la base de données MySQL cible.

  • Dans votre base de données MySQL, ajoutez l'adresse IP du serveur Logtail à la liste d'autorisation.

    Par exemple, pour configurer la liste d'autorisation d'une instance ApsaraDB RDS for MySQL, consultez la rubrique Configuration d'une liste d'autorisation d'adresses IP.

  • Si vous utilisez CRD-AliyunPipelineConfig pour collecter les résultats de requêtes MySQL, assurez-vous que le composant Logtail est installé dans le cluster.

    Pour plus d'informations, consultez la rubrique Installation du composant Logtail.

Procédure

Console Log Service

  1. Connectez-vous à la console Simple Log Service.

  2. Sur le côté droit de la page qui s'affiche, cliquez sur la carte Quick Data Import.

    image

  3. Sur la page Import Data, sélectionnez MySQL query result - plug-in.

  4. Sélectionnez le projet et le logstore. Cliquez ensuite sur Next.

  5. Sur la page Machine Group Configuration, configurez un groupe de machines.

    1. Sélectionnez un cas d'utilisation et un environnement d'installation correspondant à vos besoins.

      Important

      Que vous disposiez ou non d'un groupe de machines existant, vous devez sélectionner le cas d'utilisation et l'environnement d'installation appropriés. Ce choix influence les étapes de configuration suivantes.

    2. Vérifiez que le groupe de machines cible figure dans la zone Applied Machine Group, puis cliquez sur Next.

      Groupes de machines existants

      Dans la liste Source Machine Group, sélectionnez le groupe de machines cible.

      image

      Aucun groupe de machines disponible

      Cliquez sur Create Machine Group. Dans le panneau Create Machine Group, définissez les paramètres. Vous pouvez identifier un groupe de machines par IP Address ou par Custom Identifier. Pour plus d'informations, consultez les rubriques Création d'un groupe de machines à l'aide d'un identifiant personnalisé (recommandé) ou Création d'un groupe de machines à l'aide d'adresses IP.

      Important

      Si vous appliquez le groupe de machines immédiatement après sa création, son statut de heartbeat peut être FAIL, car la connexion n'est pas encore établie. Vous pouvez cliquer sur Automatic Retry. Si le problème persiste, consultez la rubrique Absence de heartbeats pour un groupe de machines Logtail afin de résoudre le problème.

  6. Sur l'onglet Configure Data Source, définissez les paramètres Configuration Name et Plug-in Configuration, puis cliquez sur Next.

    Vous pouvez configurer la source de données à l'aide du formulaire ou de l'éditeur (configuration JSON). Pour obtenir des détails sur la configuration, consultez la rubrique Plug-in d'entrée MySQL.

    image

  7. Créez des index, prévisualisez les données, puis cliquez sur Next. Par défaut, Log Service active un index en texte intégral. Vous pouvez également créer manuellement des index de champ en fonction des journaux collectés, ou cliquer sur Automatic Index Generation pour générer automatiquement les index de champ. Pour plus d'informations, consultez la rubrique Création d'index.

    Important

    Activez l'index en texte intégral si vous devez interroger tous les champs de journal. Si vous souhaitez interroger uniquement des champs spécifiques, créez un index de champ afin de réduire le trafic lié aux index. Pour analyser des champs à l'aide d'instructions SELECT, vous devez créer un index de champ.

  8. Cliquez sur Query Log pour accéder à la page Query & Analysis du Logstore.

    Il peut être nécessaire d'attendre environ une minute pour que les index deviennent effectifs. Vous pourrez ensuite consulter les journaux collectés sur l'onglet Raw Logs. Pour plus d'informations, consultez la rubrique Démarrage rapide pour l'interrogation et l'analyse des journaux.

CRD-AliyunPipelineConfig

Cette section fournit un exemple de création d'une configuration de collecte dans un cluster ACK.

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, localisez le cluster cible. Dans la colonne Actions, choisissez More > Manage cluster.

  3. Créez un fichier nommé example-k8s-file.yaml.

    Description des paramètres

    Exemple

    apiVersion: telemetry.alibabacloud.com/v1alpha1
    # Create a CR from the ClusterAliyunPipelineConfig CRD.
    kind: ClusterAliyunPipelineConfig
    metadata:
      # The name of the resource. The name must be unique in the current Kubernetes cluster. The name is the same as the name of the Logtail configuration that is created
      name: example-crd-mysql
    spec:
      # Specify the project to which logs are collected.
      project:
        name: k8s-log-clusterid
      # Create a Logstore to store logs.
      logstores:
        - name: crd-mysql-test
      # Configure the parameters for the Logtail configuration.
      config:
        # Enter a sample log. You can leave this parameter empty.
        sample: ''
        inputs:
        - Type: service_mysql
          Address: "rm-*.mysql.rds.aliyuncs.com"
          CheckPoint: true
          CheckPointColumn: id
          CheckPointColumnType: int
          CheckPointSavePerPage: true
          CheckPointStart: "0"
          Database: ****
          IntervalMs: 1000
          Limit: true
          MaxSyncSize: 100
          PageSize: 100
          User: ****
          Password: *******
          StateMent: "select * from test where id > ? order by id"
        # Configure the output plug-in.
        flushers:
          # Use the flusher_sls plug-in to send logs to a specific Logstore.
          - Type: flusher_sls
            Logstore: crd-mysql-test
            Endpoint: cn-hangzhou.log.aliyuncs.com
            Region: cn-hangzhou
            TelemetryType: logs

    Type string (obligatoire)

    Le type de la source de données. Définissez la valeur sur service_mysql.

    Address string (facultatif)

    L'adresse MySQL, par exemple rm-****.mysql.rds.aliyuncs.com.

    Valeur par défaut : 127.0.0.1:3306.

    Types d'adresses :

    • Interne (réseau privé virtuel cloud (VPC)) : utilisé uniquement pour l'accès interne depuis des instances (telles que les instances ECS et ACK) situées dans le même VPC.

    • Endpoint public : utilisé lorsque votre activité est déployée dans un autre VPC ou sur une machine locale et que vous devez accéder à l'instance via Internet. Vous devez demander préalablement un endpoint public manuellement. Pour plus d'informations, consultez la rubrique Demande ou libération d'un endpoint public.

    Remarque

    Nous vous recommandons d'utiliser l'endpoint de répartition lecture/écriture interne pour vous connecter aux instances RDS, car les connexions via Internet sont sujettes à des fluctuations.

    User string (facultatif)

    Le nom d'utilisateur du compte utilisé pour se connecter à la base de données MySQL. Valeur par défaut : root.

    Password string (facultatif)

    Le mot de passe du compte utilisé pour se connecter à la base de données MySQL.

    Si vous avez des exigences élevées en matière de sécurité, nous vous recommandons de définir le nom d'utilisateur et le mot de passe sur xxx. Une fois la configuration de collecte synchronisée avec le serveur local, recherchez la configuration correspondante dans le fichier /usr/local/ilogtail/user_log_config.json sur le serveur local et modifiez-la. Pour plus d'informations, consultez la rubrique Collecte des résultats de requêtes MySQL.

    Important

    Si vous modifiez ce paramètre dans la console Simple Log Service, le paramètre de la configuration Logtail sur le serveur Logtail sera écrasé après la synchronisation de la modification avec le serveur.

    DataBase string (facultatif)

    Le nom de la base de données MySQL.

    DialTimeOutMs int (facultatif)

    Le délai d'expiration pour les connexions à la base de données MySQL. Unité : millisecondes. Valeur par défaut : 5000.

    ReadTimeOutMs int (facultatif)

    Le délai d'expiration pour les lectures depuis la base de données MySQL. Unité : millisecondes. Valeur par défaut : 5000.

    StateMent string (facultatif)

    L'instruction SELECT.

    Si vous définissez CheckPoint sur true, la condition WHERE dans Statement doit inclure la colonne CheckPoint (CheckPointColumn). Vous pouvez utiliser des points d'interrogation (?) pour indiquer les caractères de remplacement. Si vous utilisez un point d'interrogation (?) dans l'instruction SELECT, vous devez également configurer le paramètre CheckPointColumn.

    Par exemple, si vous définissez CheckPointColumn sur id, CheckPointStart sur 0 et StateMent sur SELECT * from ... where id > ?. À chaque exécution de requête, le système enregistre l'ID du dernier enregistrement de données comme point de contrôle. Lors de la requête suivante, le point d'interrogation (?) spécifié dans l'instruction SELECT est remplacé par l'ID correspondant au point de contrôle enregistré.

    Limit boolean (facultatif)

    Indique s'il faut utiliser une clause LIMIT pour paginer les résultats de requête. Valeurs possibles :

    • true : utilise une clause LIMIT.

    • false (par défaut) : n'utilise pas de clause LIMIT.

    Nous vous recommandons d'utiliser une clause LIMIT pour paginer les résultats de requête. Si vous définissez Limit sur true, le système ajoute automatiquement une clause LIMIT à l'instruction SELECT lors de l'exécution de la requête SQL.

    PageSize int (facultatif)

    Le nombre d'entrées par page. Ce paramètre est requis si vous définissez Limit sur true.

    MaxSyncSize int (facultatif)

    Le nombre maximal de journaux pouvant être synchronisés en une seule fois. Valeur par défaut : 0, ce qui indique qu'aucune limite n'est imposée.

    CheckPoint boolean (facultatif)

    Indique s'il faut utiliser des points de contrôle lors de la collecte des données. Valeurs possibles :

    • true : utilise des points de contrôle.

    • false (par défaut) : n'utilise pas de points de contrôle.

    Un point de contrôle peut servir de point de départ pour la prochaine collecte de données. Ainsi, seules les données incrémentielles sont collectées.

    CheckPointColumn string (facultatif)

    Le nom de la colonne qui stocke les points de contrôle.

    Ce paramètre est requis si vous définissez CheckPoint sur true.

    Avertissement

    Les valeurs de la colonne de point de contrôle doivent être incrémentielles. Sinon, certaines données risquent de ne pas être collectées. La valeur maximale du résultat d'une opération de requête est utilisée comme entrée pour l'opération de requête suivante.

    CheckPointColumnType string (facultatif)

    Ce paramètre est requis si vous définissez CheckPoint sur true.

    Le type de données de la colonne CheckPoint. Valeurs possibles : int et time. Si vous définissez ce paramètre sur int, les valeurs de la colonne de point de contrôle sont stockées sous forme d'entiers 64 bits. Si vous le définissez sur time, les valeurs de la colonne de point de contrôle peuvent être de type date, time ou datetime pris en charge par MySQL.

    CheckPointStart string (facultatif)

    Ce paramètre est requis si vous définissez CheckPoint sur true.

    La valeur initiale de la colonne de point de contrôle.

    CheckPointSavePerPage boolean (facultatif)

    Ce paramètre est requis si vous définissez CheckPoint sur true.

    Indique s'il faut enregistrer les points de contrôle à chaque pagination des résultats de requête.

    • true (par défaut) : enregistre les points de contrôle à chaque pagination des résultats de requête.

    • false : enregistre les points de contrôle à chaque synchronisation des résultats de requête.

    IntervalMs int (obligatoire)

    L'intervalle de synchronisation. Unité : millisecondes. Valeur par défaut : 60000.

  4. Exécutez `kubectl apply -f example-k8s-file.yaml`. Logtail commence à collecter les données depuis MySQL.

  5. Connectez-vous à la console Simple Log Service. Dans la section Projects, cliquez sur celui que vous souhaitez utiliser.

  6. Cliquez sur l'icône 图标 située à droite du Logstore de destination et sélectionnez Query and Analysis pour afficher les journaux de requête.

    image