Crie uma configuração de coleta do Logtail no console do Simple Log Service (SLS) para coletar logs de execução de scripts.
Pré-requisitos
O Logtail 1.7.1 ou posterior deve estar instalado no seu servidor Linux. Para mais informações, consulte Instalar o Logtail em um servidor Linux.
Observações de uso
O Logtail executa um script configurado como um usuário especificado para obter logs de execução de scripts.
Os seguintes tipos de script são compatíveis: bash, shell, python2 e python3.
Especifique um usuário para executar o script e restringir os recursos que o script pode acessar.
Se a execução do script atingir o tempo limite, o sistema interrompe o script automaticamente. O Logtail não coleta os logs dessa execução.
Procedimento
Faça login no console do Simple Log Service.
Na seção Import Data, selecione Custom Data Plug-in.
Selecione o Project e o Logstore de destino e clique em Next.
Crie um grupo de máquinas.
Para usar um grupo de máquinas existente, clique em Use Existing Machine Groups.
Para criar um grupo de máquinas, execute as etapas a seguir. Este exemplo usa uma instância ECS.
Na aba ECS Instance, selecione sua instância e clique em Create.
Para mais informações, consulte Instalar o Logtail em instâncias ECS.
nullSe o seu servidor for uma instância ECS pertencente a outra conta do Alibaba Cloud, um servidor de outro provedor de nuvem ou um servidor autogerenciado em um data center, instale o Logtail manualmente. Para mais informações, consulte Instalar o Logtail em um servidor Linux ou Instalar o Logtail em um servidor Windows. Após instalar o Logtail manualmente, configure um identificador de usuário no servidor. Para mais informações, consulte Configurar um identificador de usuário.
Após a conclusão da instalação, clique em Complete Installation.
Na página Create Machine Group, insira um Name e clique em Next.
O SLS oferece suporte a grupos de máquinas baseados em IP e grupos de máquinas baseados em identificadores personalizados. Para mais informações sobre os parâmetros, consulte Criar um grupo de máquinas baseado em IP e Criar um grupo de máquinas baseado em identificador personalizado.
Selecione e mova o grupo de máquinas de destino dos grupos de máquinas de origem para os grupos de máquinas aplicados e clique em Next.
nullSe você aplicar um grupo de máquinas imediatamente após criá-lo, o status de heartbeat pode ser FAIL porque a conexão ainda não foi estabelecida. Clique em Automatic Retry. Se o problema persistir, consulte Solucionar problemas de grupo de máquinas do Logtail em um ambiente de host.
Na aba Configure Data Source, defina os parâmetros Configuration Name e Plug-in Configuration e clique em Next.
inputsespecifica a configuração de coleta do Logtail. Obrigatório. Configure com base na sua origem de dados.nullCada bloco
inputsaceita apenas um tipo de origem de dados.processorsespecifica a configuração de processamento do Logtail. Opcional. Configure um ou mais métodos de processamento conforme necessário.Se a configuração
inputsatual não atender aos seus requisitos de análise de logs, adicione uma configuração de processors na seção Plug-in Config para processar os dados. Por exemplo, extraia campos, analise o horário do log, mascare dados ou filtre logs. Para mais informações, consulte Usar plug-ins de processamento nativos e de extensão.
{ "inputs":[ { "type":"input_command", "detail":{ "ScriptType":"python2", "User":"test", "ScriptContent":"print(\"test input_command 0\")\nprint(\"test input_command 1\")\nprint(\"test input_command 2\")\nprint(\"test input_command 3\")\nprint(\"test input_command 4\")\nprint(\"test input_command 5\")\nprint(\"test input_command 6\")\nprint(\"test input_command 7\")\nprint(\"test input_command 8\")\nprint(\"test input_command 9\")\n", "ContentEncoding":"PlainText", "CmdPath":"/usr/bin/python", "TimeoutMilliSeconds":1000, "IgnoreError":false, "Environments":[ "DEBUG=true" ], "IntervalMs":5000 } } ] }Parâmetro
Tipo
Obrigatório
Descrição
type
string
Sim
O tipo de origem de dados. Defina como
input_command.ScriptType
string
Sim
O tipo de script. Tipos compatíveis: bash, shell, python2 e python3.
User
string
Sim
O nome de usuário utilizado para executar o comando. Apenas usuários não root são aceitos.
nullVerifique se o nome de usuário especificado existe na máquina.
Siga o princípio de menor privilégio. Por exemplo, conceda apenas permissões rwx nos diretórios ou arquivos necessários.
ScriptContent
string
Sim
O conteúdo do script. O conteúdo pode ser texto simples ou codificado em Base64. Comprimento máximo: 512 × 1024 bytes.
ContentEncoding
string
Não
O formato de codificação do conteúdo do script. Valores válidos:
PlainText (padrão): o conteúdo não é codificado.
Base64: o conteúdo é codificado em Base64.
LineSplitSep
string
Não
O separador da saída do script. Se vazio, a saída não é dividida e retorna como uma única entrada de log.
CmdPath
string
Não
O caminho do interpretador de script. Se vazio, o caminho padrão é utilizado:
bash: /usr/bin/bash
shell: /usr/bin/sh
python2: /usr/bin/python2
python3: /usr/bin/python3
TimeoutMilliSeconds
string
Não
O tempo limite de execução do script. Unidade: milissegundos. Valor padrão: 3000.
IgnoreError
Bool
Não
Especifica se o sistema deve suprimir logs de erro quando o plug-in falha. Padrão: false (o sistema registra os erros).
Environments
[]string
Não
As variáveis de ambiente. Padrão: os.Environ(). As variáveis especificadas são adicionadas ao os.Environ().
IntervalMs
int
Sim
O intervalo de coleta ou de execução do script. Unidade: milissegundos. Valor padrão: 5000.
Visualize os dados, crie um índice e clique em Next.
Por padrão, o SLS ativa a indexação de texto completo. Crie índices de campo manualmente com base nos logs coletados ou clique em Automatic Index Generation para que o SLS os crie automaticamente. Para mais informações, consulte Criar índices.
nullPara consultar e analisar logs, ative a indexação de texto completo ou a indexação de campos. Se ambas estiverem ativadas, os índices de campo terão prioridade.
Clique em Log Query para abrir a página de consulta e análise do Logstore.
Aguarde aproximadamente um minuto para que o índice entre em vigor. Em seguida, visualize os logs coletados na aba Raw Logs. Para mais informações, consulte Início rápido de consulta e análise.
Exemplo
Use um script python2 para recuperar a hora do sistema.
Configuração de coleta do Logtail
{ "inputs":[ { "type":"input_command", "detail":{ "ScriptType":"python2", "User":"test", "ScriptContent":"print(\"test input_command 0\")\nprint(\"test input_command 1\")\nprint(\"test input_command 2\")\nprint(\"test input_command 3\")\nprint(\"test input_command 4\")\nprint(\"test input_command 5\")\nprint(\"test input_command 6\")\nprint(\"test input_command 7\")\nprint(\"test input_command 8\")\nprint(\"test input_command 9\")\n", "ContentEncoding":"PlainText", "CmdPath":"/usr/bin/python", "TimeoutMilliSeconds":1000, "IgnoreError":false, "Environments":[ "DEBUG=true" ], "IntervalMs":5000 } } ] }Log coletado
content:"Mon Aug 7 02:17:52 UTC 2023" script_md5:"a9564ebc3289b7a14551baf8ad5ec60a" __pack_meta__:"1|MTY4OTI1MzExNTU2NTE2MzQ1NA==|2|1" __topic__:"" __source__:"172.17.0.2" __tag__:__pack_id__:"D7B7F988051A3019-0" __tag__:__hostname__:"bc6c7472f257" __tag__:__client_ip__:"8.218.101.91" __tag__:__receive_time__:"1691374673" __time__:"1691374672"Descrições dos campos
Campo
Descrição
content
O log de execução de script coletado.
script_md5
O hash MD5 do conteúdo do script.
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 de coleta do Logtail.