O Logtail envia solicitações HTTP para URLs especificadas em intervalos regulares, conforme a configuração do Logtail. Em seguida, o Logtail carrega os corpos das respostas como fontes de dados no Simple Log Service. Este tópico descreve como criar uma configuração do Logtail no console do Simple Log Service e usá-la para coletar dados HTTP.
Pré-requisitos
Instale o Logtail no servidor. Para mais informações, consulte Instalar o Logtail em um servidor Linux ou Instalar o Logtail em um servidor Windows.
Servidores Linux exigem o Logtail V0.16.0 ou posterior. Servidores Windows exigem o Logtail V1.0.0.8 ou posterior.
Implementação
O Logtail envia solicitações HTTP para as URLs definidas com base nos endereços, métodos, cabeçalhos e corpos especificados na configuração do Logtail. Posteriormente, o Logtail carrega os códigos de status da resposta, os corpos da resposta e o tempo de resposta como fontes de dados no Simple Log Service.

Recursos
Especifique múltiplas URLs.
Defina métodos de solicitação HTTP.
Configure o intervalo de envio das solicitações.
Use cabeçalhos de solicitação personalizados.
Utilize HTTPS.
Verifique se o corpo de uma resposta corresponde a um padrão fixo.
Cenários
-
Monitore o status de serviços por meio de operações de API HTTP. Por exemplo, monitore os seguintes tipos de serviços:
NGINX
Docker com suporte a monitoramento via operações de API HTTP
Elasticsearch
HAProxy
Outros serviços compatíveis com monitoramento por operações de API HTTP
-
Monitore a disponibilidade de serviços.
O Logtail monitora a disponibilidade de um serviço ao enviar solicitações em intervalos regulares e verificar os códigos de status da resposta e a latência da solicitação.
Colete dados periodicamente, como comentários do Weibo e número de seguidores.
Limites
A URL deve começar com
httpouhttps.Certificados personalizados não são suportados.
Comunicações interativas não são suportadas.
Procedimento
O procedimento a seguir mostra como coletar dados HTTP do módulo de status do NGINX. As solicitações são enviadas para a URL http://127.0.0.1/ngx_status em intervalos de 1.000 milissegundos. Uma expressão regular extrai as informações de status do corpo da resposta.
Faça login no console do Simple Log Service.
No lado direito da página, clique em Import Data e selecione Custom Data Plug-in.
Selecione o projeto e o Logstore. Em seguida, clique em Next.
-
Crie um grupo de máquinas.
Se já existir um grupo de máquinas disponível, clique em Use Existing Machine Groups.
-
Caso não haja grupos de máquinas disponíveis, siga as etapas abaixo para criar um. Neste exemplo, usa-se uma instância do Elastic Compute Service (ECS).
-
Na aba ECS Instance, selecione Manually Select Instances. Depois, escolha a instância ECS desejada e clique em Create.
Para mais informações, consulte Instalar o Logtail em instâncias ECS.
ImportanteSe o servidor for uma instância ECS pertencente a uma conta Alibaba Cloud diferente daquela do Simple Log Service, um servidor em data center local ou um servidor de outro provedor de nuvem, instale o Logtail manualmente. Para mais detalhes, consulte Instalar o Logtail em um servidor Linux ou Instalar o Logtail em um servidor Windows. Após a instalação manual, configure um identificador de usuário para o servidor. Consulte Configurar um identificador de usuário para obter instruções.
Após confirmar as configurações, clique em OK.
Quando a instalação do Logtail for concluída, clique em Complete Installation.
-
Na etapa Create Machine Group, configure o parâmetro Name e clique em Next.
O Simple Log Service permite criar grupos de máquinas baseados em endereço IP e grupos baseados em identificadores personalizados. Para saber mais, consulte Criar um grupo de máquinas baseado em endereço IP e Criar um grupo de máquinas baseado em identificador personalizado.
-
-
Confirme se o grupo de máquinas aparece na seção Applied Server Groups e clique em Next.
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. Se o problema persistir, consulte O que fazer se nenhuma conexão de heartbeat for detectada no Logtail?
-
Na etapa Specify Data Source, configure Config Name e Plug-in Config. Depois, clique em Next.
Coleta via plug-in do Logtail
-
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 serve para configurar o processamento de dados na configuração do Logtail, permitindo a análise dos logs. Defina um ou mais métodos de processamento.
Caso seus logs não possam ser analisados apenas com a configuração de inputs, configure processors no campo Plug-in Configuration para adicionar plug-ins de processamento de dados. Exemplos incluem extração de campos, obtenção do horário do log, mascaramento de dados e filtragem de logs. Para mais detalhes, consulte Usar plug-ins do Logtail para processar dados.
{ "inputs": [ { "type": "metric_http", "detail": { "IntervalMs": 1000, "Addresses": [ "http://127.0.0.1/ngx_status" ], "Headers": {"key":"value"}, "IncludeBody": true } } ], "processors" : [ { "type": "processor_regex", "detail" : { "SourceKey": "content", "Regex": "Active connections: (\\d+)\\s+server accepts handled requests\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+Reading: (\\d+) Writing: (\\d+) Waiting: (\\d+).*", "Keys": [ "connection", "accepts", "handled", "requests", "reading", "writing", "waiting" ], "FullMatch": true, "NoKeyError": true, "NoMatchError": true, "KeepSource": false } } ] }Parâmetro
Tipo
Obrigatório
Descrição
type
string
Sim
Tipo da fonte de dados. Defina o valor como metric_http.
Addresses
string array
Sim
URLs de destino.
ImportanteA URL deve começar com
httpouhttps.IntervalMs
int
Sim
Intervalo entre duas solicitações consecutivas. Unidade: milissegundos.
Method
string
Não
Método da solicitação. Valor padrão:
GET. O valor deve conter apenas letras maiúsculas.Body
string
Não
Corpo da solicitação HTTP. Este parâmetro está vazio por padrão.
Headers
key: string, value: string map
Não
Cabeçalhos da solicitação HTTP. Este parâmetro está vazio por padrão. Exemplo:
{"key":"value"}. Configure este parâmetro conforme o seu cenário de negócio.PerAddressSleepMs
int
Não
Intervalo de envio de solicitações para as URLs definidas no parâmetro Addresses. Unidade: milissegundos. Valor padrão: 100.
ResponseTimeoutMs
int
Não
Tempo limite de espera pela resposta da solicitação. Unidade: milissegundos. Valor padrão: 5000.
IncludeBody
boolean
Não
Define se o corpo da solicitação deve ser coletado. Valor padrão: false. Se definido como true, o corpo da solicitação será armazenado no campo chamado content.
FollowRedirects
boolean
Não
Indica se redirecionamentos de URL devem ser processados automaticamente. Valor padrão: false.
InsecureSkipVerify
boolean
Não
Determina se a verificação de segurança HTTPS deve ser ignorada. Valor padrão: false.
ResponseStringMatch
string
Não
Define se o corpo da resposta deve ser comparado com uma expressão regular. O resultado da comparação é armazenado no campo _response_match_. Se houver correspondência, o valor do campo será yes; caso contrário, será no.
-
-
Visualize os dados, configure os índices e clique em Next.
Por padrão, a indexação de texto completo está ativada no Simple Log Service. Também é possível configurar índices de campo com base nos logs coletados, manual ou automaticamente. Para gerar índices de campo automaticamente, clique em Automatic Index Generation. Assim, o Simple Log Service cria os índices de campo de forma automática. Para mais informações, consulte Criar índices.
ImportantePara consultar e analisar logs, ative a indexação de texto completo ou a indexação de campo. Se ambas estiverem ativadas, o sistema utilizará apenas os índices de campo.
Solução de problemas
Se nenhum dado aparecer na página de visualização ou consulta após configurar a coleta de logs com o Logtail, consulte Solucionar falhas na coleta do Logtail.
Resultado
Após a coleta, visualize os dados no console do Simple Log Service. Para cada solicitação, veja os dados analisados pela expressão regular especificada, além do método de solicitação HTTP, URL solicitada, tempo de resposta, código de status e resultado da solicitação.
"Index" : "7"
"connection" : "1"
"accepts" : "6079"
"handled" : "6079"
"requests" : "11596"
"reading" : "0"
"writing" : "1"
"waiting" : "0"
"_method_" : "GET"
"_address_" : "http://127.0.0.1/ngx_status"
"_response_time_ms_" : "1.320"
"_http_response_code_" : "200"
"_result_" : "success"
Por padrão, os seguintes campos são carregados para cada solicitação.
|
Campo |
Descrição |
|
_address_ |
URL da solicitação. |
|
_method_ |
Método da solicitação HTTP. |
|
_response_time_ms_ |
Latência da resposta. Unidade: milissegundos. |
|
_http_response_code_ |
Código de status HTTP. |
|
_result_ |
Resultado da solicitação. Valores válidos: success, invalid_body, match_regex_invalid, mismatch e timeout. |
|
_response_match_ |
Indica se o corpo da resposta corresponde ao valor do campo ResponseStringMatch. Se o campo |