Este tema explica cómo crear una configuración de Logtail en la consola de Simple Log Service para recopilar resultados de consultas de SQL Server.
Requisitos previos
-
Logtail debe estar instalado. Utilice la versión 0.16.0 o posterior para Linux, o la 1.0.0.8 o posterior para Windows. Para obtener más información, consulte Install Logtail on a Linux server o Install Logtail on a Windows server.
ImportanteAsegúrese de que el servidor de Logtail pueda conectarse a la base de datos de destino.
-
Agregue la dirección IP del servidor de Logtail a la lista de permitidos de su base de datos de SQL Server.
Por ejemplo, para configurar la lista de permitidos de una instancia de ApsaraDB RDS for SQL Server, consulte Configure an IP address whitelist.
Funciones
Recopilación de resultados de consultas desde bases de datos de SQL Server.
Configuración de paginación.
Configuración de zonas horarias.
Configuración de tiempos de espera.
Guardado de estados de puntos de control.
Limitación del número de registros recopilados por sincronización.
Procedimiento
Inicie sesión en la consola de Simple Log Service.
En la sección Import Data, haga clic en Custom Data Plug-in.
Seleccione el proyecto y el logstore de destino, y luego haga clic en Next.
-
En el paso Machine Group Configurations, configure un grupo de máquinas.
-
Configure los parámetros Scenario e Installation Environment según sea necesario.
ImportanteDebe configurar los parámetros Scenario e Installation Environment independientemente de si hay un grupo de máquinas disponible. La configuración de estos parámetros afecta las configuraciones posteriores.
-
Asegúrese de que se muestre un grupo de máquinas en la sección Applied Server Groups y haga clic en Next.
Grupo de máquinas disponible
Seleccione un grupo de máquinas en la sección Source Machine Group.

