Crie uma configuração do Logtail no console do SLS para coletar dados Syslog de servidores Linux.
Como funciona

Em um servidor Linux, um agente Syslog como o rsyslog encaminha os dados Syslog locais para um endereço IP e porta especificados. O Logtail escuta nesse endereço e porta, recebe os dados via tcp ou udp e os analisa conforme o protocolo Syslog configurado para extrair campos como facility, tag (programa), severidade e conteúdo.
O Syslog suporta os protocolos definidos em RFC 3164 e RFC 5424.
Pré-requisitos
Você deve ter criado um projeto e um Logstore Standard. Para mais informações, consulte Manage projects e Create a basic Logstore.
Este recurso suporta apenas Linux e requer a versão mais recente do Logtail. Install Logtail on a Linux server.
Procedimento
Os passos a seguir usam uma instância ecs como exemplo.
Faça login no console do Simple Log Service.
Na seção Import Data, selecione Custom Data Plug-in.
Selecione o projeto e o Logstore e 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 os passos abaixo para criar um. Neste exemplo, usa-se uma instância Elastic Compute Service (ecs).
-
Na aba ECS Instance, selecione Manually Select Instances. Escolha a instância ecs desejada e clique em Create.
Para mais detalhes, consulte Install Logtail on ecs instances.
ImportanteSe o seu servidor for uma instância ecs pertencente a uma conta Alibaba Cloud diferente da usada pelo Simple Log Service, um servidor em data center local ou um servidor de outro provedor de cloud, instale o Logtail manualmente nesse servidor. Consulte Install Logtail on a Linux server ou Install Logtail on a Windows server para obter instruções. Após a instalação manual, configure um identificador de usuário para o servidor. Para mais informações, consulte Configure a user identifier.
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, defina o parâmetro Name e clique em Next.
O Simple Log Service permite criar grupos de máquinas baseados em endereços IP ou em identificadores personalizados. Para mais informações, consulte Create an IP address-based machine group e Create a custom identifier-based machine group.
-
-
Verifique 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 What do I do if no heartbeat connections are detected on Logtail?
-
Na aba Configure Data Source, defina o campo Configuration Name, copie e cole o script abaixo no campo Plug-in Configuration e clique em Next.
{ "inputs": [ { "type": "service_syslog", "detail": { "Address": "tcp://0.0.0.0:9000", "ParseProtocol": "rfc3164" } }, { "type": "service_syslog", "detail": { "Address": "udp://0.0.0.0:9001", "ParseProtocol": "rfc3164" } } ] }Parâmetros:
Parameter
Type
Required
Description
typestring
Yes
Tipo da fonte de dados. Defina como
service_syslog.Addressstring
No
Endpoint de escuta. Formato:
[tcp/udp]://[ip]:[port]. Padrão:tcp://127.0.0.1:9999(apenas servidor local).NotaO protocolo, o endereço e o número de porta definidos na configuração do Logtail devem corresponder à regra de encaminhamento no arquivo de configuração do rsyslog.
Se o servidor onde o Logtail está instalado tiver múltiplos endereços IP aptos a receber logs, defina o endereço como
0.0.0.0para escutar em todos os IPs do servidor.
ParseProtocolstring
No
Protocolo de análise. Padrão: vazio (sem análise). Valores válidos:
Vazio: Os logs não são analisados.
rfc3164: Analisa os logs usando o protocolo RFC 3164.
rfc5424: Analisa os logs usando o protocolo RFC 5424.
auto: Seleciona automaticamente um protocolo adequado com base no conteúdo do log.
IgnoreParseFailureboolean
No
Ação em caso de falha na análise. Padrão:
true(ignora a análise e grava o log bruto no campocontent). Defina comofalsepara descartar logs que não possam ser analisados.AutoConfigRsyslogboolean
No
Define se o encaminhamento do rsyslog deve ser configurado automaticamente. Padrão:
false. Quando definido comotrue, oLoongCollectorcria automaticamente um arquivo de configuração de encaminhamento em/etc/rsyslog.d/e reinicia o rsyslogd. RequerLoongCollector3.3.9 ou superior. Se oLoongCollectorfor executado como um usuário não root, este recurso será ignorado automaticamente e um log de aviso será gerado. A coleta normal de logs não é afetada.RsyslogFiltersstring[]
No
Especifica regras de encaminhamento do rsyslog para filtrar quais níveis de facility e severidade dos logs devem ser coletados. Usa a sintaxe padrão de filtros do rsyslog (
facility.severity). Padrão:.(todos os logs). Exemplo:["auth.warning","authpriv.warning","kern.err","daemon.info"]. Só entra em vigor quandoAutoConfigRsyslogestiver definido comotrue.ImportantePermissões de root necessárias — A escrita em
/etc/rsyslog.d/e o reinício do rsyslogd exigem permissões de root. Caso oLoongCollectorseja executado como usuário não root, essa funcionalidade será ignorada automaticamente e um log de alerta será emitido. A coleta normal de logs permanece inalterada.Desativado por padrão — O parâmetro
AutoConfigRsyslogtem como padrãofalsee não altera o comportamento existente. O recurso só é ativado quando explicitamente definido comotrue.Atualizações de configuração — Sempre que
AddressouRsyslogFiltersforem alterados, oLoongCollectoratualiza automaticamente a configuração de encaminhamento do rsyslog e o reinicia. Se as configurações nova e existente forem idênticas, o reinício será ignorado para evitar interrupções desnecessárias no service.Relação com configuração manual — Caso você já tenha configurado manualmente o encaminhamento do rsyslog, remova essa configuração antes de ativar o
AutoConfigRsyslogpara evitar duplicidade no encaminhamento de logs.Múltiplas configurações de coleta — Várias configurações de coleta
service_syslogpodem ter oAutoConfigRsysloghabilitado simultaneamente. Cada configuração gera um arquivo separado de encaminhamento do rsyslog (o nome do arquivo contém oconfigName). Esses arquivos não entram em conflito entre si.Suporte exclusivo ao rsyslogd — A configuração e o reinício automáticos são suportados apenas para o rsyslogd. Outros daemons de encaminhamento syslog, como o syslog-ng, não são compatíveis.
Detalhes da configuração de encaminhamento
Os arquivos de configuração de encaminhamento do rsyslog gerados automaticamente seguem esta convenção de nomenclatura:
10-loongcollector-{configName}.confPrefixo 10- — Controla a ordem de carregamento dos arquivos do rsyslog. Os arquivos em
/etc/rsyslog.d/são carregados em ordem alfabética. O prefixo10-garante que as regras de encaminhamento sejam carregadas antes das regras padrão do sistema (geralmente50-default.conf), assegurando que os logs sejam encaminhados antes da aplicação das regras locais. As regras de encaminhamento não bloqueiam as regras subsequentes (como gravações em arquivos locais).{configName} — Corresponde ao nome da configuração de coleta do
LoongCollector. Múltiplas configurações de coleta podem habilitar o encaminhamento automático simultaneamente sem conflitos.Permissões de arquivo —
0644(proprietário: root, leitura permitida para outros usuários), consistente com os arquivos existentes em/etc/rsyslog.d/.
Cenários de reinício do rsyslog
A tabela a seguir indica se o rsyslogd é reiniciado em cada cenário quando o
AutoConfigRsyslogestá habilitado.Scenario
rsyslog restarted
Entrega inicial da configuração de coleta
Sim
Alteração de configuração com diferenças (protocolo Address, IP ou porta alterados; ou
RsyslogFiltersalterado)Sim
Alteração de configuração sem diferenças (conteúdo inalterado)
Não
Configuração de coleta removida
Sim
Encerramento do
LoongCollectorNão (a configuração de encaminhamento é mantida; o rsyslog usa sua fila para armazenar logs em buffer e o encaminhamento é retomado automaticamente após o reinício do
LoongCollector) Na aba Query and Analysis Configurations, clique em Automatic Index Generation. Nenhum dado é coletado neste momento. Clique em Next para finalizar a configuração do Logtail.
-
Faça login na instância ecs que gera o Syslog e configure o encaminhamento do rsyslog.
-
No servidor onde o Syslog é gerado, modifique o arquivo de configuração do rsyslog localizado em
/etc/rsyslog.confe adicione uma regra de encaminhamento ao final do arquivo.Após adicionar a regra, o rsyslog encaminhará o Syslog para o endereço e porta especificados.
Para coletar Syslog do mesmo servidor que executa o Logtail, defina o endereço de encaminhamento como 127.0.0.1 e use a mesma porta especificada na configuração do Logtail.
Para coletar Syslog de um servidor remoto, defina o endereço de encaminhamento como o IP público do servidor que executa o Logtail e use a mesma porta especificada na configuração do Logtail.
Por exemplo, a regra a seguir encaminha todos os logs para
127.0.0.1:9000via tcp. A sintaxe completa está disponível na documentação do RSyslog.*.* @@127.0.0.1:9000 -
Execute o comando abaixo para reiniciar o rsyslog e aplicar a regra de encaminhamento.
sudo service rsyslog restart
-
Visualize os dados Syslog coletados no Logstore de destino. Quick start for query and analysis.
Campos de log
|
Field |
Description |
|
|
Assume o hostname do host atual como padrão, caso não seja fornecido no log. |
|
|
Campo tag do protocolo Syslog. |
|
|
Campo priority do protocolo Syslog. |
|
|
Campo facility do protocolo Syslog. |
|
|
Campo severity do protocolo Syslog. |
|
|
Timestamp do log. |
|
|
Conteúdo do log. Se a análise falhar, este campo conterá todo o conteúdo do log bruto. |
|
|
Endereço IP do host atual. |
|
|
Endereço IP do cliente que enviou o log. |
Mais exemplos
Logs do Nginx
O Nginx oferece suporte nativo ao encaminhamento de logs de acesso via protocolo Syslog. Para centralizar a coleta de todos os dados do servidor, incluindo logs de acesso do Nginx, no SLS via Syslog, crie uma configuração do Logtail.
-
Crie uma configuração do Logtail conforme descrito em Collect Linux Syslog.
O código a seguir apresenta um exemplo de script de Plug-in Configuration.
{ "inputs": [ { "type": "service_syslog", "detail": { "Address": "udp://127.0.0.1:9001", "ParseProtocol": "rfc3164" } } ] } -
Adicione uma regra de encaminhamento para o Nginx.
-
Inclua uma regra de encaminhamento no nginx.conf. A documentação oficial do Nginx detalha a estrutura de configuração.
Exemplo:
server { ... # Add this line. access_log syslog:server=127.0.0.1:9001,facility=local7,tag=nginx,severity=info combined; ... } -
Execute o comando abaixo para reiniciar o serviço Nginx e aplicar a configuração.
sudo service nginx restart
-
Logs de firewall
Firewalls geralmente suportam o encaminhamento de logs via protocolo Syslog. Para centralizar a coleta de logs de firewall no SLS (por exemplo, para construir um SIEM), crie uma configuração do Logtail.
-
Crie uma configuração do Logtail conforme descrito em Collect Linux Syslog.
O código a seguir apresenta um exemplo de script de Plug-in Configuration.
{ "inputs": [ { "type": "service_syslog", "detail": { "Address": "udp://0.0.0.0:9001", "ParseProtocol": "rfc3164" } } ] } Adicione uma regra de encaminhamento seguindo a documentação do seu firewall. Neste exemplo, o IP do servidor Logtail é 10.20.30.40.

Solução de problemas
Se nenhum dado aparecer após configurar o Logtail, execute o comando logger para enviar dados de teste à instância local do Logtail. Isso ajuda a isolar se o problema está na source de dados, na rede ou no próprio Logtail.
Caso a instância local do Logtail receba os dados, o problema provavelmente reside na source de dados ou na rede.
logger -n localhost -P 9000 -T "This is a TCP syslog message"
logger -n localhost -P 9001 -d "This is a UDP syslog message"
Coletar logs de auditoria do auditd
O auditd é o processo daemon do sistema de auditoria do Linux. Por padrão, ele grava logs de auditoria em /var/log/audit/audit.log. Use o recurso de coleta de logs de texto do Logtail para enviar esses logs de auditoria ao Simple Log Service (SLS).
Pré-requisitos
Instale o auditd. No Ubuntu, execute
apt-get install auditd. No CentOS, executeyum install audit.Crie um projeto e um LogStore.
Instale o Logtail e crie um grupo de máquinas.
Procedimento
No console do SLS, acesse o LogStore de destino e crie uma configuração do Logtail.
Selecione o modo de coleta de logs de texto.
Defina o caminho do log como
/var/log/audit/audit.log.Escolha o modo regex completo e defina a expressão regular como
(.*)para coletar cada linha do log como o campocontent.
Formato de log do auditd
Cada linha de um log do auditd começa com type= (por exemplo, type=SYSCALL ou type=USER_ACCT) e contém msg=audit(timestamp:serial number), além de campos como pid, uid, auid e ses.
Referências
Upload logs using the Syslog protocol descreve como usar o Syslog-ng para enviar logs via conexões criptografadas com tls no formato RFC 5424. O rsyslog e o Syslog-ng não podem ser executados simultaneamente. Caso pretenda usar o Syslog-ng, desinstale o rsyslog primeiro.