View a markdown version of this page

Configuración de dispositivos syslog - CloudWatch Registros de Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de dispositivos syslog

Tras configurar la ingesta de syslog, configure las fuentes de syslog para enviar mensajes al nombre DNS del punto final de la VPC. Sus dispositivos llegan al punto final a través de su conexión VPN o Direct Connect a la VPC.

nota

Las siguientes configuraciones se proporcionan a modo de ejemplo. Para ver las opciones de configuración completas y las prácticas recomendadas, consulte la documentación oficial de su implementación de syslog (rsyslog, syslog-ng o el proveedor del dispositivo).

En los ejemplos siguientes, VPCE_DNS sustitúyalo por el nombre DNS del punto final de la VPC del procedimiento de configuración (por ejemplo,vpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com).

rsyslog

rsyslog es el daemon syslog predeterminado en la mayoría de las distribuciones de Linux. Agregue la siguiente /etc/rsyslog.d/50-cwl-syslog.conf configuración a.

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 sin formato 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")

Tras añadir la configuración, reinicie rsyslog:

sudo systemctl restart rsyslog
nota

Las queue.saveOnShutdown="on" directivas queue.type="LinkedList" y permiten la creación de colas asistidas por disco. Si la conexión con el punto final de la VPC se pierde temporalmente, rsyslog almacena los mensajes en el búfer local y vuelve a intentar entregarlos.

Filtrado por instalación o gravedad:

Para enviar solo mensajes específicos, añade un filtro antes de la acción:

# 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

syslog-ng se utiliza habitualmente en dispositivos de red y sistemas Linux empresariales. Agregue la siguiente configuración a. /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 sin formato 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); };

Tras añadir la configuración, reinicie syslog-ng:

sudo systemctl restart syslog-ng

Validación rápida

Use los siguientes comandos desde cualquier host que pueda llegar al punto final de la VPC para verificar la conectividad.

Texto sin formato TCP (puerto 1514):

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

TCP + TLS (puerto 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 (puerto 514):

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

Tras enviar los mensajes de prueba, verifica la entrega en CloudWatch los registros (normalmente en un plazo de 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 red

La mayoría de los firewalls, enrutadores y conmutadores admiten la configuración de un servidor syslog externo especificando una dirección IP y un puerto de destino. Utilice la dirección IP privada del ENI del punto final de la VPC (visible en la consola de Amazon VPC en Endpoints) y uno de los puertos compatibles (6514, 1514 o 514).

Consulte la documentación del dispositivo para conocer la sintaxis de configuración específica. Los ajustes clave que se deben configurar son:

  • Dirección del servidor: el nombre DNS del punto final de la VPC o la dirección IP privada de ENI.

  • Puerto: 6514 (TCP+TLS), 1514 (TCP) o 514 (UDP).

  • Protocolo: TCP (recomendado) o UDP.

  • Formato: RFC 5424 (preferido) o RFC 3164 (antiguo). Ambos son compatibles.

Certificado TLS de confianza

La conexión TLS del puerto 6514 utiliza un certificado AWS gestionado emitido por Amazon Trust Services. La mayoría de los sistemas operativos y daemons de syslog confían en este certificado automáticamente porque los certificados raíz de Amazon Trust Services se incluyen en los almacenes de confianza de CA estándar.

Si su dispositivo no confía en el certificado de forma predeterminada, descargue los certificados raíz de Amazon Trust Services https://www.amazontrust.com/repository/y agréguelos al almacén de confianza de CA de su dispositivo.