Este tópico explica como criar 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 Instalar o Logtail em um servidor Linux ou Instalar o Logtail em um servidor Windows.
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 configurar a lista de permissões de uma instância do ApsaraDB RDS for SQL Server, consulte Configurar uma lista de permissões de endereços IP.
Recursos
Coleta resultados de consultas de bancos de dados SQL Server.
Configure 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 detalhes, consulte Criar um grupo de máquinas baseado em identificador personalizado ou Criar um grupo de máquinas baseado em endereço IP.
ImportanteAo aplicar um grupo de máquinas logo após sua 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 O que fazer se nenhuma conexão de heartbeat for detectada no 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 para a 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 Plugins do Logtail para processamento de dados.
{ "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 acessar o 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 requisitos elevados de segurança, recomenda-se definir o nome de usuário e a senha como
xxx. Após a sincronização da configuração do Logtail para sua máquina local, localize a configuração correspondente no arquivo /usr/local/ilogtail/user_log_config.json e modifique-a. Para mais detalhes, consulte Modificar configurações locais.ImportanteAlterações neste parâmetro feitas pelo console sobrescreverão 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 definir CheckPoint como true, a cláusula
WHEREda instruçãoSELECTem StateMent deve conter a coluna indicada 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 definir 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
Número máximo de registros a serem sincronizados por vez.
Se não configurado, o valor padrão é 0, indicando ausência de limite.
CheckPoint
boolean
Não
Defina se um checkpoint 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 haver 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 dado 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
Determina 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 já vem ativada no Simple Log Service. Também é possível criar manualmente índices de campo para os logs coletados ou clicar em Automatic Index Generation para que o Simple Log Service gere os índices de campo automaticamente. Para mais informações, consulte Criar índices.
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 de análise.
-
Clique em Query Log para acessar 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 detalhes, consulte Guia de início rápido para consulta e análise de logs.
Modificar 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 Caminhos de arquivos.
-
Reinicie o Logtail.
Acesse .
-
Na caixa de diálogo Services, selecione o serviço que deseja gerenciar.
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 serviço e selecione Start, Stop ou Restart.
Solução de problemas
Se nenhum dado aparecer na página de visualização ou consulta após configurar o Logtail para coletar logs, consulte Solucionar falhas na coleta do Logtail.
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
