View a markdown version of this page

Configurando dispositivos syslog - CloudWatch Registros da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurando dispositivos syslog

Depois de configurar a ingestão de syslog, configure suas fontes de syslog para enviar mensagens para o nome DNS do VPC endpoint. Seus dispositivos alcançam o endpoint por meio de sua conexão VPN ou Direct Connect à VPC.

nota

As configurações a seguir são fornecidas como exemplos. Para obter as opções completas de configuração e as melhores práticas, consulte a documentação oficial da implementação do syslog (rsyslog, syslog-ng ou o fornecedor do seu dispositivo).

Nos exemplos a seguir, VPCE_DNS substitua pelo nome DNS do VPC endpoint do procedimento de configuração (por exemplo,). vpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com

rsyslog

rsyslog é o daemon syslog padrão na maioria das distribuições Linux. Adicione a seguinte configuração ao/etc/rsyslog.d/50-cwl-syslog.conf.

TCP+TLS:

# Forward all logs to CloudWatch Logs via TCP+TLS action(type="omfwd" target="VPCE_DNS" port="6514" protocol="tcp" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/certvalid" template="RSYSLOG_SyslogProtocol23Format" queue.type="LinkedList" queue.filename="cwl_fwd" queue.saveOnShutdown="on" action.resumeRetryCount="-1")

Texto sem formatação TCP:

# Forward all logs to CloudWatch Logs via plaintext TCP action(type="omfwd" target="VPCE_DNS" port="1514" protocol="tcp" template="RSYSLOG_SyslogProtocol23Format" queue.type="LinkedList" queue.filename="cwl_fwd" queue.saveOnShutdown="on" action.resumeRetryCount="-1")

UDP:

# Forward all logs to CloudWatch Logs via UDP action(type="omfwd" target="VPCE_DNS" port="514" protocol="udp" template="RSYSLOG_SyslogProtocol23Format")

Depois de adicionar a configuração, reinicie o rsyslog:

sudo systemctl restart rsyslog
nota

As queue.saveOnShutdown="on" diretivas queue.type="LinkedList" e permitem o enfileiramento assistido por disco. Se a conexão com o VPC endpoint for temporariamente perdida, o rsyslog armazena as mensagens em buffer localmente e tentará a entrega novamente.

Filtragem por instalação ou gravidade:

Para enviar somente mensagens específicas, adicione um filtro antes da ação:

# Send only auth messages via TCP+TLS auth,authpriv.* action(type="omfwd" target="VPCE_DNS" port="6514" protocol="tcp" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/certvalid" template="RSYSLOG_SyslogProtocol23Format")

syslog-ng

O syslog-ng é comumente usado em dispositivos de rede e sistemas Linux corporativos. Adicione a seguinte configuração ao/etc/syslog-ng/conf.d/cwl-syslog.conf.

TCP+TLS:

destination d_cwl_syslog { network("VPCE_DNS" port(6514) transport("tls") tls( peer-verify(required-trusted) ca-dir("/etc/ssl/certs") ) ); }; log { source(s_sys); destination(d_cwl_syslog); };

Texto sem formatação TCP:

destination d_cwl_syslog { network("VPCE_DNS" port(1514) transport("tcp") ); }; log { source(s_sys); destination(d_cwl_syslog); };

UDP:

destination d_cwl_syslog { network("VPCE_DNS" port(514) transport("udp") ); }; log { source(s_sys); destination(d_cwl_syslog); };

Depois de adicionar a configuração, reinicie o syslog-ng:

sudo systemctl restart syslog-ng

Validação rápida

Use os comandos a seguir de qualquer host que possa acessar o VPC endpoint para verificar a conectividade.

Texto sem formatação TCP (porta 1514):

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello from syslog" | \ nc VPCE_DNS 1514

TCP + TLS (porta 6514):

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello TLS syslog" | \ openssl s_client -connect VPCE_DNS:6514 -quiet -no_ign_eof

UDP (porta 514):

echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello UDP syslog" | \ nc -u -w1 VPCE_DNS 514

Depois de enviar as mensagens de teste, verifique a entrega no CloudWatch Logs (geralmente em 10 a 20 segundos):

aws logs filter-log-events \ --log-group-name /syslog/my-devices \ --start-time $(date -d '5 minutes ago' +%s000 2>/dev/null || echo $(($(date -v-5M +%s) * 1000))) \ --region $REGION

Dispositivos de rede

A maioria dos firewalls, roteadores e switches suporta a configuração de um servidor syslog externo especificando um endereço IP e uma porta de destino. Use o endereço IP privado do VPC endpoint ENI (visível no console Amazon VPC em Endpoints) e uma das portas suportadas (6514, 1514 ou 514).

Consulte a documentação do seu dispositivo para obter a sintaxe de configuração específica. As principais configurações a serem definidas são:

  • Endereço do servidor — O nome DNS do VPC endpoint ou o endereço IP privado da ENI.

  • Porta — 6514 (TCP+TLS), 1514 (TCP) ou 514 (UDP).

  • Protocolo — TCP (recomendado) ou UDP.

  • Formato — RFC 5424 (preferencial) ou RFC 3164 (antigo). Ambos são compatíveis.

Confiança do certificado TLS

A conexão TLS na porta 6514 usa um certificado AWS gerenciado emitido pela Amazon Trust Services. A maioria dos sistemas operacionais e daemons syslog confiam automaticamente nesse certificado porque os certificados raiz do Amazon Trust Services estão incluídos nos repositórios confiáveis padrão da CA.

Se o seu dispositivo não confiar no certificado por padrão, baixe os certificados raiz do Amazon Trust Services https://www.amazontrust.com/repository/e adicione-os ao armazenamento confiável da CA do seu dispositivo.