No hay ningún grupo de máquinas disponible
Haga clic en Create Machine Group. En el panel Create Machine Group, configure los parámetros. Puede establecer el parámetro Machine Group Identifier en IP Address o Custom Identifier. Para obtener más información, consulte Create a custom identifier-based machine group o Create an IP address-based machine group.
ImportanteSi aplica un grupo de máquinas inmediatamente después de crearlo, es posible que el estado de latido del grupo de máquinas sea FAIL. Este problema ocurre porque el grupo de máquinas no está conectado a Simple Log Service. Para resolverlo, puede hacer clic en Automatic Retry. Si el problema persiste, consulte What do I do if no heartbeat connections are detected on Logtail?
-
-
En la pestaña Configure Data Source, establezca Configuration Name y Plug-in Configuration, y luego haga clic en Next.
-
inputs es obligatorio y se utiliza para configurar los ajustes del origen de datos en la configuración de Logtail.
ImportanteSolo puede especificar un tipo de origen de datos en inputs.
-
processors es opcional y se usa para configurar los ajustes de procesamiento de datos en la configuración de Logtail con el fin de analizar datos. Puede especificar uno o más métodos de procesamiento.
Si sus registros no se pueden analizar únicamente con la configuración de inputs, puede configurar procesadores en el campo Plug-in Configuration para agregar complementos de procesamiento de datos. Por ejemplo, extraer campos, extraer la hora del registro, enmascarar datos y filtrar registros. Para obtener más información, consulte Logtail plugins for data processing.
{ "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 } } ] }Parámetro
Tipo
Obligatorio
Descripción
type
string
Sí
El tipo de origen de datos se establece en service_mssql.
Address
string
No
La dirección de SQL Server. Por ejemplo:
rm-****.sqlserver.rds.aliyuncs.com.Si no se configura este parámetro, el valor predeterminado es 127.0.0.1:1433.
User
string
No
El nombre de usuario para iniciar sesión en la base de datos de SQL Server.
Si no se configura, se utiliza root de forma predeterminada.
Password
string
No
La contraseña del usuario. Este parámetro está vacío de forma predeterminada.
Si tiene requisitos de seguridad elevados, le recomendamos establecer el nombre de usuario y la contraseña en
xxx. Una vez que la configuración de Logtail se sincronice con su máquina local, busque la configuración correspondiente en el archivo /usr/local/ilogtail/user_log_config.json y modifíquela. Para obtener más información, consulte Modify local configurations.ImportanteSi modifica este parámetro en la consola, esta sobrescribirá la configuración local durante la sincronización.
DataBase
string
No
El nombre de la base de datos de SQL Server.
DialTimeOutMs
int
No
El tiempo de espera para conectarse a la base de datos de SQL Server. Unidad: milisegundos (ms).
Valor predeterminado: 5000.
ReadTimeOutMs
int
No
El tiempo de espera para leer los resultados de la consulta desde la base de datos de SQL Server. Unidad: ms.
Valor predeterminado: 5000.
StateMent
string
No
La instrucción SELECT.
Cuando establece CheckPoint en true, la cláusula
WHEREde la instrucciónSELECTen StateMent debe contener la columna especificada por el parámetro CheckPointColumn, y el valor de esta columna debe establecerse en ?. Por ejemplo: establezca CheckPointColumn en id y StateMent enSELECT * from ... where id > ?.Limit
boolean
No
Especifica si se debe usar paginación con una cláusula LIMIT.
Si no se especifica este parámetro, el valor predeterminado es false, lo que indica que no se utiliza la paginación basada en Limit.
Se recomienda utilizar Limit para la paginación. Si establece Limit en true, se agregará automáticamente una instrucción LIMIT a Statement al ejecutar una consulta SQL.
PageSize
int
No
El tamaño de página. Este parámetro es obligatorio cuando Limit se establece en true.
MaxSyncSize
int
No
El número máximo de registros que se sincronizan a la vez.
Si no configura este parámetro, el valor predeterminado es 0, lo que indica que no hay límite.
CheckPoint
boolean
No
Especifica si se debe usar un punto de control para la recopilación incremental.
Si no se configura, el valor predeterminado es false, lo que indica que no se utiliza CheckPoint.
CheckPointColumn
string
No
El nombre de la columna de punto de control.
Obligatorio si CheckPoint se establece en true.
AvisoLos valores en la columna de punto de control deben ser incrementales. De lo contrario, podría producirse pérdida de datos porque Logtail utiliza el valor máximo de la última consulta como punto de partida para la siguiente.
CheckPointColumnType
string
No
El tipo de datos de la columna de punto de control. Valores válidos:
intytime. Logtail almacena el tipointcomo int64. El tipotimeadmite los tiposdate,datetimeytimede SQL Server.Este parámetro es obligatorio si CheckPoint se establece en true.
CheckPointStart
string
No
El valor inicial de la columna de punto de control.
Este parámetro es obligatorio si CheckPoint se establece en true.
CheckPointSavePerPage
boolean
No
Especifica si se debe guardar el punto de control después de recopilar cada página.
-
true: Guarda un punto de control cada vez que ocurre la paginación.
-
false: Guarda un punto de control después de completar cada sincronización.
IntervalMs
int
Sí
El intervalo de sincronización, en ms.
-
-
Cree índices y obtenga una vista previa de los datos. Luego, haga clic en Next. De forma predeterminada, la indexación de texto completo está habilitada en Simple Log Service. También puede crear manualmente índices de campo para los registros recopilados o hacer clic en Automatic Index Generation. Entonces, Simple Log Service generará los índices de campo. Para obtener más información, consulte Create indexes.
ImportanteSi desea consultar todos los campos en los registros, se recomienda utilizar índices de texto completo. Si solo desea consultar campos específicos, se recomienda usar índices de campo. Esto ayuda a reducir el tráfico de indexación. Si desea analizar campos, debe crear índices de campo. Debe incluir una instrucción SELECT en su declaración de consulta para el análisis.
-
Haga clic en Query Log para ir a la página de consulta y análisis del logstore.
Es posible que deba esperar aproximadamente un minuto para que los índices surtan efecto. Después podrá ver los registros recopilados en la pestaña Raw Logs. Para obtener más información, consulte Quick start for log query and analysis.
Modificación de la configuración local
Si no introdujo los valores reales para parámetros como Address, User y Password en la sección Plug-in Configuration, puede modificarlos manualmente después de que se entregue la configuración de Logtail.
Linux
Inicie sesión en el servidor donde está instalado Logtail.
Abra el archivo /usr/local/ilogtail/user_log_config.json, busque la palabra clave service_mssql y modifique campos como Address, User y Password.
-
Ejecute el siguiente comando para reiniciar Logtail.
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
Inicie sesión en el servidor donde está instalado Logtail.
-
Abra el archivo C:\Program Files\Alibaba\Logtail\user_log_config.json, busque la palabra clave service_mssql y modifique los campos Address, User y Password.
La ruta del archivo es diferente para sistemas operativos Windows de 64 bits y de 32 bits. Para obtener más información, consulte File paths.
-
Reinicie Logtail.
Vaya a .
-
En el cuadro de diálogo Services, seleccione el servicio que desea gestionar.
Para Logtail V0.x.x.x, seleccione LogtailWorker.
Para Logtail V1.0.0.0 o posterior, seleccione LogtailDaemon.
Haga clic con el botón derecho en el servicio y seleccione Start, Stop o Restart.
Solución de problemas
Si no aparecen datos en la página de vista previa o de consulta después de configurar Logtail para recopilar registros, consulte Troubleshoot Logtail collection failures.
Tabla de base de datos y registros de ejemplo
Esta sección proporciona un esquema de ejemplo para una tabla de base de datos de SQL Server y registros de ejemplo recopilados por Logtail.
-
Esquema de tabla de ejemplo
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 -
Registros de ejemplo
4 10-26 11:51:13 id :4 name :banana quantity :4 5 10-26 11:51:13 id :3 name :banana quantity :3 6 10-26 11:51:12 id :2 name :banana quantity :2 7 10-26 11:51:12 id :1 name :banana quantity :1