Todos os produtos
Search
Central de documentação

Simple Log Service:Upload de logs com o protocolo Syslog

Última atualização: Aug 26, 2026

Este tópico descreve as etapas necessárias.

Limites

  • O protocolo Syslog deve seguir o padrão RFC 5424. Se você utilizar outros protocolos Syslog, consulte Collect Syslog from Linux systems.

  • O tamanho máximo de uma entrada de log é 64 KB.

  • Para garantir a segurança na transmissão de dados, use TCP com Transport Layer Security (TLS) 1.2.

Configuração

Importante

A maioria dos dispositivos on-premises, como VPNs e roteadores, não oferece suporte ao protocolo TLS ou ao formato RFC 5424. Para coletar dados desses dispositivos, use o plug-in Syslog do Logtail. Para mais informações, consulte Collect Syslog from Linux systems.

Para fazer upload de logs via protocolo Syslog, configure um endereço de upload no formato ProjectName.Endpoint:SyslogPort. Exemplo: test-project-1.cn-hangzhou-intranet.log.aliyuncs.com:10009. Selecione o endpoint correspondente à região do projeto. Para mais detalhes, consulte Endpoints. A porta Syslog é 10009. Configure também os parâmetros no campo STRUCTURED-DATA, incluindo o projeto e o LogStore do Simple Log Service, além do par de AccessKey da sua conta Alibaba Cloud.

Parâmetro

Descrição

Exemplo

STRUCTURED-DATA

O SD-ID é fixo como logservice e não pode ser alterado. Não utilize sls, sls@17055 ou qualquer outro identificador como SD-ID. Logs enviados com um SD-ID incorreto ainda estabelecem conexão TCP+TLS, mas o Simple Log Service os descarta silenciosamente, impedindo que cheguem ao LogStore. Utilize o seguinte formato completo: [logservice project="<ProjectName>" logstore="<LogStoreName>" access-key-id="<yourAccessKeyID>" access-key-secret="<AccessKey Secret>"]

[logservice project="test-project-1" logstore="test-logstore-1" access-key-id="<yourAccessKeyID>" access-key-secret="<AccessKey Secret>"]

project

Nome do projeto no Simple Log Service. Crie o projeto antecipadamente. Para mais informações, consulte Gerencie Projects.

test-project-1

logstore

Nome do LogStore. Crie o LogStore antecipadamente. Para mais informações, consulte Crie a LogStore.

test-LogStore-1

access-key-id

AccessKey ID. Use o par de AccessKey de um usuário RAM. Para mais informações, consulte Authorization.

LTAI

access-key-secret

AccessKey Secret. Use o par de AccessKey de um usuário RAM. Para mais informações, consulte Authorization.

yourAccessKeySecret

Exemplo: Coleta de logs com syslog-ng

O syslog-ng é uma implementação open-source do protocolo Syslog para sistemas UNIX e similares. Execute o comando sudo yum install syslog-ng ou sudo apt-get install syslog-ng para instalar o syslog-ng.

Nota

O Rsyslog vem instalado por padrão em servidores Linux. Como o Rsyslog e o syslog-ng não podem rodar simultaneamente, desinstale o Rsyslog antes de usar o syslog-ng.

  1. Abra o arquivo de configuração do syslog-ng.

    Geralmente, o arquivo de configuração está em /etc/syslog-ng/syslog-ng.conf.

  2. Adicione o bloco de configuração abaixo ao final do arquivo do syslog-ng e ajuste os parâmetros conforme suas necessidades.

    ### Syslog-ng Logging Config for LogService ### 
    template LogServiceFormat { 
        template("<${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [logservice project=\"test-project-1\" logstore=\"test-logstore-1\" access-key-id=\"<yourAccessKeyId>\" access-key-secret=\"<yourAccessKeySecret>\"] $MSG\n"); template_escape(no); 
    }; 
    destination d_logservice{ 
         tcp("test-project-1.cn-hangzhou.log.aliyuncs.com" port(10009) 
         tls(peer-verify(required-untrusted)) 
         template(LogServiceFormat)); 
    }; 
    log { 
         source(s_sys); # default use s_sys 
         destination(d_logservice); 
    }; 
    ### END Syslog-ng Logging Config for LogService ###
  3. Reinicie o syslog-ng.

    Execute o comando sudo /etc/init.d/syslog-ng restart, sudo service syslog-ng restart ou sudo systemctl restart syslog-ng para reiniciar o serviço.

  4. Execute o comando logger para gerar um log de teste.

    Exemplo: Execute logger hello world! para criar uma entrada de log.

Exemplo de log

Após o upload dos logs, configure os índices para visualizá-los no console do Simple Log Service. Para mais informações, consulte Crie an index.

Para detalhes sobre os campos de log, consulte RFC 5424.

Importante

Para evitar vazamentos do par de AccessKey, o Simple Log Service remove o campo logservice por padrão.

03-28 11:01:01      __source__: xxx
                    __topic__: syslog-forwarder
                    _facility_: 3
                    _hostname_: xxx
                    _priority_: 30
                    _program_: systemd
                    _severity_: 6
                    _unixtimestamp_: 1553742061117098000
                    content: Started Session 59532 of user root.
