Este tópico explica como crie uma configuração do Logtail no console do Simple Log Service para coletar resultados de consultas do SQL Server.
Pré-requisitos
-
Instale o Logtail. Use a versão 0.16.0 ou posterior para Linux, ou 1.0.0.8 ou posterior para Windows. Para mais informações, consulte instale Logtail on a Linux server ou instale Logtail on a Windows server.
ImportanteCertifique-se de que o servidor do Logtail consiga se conectar ao banco de dados de destino.
-
Adicione o endereço IP do servidor do Logtail à lista de permissões do banco de dados SQL Server.
Por exemplo, para configure a lista de permissões de uma instância do ApsaraDB RDS for SQL Server, consulte configure an IP address whitelist.
Recursos
Coleta resultados de consultas em bancos de dados SQL Server.
Configura paginação.
Defina fusos horários.
Ajusta timeouts.
Salve estados de checkpoint.
Limita a quantidade de registros coletados por sincronização.
Procedimento
Faça login no console do Simple Log Service.
Na seção Import Data, clique em Custom Data Plug-in.
Selecione o projeto e o Logstore de destino e clique em Next.
-
Na etapa Machine Group Configurations, configure um grupo de máquinas.
-
Configure os parâmetros Scenario e Installation Environment conforme necessário.
ImportanteConfigure os parâmetros Scenario e Installation Environment independentemente da disponibilidade de um grupo de máquinas. Essas definições afetam as configurações subsequentes.
-
Verifique se um grupo de máquinas aparece na seção Applied Server Groups e clique em Next.
Grupo de máquinas disponível
Selecione um grupo de máquinas na seção Source Machine Group.

