Cette rubrique explique comment créer une configuration Logtail dans la console Simple Log Service afin de collecter les résultats de requêtes SQL Server.
Prérequis
-
Logtail doit être installé. Utilisez la version 0.16.0 ou ultérieure pour Linux, ou la version 1.0.0.8 ou ultérieure pour Windows. Pour plus d'informations, consultez Installer Logtail sur un serveur Linux ou Installer Logtail sur un serveur Windows.
ImportantAssurez-vous que le serveur Logtail peut se connecter à la base de données cible.
-
Ajoutez l'adresse IP du serveur Logtail à la liste d'autorisation de votre base de données SQL Server.
Par exemple, pour configurer la liste d'autorisation d'une instance ApsaraDB RDS for SQL Server, consultez Configurer une liste d'autorisation d'adresses IP.
Fonctionnalités
Collecte des résultats de requêtes provenant de bases de données SQL Server.
Configuration de la pagination.
Configuration des fuseaux horaires.
Configuration des délais d'expiration.
Sauvegarde des états de point de contrôle (checkpoint).
Limitation du nombre d'enregistrements collectés par synchronisation.
Procédure
Connectez-vous à la console Simple Log Service.
Dans la section Import Data, cliquez sur Custom Data Plug-in.
Sélectionnez le projet et le Logstore de destination, puis cliquez sur Next.
-
À l'étape Machine Group Configurations, configurez un groupe de machines.
-
Configurez les paramètres Scenario et Installation Environment selon vos besoins.
ImportantVous devez configurer les paramètres Scenario et Installation Environment, qu'un groupe de machines soit disponible ou non. Ces paramètres influencent les configurations ultérieures.
-
Assurez-vous qu'un groupe de machines s'affiche dans la section Applied Server Groups, puis cliquez sur Next.
Groupe de machines disponible
Sélectionnez un groupe de machines dans la section Source Machine Group.