03-28 11:00:15      __source__: mymachine.example.com
                    __topic__: syslog-forwarder
                    _facility_: 4
                    _hostname_: mymachine.example.com
                    _message_id_: ID47
                    _priority_: 34
                    _program_: su
                    _severity_: 2
                    _unixtimestamp_: 1553742015003000000
                    content: this is a test message

Campo

Descrição

__source__

Valor do campo hostname no log original.

__topic__

Valor fixo definido como syslog-forwarder.

__facility__

Informações de facility que indicam o dispositivo ou módulo gerador do log.

__program__

Nome do processo.

__severity__

Severidade do log.

__priority__

Prioridade do log.

__unixtimestamp__

Timestamp extraído do log original, em nanossegundos.

content

Valor do campo msg no log original.

Perguntas frequentes

  • Testar uploads de log

    Use o Netcat para testar o upload de logs, verificar a conectividade de rede e confirmar se o AccessKey possui permissões de upload.

    1. Faça login no servidor onde deseja testar o upload de logs.

    2. Instale o Netcat executando o comando abaixo:

      sudo yum install nmap-ncat
    3. Conecte-se ao Simple Log Service com o seguinte comando:

      ncat --ssl <yourProject>.<yourEndpoint> 10009

      Exemplo de comando:

      ncat --ssl test-project-1.cn-hangzhou.log.aliyuncs.com 10009
    4. O Netcat não detecta desconexões automaticamente. Dentro de 30 segundos após executar o comando ncat, digite a mensagem de log e pressione Enter.

      <34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="<yourProject>" logstore="<yourLogstore>" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test message

      Exemplo de comando:

      <34>1 2019-03-28T03:00:15.003Z mymachine.example.com su - ID47 [logservice project="trace-doc-test" logstore="doc-test-001-logs" access-key-id="<yourAccessKeyID>" access-key-secret="<yourAccessKeySecret>"] this is a test message
    5. Visualize os logs no console do Simple Log Service para confirmar o upload.

      Para mais informações, consulte Visualize logs.

      Uma entrada de log com timestamp 2019-03-28 11:00:15 e origem mymachine.example.com aparecerá nos resultados da pré-visualização. Os campos Syslog na coluna content, incluindo _hostname_, _severity_, _facility_, _message_id_, _unixtimestamp_, _program_ e _priority_, serão analisados corretamente. Isso indica que o upload e a análise do log foram bem-sucedidos.

  • Verificar conectividade de rede

    Se o comando ncat da etapa anterior não gerar saída (o processo ncat encerra imediatamente sem mensagens de erro), use primeiro o telnet para verificar se a porta 10009 está acessível antes de assumir problemas de rede.

    1. Execute o comando abaixo para testar a conectividade da porta:

      telnet <yourProject>.<yourEndpoint> 10009

      Exemplo de comando:

      telnet test-project-1.cn-hangzhou.log.aliyuncs.com 10009
    2. Se a saída incluir Connected to..., a rede estará acessível. Nesse cenário, o problema provavelmente reside em configurações incorretas de AccessKey ou Project. Prossiga com o teste usando ncat descrito em Testar uploads de log ou consulte Solucionar falhas no upload via syslog nesta seção.

    3. Se a conexão expirar ou for recusada, a rede não estará acessível. Verifique as configurações de grupo de segurança, firewall ou rotas de rede.

    Nota

    O Simple Log Service utiliza uma camada de acesso compartilhada. Mesmo com um nome de Project incorreto, o telnet pode retornar Connected. O telnet valida apenas a conectividade na camada de rede. Se a rede estiver acessível, mas o upload de logs ainda falhar, verifique seu AccessKey e o nome do Project.

  • Diagnosticar erros de coleta

    Ao coletar dados Syslog pelo plug-in Syslog do Logtail, caso um upload manual falhe, visualize mensagens de erro específicas diagnosticando falhas de coleta. Para mais informações, consulte How to visualize Logtail collection error information. Essa funcionalidade de diagnóstico aplica-se exclusivamente a cenários de coleta via Logtail. Quando você faz upload direto de logs usando o protocolo Syslog conforme descrito neste tópico, os dados não passam pelo Logtail, tornando este recurso inaplicável. Consulte Solucionar falhas no upload via syslog nesta seção.

  • Solucionar falhas no upload via syslog

    Se os logs enviados pelo protocolo Syslog não chegarem ao LogStore, verifique os itens abaixo na ordem apresentada:

    1. Confirme se o SD-ID no STRUCTURED-DATA está definido como logservice. Qualquer outro identificador, como sls ou sls@17055, permite que a conexão seja estabelecida, mas o log é descartado silenciosamente.

    2. Verifique se a transmissão ocorre via TCP utilizando TLS 1.2.

    3. Certifique-se de que o par de AccessKey possui permissões de escrita no LogStore de destino.

    4. Execute ncat --ssl <ProjectName>.<Endpoint> 10009 para validar a acessibilidade da porta.

    5. Acesse a página de consulta do LogStore no console do Simple Log Service e pesquise pelo log para confirmar sua chegada.