Nenhum grupo de máquinas disponível
Clique em Create Machine Group. No painel Create Machine Group, configure os parâmetros. Defina o parâmetro Machine Group Identifier como IP Address ou Custom Identifier. Para mais informações, consulte crie a custom identifier-based machine group ou crie an IP address-based machine group.
ImportanteAo aplicar um grupo de máquinas logo após a criação, o status de heartbeat pode aparecer como FAIL. Isso ocorre porque o grupo ainda não estabeleceu conexão com o Simple Log Service. Para resolver, clique em Automatic Retry. Caso o problema persista, consulte What do I do if no heartbeat connections are detected on Logtail?
-
-
Na aba Configure Data Source, defina Configuration Name e Plug-in Configuration e clique em Next.
-
O campo inputs é obrigatório e define as configurações da fonte de dados da configuração do Logtail.
ImportanteEspecifique apenas um tipo de fonte de dados em inputs.
-
O campo processors é opcional e configura o processamento de dados na configuração do Logtail para analisar dados. Especifique um ou mais métodos de processamento.
Se os logs não puderem ser analisados apenas com a definição de inputs, configure processors no campo Plug-in Configuration para adicionar plugins de processamento de dados. Exemplos incluem extração de campos, obtenção de horário do log, mascaramento de dados e filtragem de logs. Para mais informações, 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
Obrigatório
Descrição
type
string
Sim
Defina o tipo da fonte de dados como service_mssql.
Address
string
Não
Endereço do SQL Server. Exemplo:
rm-****.sqlserver.rds.aliyuncs.com.Se este parâmetro não for configurado, o valor padrão será 127.0.0.1:1433.
User
string
Não
Nome de usuário para autenticação no banco de dados SQL Server.
Se não configurado, root será usado por padrão.
Password
string
Não
Senha do usuário. Este parâmetro vem vazio por padrão.
Para cenários com altos requisitos de segurança, recomenda-se defina o nome de usuário e a senha como
xxx. Após a sincronização da configuração do Logtail para a máquina local, localize a configuração correspondente no arquivo /usr/local/ilogtail/user_log_config.json e modifique-a. Para mais informações, consulte modifique local configurations.ImportanteAlterações neste parâmetro pelo console sobrescrevem a configuração local durante a sincronização.
DataBase
string
Não
Nome do banco de dados SQL Server.
DialTimeOutMs
int
Não
Timeout para conexão com o banco de dados SQL Server. Unidade: milissegundos (ms).
Valor padrão: 5000.
ReadTimeOutMs
int
Não
Timeout para leitura dos resultados de consulta do banco de dados SQL Server. Unidade: ms.
Valor padrão: 5000.
StateMent
string
Não
Instrução SELECT.
Ao defina CheckPoint como true, a cláusula
WHEREda instruçãoSELECTem StateMent deve conter a coluna especificada pelo parâmetro CheckPointColumn, e o valor dessa coluna deve ser definido como ?. Exemplo: defina CheckPointColumn como id e StateMent comoSELECT * from ... where id > ?.Limit
boolean
Não
Indica se a paginação com cláusula LIMIT deve ser utilizada.
Se este parâmetro não for especificado, o valor padrão será false, indicando que a paginação baseada em Limit não será usada.
Recomenda-se o uso de Limit para paginação. Ao defina Limit como true, uma instrução LIMIT é anexada automaticamente ao Statement durante a execução da consulta SQL.
PageSize
int
Não
Tamanho da página. Este parâmetro é obrigatório quando Limit está definido como true.
MaxSyncSize
int
Não
Quantidade máxima de registros a serem sincronizados por vez.
Se não configurado, o valor padrão é 0, o que indica ausência de limite.
CheckPoint
boolean
Não
Determina se um checkpoint deve ser usado para coleta incremental.
Se não configurado, o valor padrão é false, indicando que o Checkpoint não será utilizado.
CheckPointColumn
string
Não
Nome da coluna de checkpoint.
Obrigatório se CheckPoint estiver definido como true.
AvisoOs valores na coluna de checkpoint devem ser incrementais. Caso contrário, pode ocorrer perda de dados, pois o Logtail utiliza o valor máximo da última consulta como ponto de partida para a próxima.
CheckPointColumnType
string
Não
Tipo de dados da coluna de checkpoint. Valores válidos:
intetime. O Logtail armazena o tipointcomo int64. O tipotimesuporta os tiposdate,datetimeetimedo SQL Server.Este parâmetro é obrigatório se CheckPoint estiver definido como true.
CheckPointStart
string
Não
Valor inicial da coluna de checkpoint.
Este parâmetro é obrigatório se CheckPoint estiver definido como true.
CheckPointSavePerPage
boolean
Não
Defina se o checkpoint deve ser salvo após a coleta de cada página.
-
true: Salve um Checkpoint sempre que ocorre paginação.
-
false: Salve um Checkpoint somente após a conclusão de cada sincronização.
IntervalMs
int
Sim
Intervalo de sincronização, em ms.
-
-
Crie índices e visualize os dados. Em seguida, clique em Next. Por padrão, a indexação de texto completo está ativada no Simple Log Service. Também é possível crie manualmente índices de campo para os logs coletados ou clique em Automatic Index Generation para que o Simple Log Service gere os índices de campo automaticamente. Para mais informações, consulte crie indexes.
ImportantePara consultar todos os campos nos logs, recomenda-se o uso de índices de texto completo. Se precisar consultar apenas campos específicos, utilize índices de campo para reduzir o tráfego de indexação. A análise de campos exige a criação de índices de campo e a inclusão de uma instrução SELECT na consulta para fins analíticos.
-
Clique em Query Log para acesse a página de Consulta e Análise do Logstore.
Os índices podem levar cerca de um minuto para entrar em vigor. Depois disso, visualize os logs coletados na aba Raw Logs. Para mais informações, consulte Quick start for log query and analysis.
modifique a configuração local
Caso não tenha inserido os valores reais para parâmetros como Address, User e Password na seção Plug-in Configuration, modifique-os manualmente após a entrega da configuração do Logtail.
Linux
Faça login no servidor onde o Logtail está instalado.
Abra o arquivo /usr/local/ilogtail/user_log_config.json, localize a palavra-chave service_mssql e modifique campos como Address, User e Password.
-
Execute o comando abaixo para reiniciar o Logtail.
sudo /etc/init.d/ilogtaild stop; sudo /etc/init.d/ilogtaild start
Windows
Faça login no servidor onde o Logtail está instalado.
-
Abra o arquivo C:\Program Files\Alibaba\Logtail\user_log_config.json, localize a palavra-chave service_mssql e modifique os campos Address, User e Password.
O caminho do arquivo varia entre sistemas operacionais Windows de 64 bits e 32 bits. Para mais informações, consulte File paths.
-
Reinicie o Logtail.
Acesse .
-
Na caixa de diálogo Services, selecione o service que deseja gerencie.
Para Logtail V0.x.x.x, selecione LogtailWorker.
Para Logtail V1.0.0.0 ou posterior, selecione LogtailDaemon.
Clique com o botão direito no service e selecione Start, Stop ou Restart.
Solução de problemas
Se nenhum dado aparecer na página de visualização ou consulta após configure o Logtail para coletar logs, consulte Troubleshoot Logtail collection failures.
Tabela de banco de dados e logs de exemplo
Esta seção apresenta um esquema de exemplo para uma tabela de banco de dados SQL Server e logs de amostra coletados pelo Logtail.
-
Esquema de tabela de exemplo
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 -
Logs de exemplo
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