Aucun groupe de machines disponible
Cliquez sur Create Machine Group. Dans le panneau Create Machine Group, configurez les paramètres. Vous pouvez définir le paramètre Machine Group Identifier sur IP Address ou Custom Identifier. Pour plus d'informations, consultez Créer un groupe de machines basé sur un identifiant personnalisé ou Créer un groupe de machines basé sur une adresse IP.
ImportantSi vous appliquez un groupe de machines immédiatement après sa création, le statut du heartbeat peut être FAIL. Ce problème survient car le groupe de machines n'est pas encore connecté à Simple Log Service. Pour résoudre ce problème, cliquez sur Automatic Retry. Si le problème persiste, consultez Que faire si aucune connexion heartbeat n'est détectée sur Logtail ?
-
-
Dans l'onglet Configure Data Source, définissez les champs Configuration Name et Plug-in Configuration, puis cliquez sur Next.
-
Le champ inputs est obligatoire et sert à configurer les paramètres de source de données pour la configuration Logtail.
ImportantVous ne pouvez spécifier qu'un seul type de source de données dans inputs.
-
Le champ processors est facultatif et permet de configurer les paramètres de traitement des données pour la configuration Logtail afin d'analyser les données. Vous pouvez spécifier une ou plusieurs méthodes de traitement.
Si vos journaux ne peuvent pas être analysés uniquement avec le paramètre inputs, vous pouvez configurer des processeurs dans le champ Plug-in Configuration pour ajouter des plugins de traitement des données. Par exemple, extraire des champs, extraire l'horodatage des journaux, masquer des données et filtrer les journaux. Pour plus d'informations, consultez Plugins Logtail pour le traitement des données.
{ "inputs": [ { "type": "service_mssql", "detail": { "Address": "rm-****.sqlserver.rds.aliyuncs.com", "User": "****", "Password": "*******", "DataBase": "****", "Limit": true, "PageSize": 100, "StateMent": "select * from LogtailTestTable where id > ? order by id", "CheckPoint": true, "CheckPointColumn": "id", "CheckPointStart": "0", "CheckPointSavePerPage": true, "CheckPointColumnType": "int", "IntervalMs": 1000 } } ] }Paramètre
Type
Obligatoire
Description
type
string
Oui
Le type de source de données est défini sur service_mssql.
Address
string
Non
L'adresse SQL Server. Par exemple :
rm-****.sqlserver.rds.aliyuncs.com.Si ce paramètre n'est pas configuré, la valeur par défaut est 127.0.0.1:1433.
User
string
Non
Le nom d'utilisateur pour se connecter à la base de données SQL Server.
S'il n'est pas configuré, root est utilisé par défaut.
Password
string
Non
Le mot de passe de l'utilisateur. Ce paramètre est vide par défaut.
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 Logtail synchronisée sur votre machine locale, localisez la configuration correspondante dans le fichier /usr/local/ilogtail/user_log_config.json et modifiez-la. Pour plus d'informations, consultez Modifier les configurations locales.ImportantSi vous modifiez ce paramètre dans la console, la console écrasera la configuration locale lors de la synchronisation.
DataBase
string
Non
Le nom de la base de données SQL Server.
DialTimeOutMs
int
Non
Le délai d'expiration pour la connexion à la base de données SQL Server. Unité : millisecondes (ms).
Valeur par défaut : 5000.
ReadTimeOutMs
int
Non
Le délai d'expiration pour la lecture des résultats de requête depuis la base de données SQL Server. Unité : ms.
Valeur par défaut : 5000.
StateMent
string
Non
L'instruction SELECT.
Lorsque vous définissez CheckPoint sur true, la clause
WHEREde l'instructionSELECTdans StateMent doit contenir la colonne spécifiée par le paramètre CheckPointColumn, et la valeur de cette colonne doit être définie sur ?. Par exemple : définissez CheckPointColumn sur id et StateMent surSELECT * from ... where id > ?.Limit
boolean
Non
Indique s'il faut utiliser la pagination avec une clause LIMIT.
Si ce paramètre n'est pas spécifié, la valeur par défaut est false, ce qui signifie que la pagination basée sur Limit n'est pas utilisée.
Nous vous recommandons d'utiliser Limit pour la pagination. Si vous définissez Limit sur true, une instruction LIMIT est automatiquement ajoutée à l'Statement lors de l'exécution d'une requête SQL.
PageSize
int
Non
La taille de la page. Ce paramètre est requis lorsque Limit est défini sur true.
MaxSyncSize
int
Non
Le nombre maximal d'enregistrements à synchroniser à la fois.
Si vous ne configurez pas ce paramètre, la valeur par défaut est 0, ce qui indique qu'il n'y a aucune limite.
CheckPoint
boolean
Non
Indique s'il faut utiliser un point de contrôle (checkpoint) pour la collecte incrémentielle.
S'il n'est pas configuré, la valeur par défaut est false, ce qui signifie que le Checkpoint n'est pas utilisé.
CheckPointColumn
string
Non
Le nom de la colonne de point de contrôle.
Requis si CheckPoint est défini sur true.
AvertissementLes valeurs de la colonne de point de contrôle doivent être incrémentielles. Sinon, une perte de données peut survenir car Logtail utilise la valeur maximale de la dernière requête comme point de départ pour la suivante.
CheckPointColumnType
string
Non
Le type de données de la colonne de point de contrôle. Valeurs valides :
intettime. Logtail stocke le typeintsous forme int64. Le typetimeprend en charge les typesdate,datetimeettimede SQL Server.Ce paramètre est requis si CheckPoint est défini sur true.
CheckPointStart
string
Non
La valeur initiale de la colonne de point de contrôle.
Ce paramètre est requis si CheckPoint est défini sur true.
CheckPointSavePerPage
boolean
Non
Indique s'il faut enregistrer le point de contrôle après la collecte de chaque page.
-
true : Enregistre un Checkpoint à chaque fois qu'une pagination se produit.
-
false : Enregistre un Checkpoint une fois chaque synchronisation terminée.
IntervalMs
int
Oui
L'intervalle de synchronisation, en ms.
-
-
Créez des index et prévisualisez les données. Ensuite, cliquez sur Next. Par défaut, l'indexation full-text est activée dans Simple Log Service. Vous pouvez également créer manuellement des index de champ pour les journaux collectés ou cliquer sur Automatic Index Generation. Simple Log Service générera alors les index de champ. Pour plus d'informations, consultez Créer des index — Instructions de modification.
ImportantSi vous souhaitez interroger tous les champs des journaux, nous vous recommandons d'utiliser des index full-text. Si vous souhaitez interroger uniquement des champs spécifiques, nous vous recommandons d'utiliser des index de champ. Cela permet de réduire le trafic lié aux index. Si vous souhaitez analyser des champs, vous devez créer des index de champ. Vous devez inclure une instruction SELECT dans votre instruction de requête pour l'analyse.
-
Cliquez sur Query Log pour accéder à la page Query & Analysis du Logstore.
Il se peut que vous deviez attendre environ une minute pour que les index deviennent effectifs. Vous pourrez ensuite consulter les journaux collectés dans l'onglet Raw Logs. Pour plus d'informations, consultez Démarrage rapide pour la requête et l'analyse des journaux.
Modifier la configuration locale
Si vous n'avez pas saisi les valeurs réelles pour des paramètres tels que Address, User et Password dans la section Plug-in Configuration, vous pouvez les modifier manuellement après la diffusion de la configuration Logtail.
Linux
Connectez-vous au serveur sur lequel Logtail est installé.
Ouvrez le fichier /usr/local/ilogtail/user_log_config.json, recherchez le mot-clé service_mssql et modifiez les champs tels que Address, User et Password.
-
Exécutez la commande suivante pour redémarrer Logtail.
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
Connectez-vous au serveur sur lequel Logtail est installé.
-
Ouvrez le fichier C:\Program Files\Alibaba\Logtail\user_log_config.json, recherchez le mot-clé service_mssql et modifiez les champs Address, User et Password.
Le chemin d'accès au fichier diffère selon que le système d'exploitation Windows est en 64 bits ou en 32 bits. Pour plus d'informations, consultez Chemins d'accès aux fichiers.
-
Redémarrez Logtail.
Choisissez .
-
Dans la boîte de dialogue Services, sélectionnez le service que vous souhaitez gérer.
Pour Logtail V0.x.x.x, sélectionnez LogtailWorker.
Pour Logtail V1.0.0.0 ou version ultérieure, sélectionnez LogtailDaemon.
Faites un clic droit sur le service et sélectionnez Start, Stop ou Restart.
Dépannage
Si aucune donnée n'apparaît sur la page de prévisualisation ou de requête après avoir configuré Logtail pour collecter les journaux, consultez Résoudre les échecs de collecte Logtail.
Exemple de table de base de données et de journaux
Cette section fournit un schéma d'exemple pour une table de base de données SQL Server ainsi que des exemples de journaux collectés par Logtail.
-
Schéma de table d'exemple
IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'LogtailTest') BEGIN CREATE DATABASE [LogtailTest] END GO USE [LogtailTest] GO IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='LogtailTestTable' and xtype='U') BEGIN CREATE TABLE LogtailTestTable ( id INT PRIMARY KEY IDENTITY (1, 1), name NVARCHAR(50), quantity INT ) END GO INSERT INTO LogtailTestTable (name, quantity) values('banana', 1); INSERT INTO LogtailTestTable (name, quantity) values('banana', 2); INSERT INTO LogtailTestTable (name, quantity) values('banana', 3); INSERT INTO LogtailTestTable (name, quantity) values('banana', 4); SELECT * FROM LogtailTestTable; GO Exemples de journaux
