기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
syslog 디바이스 구성
syslog 수집을 설정한 후 VPC 엔드포인트 DNS 이름으로 메시지를 보내도록 syslog 소스를 구성합니다. 디바이스는 VPC에 대한 VPN 또는 Direct Connect 연결을 통해 엔드포인트에 도달합니다.
참고
다음 구성이 예제로 제공됩니다. 전체 구성 옵션 및 모범 사례는 syslog 구현에 대한 공식 설명서(rsyslog, syslog-ng 또는 디바이스 공급업체)를 참조하세요.
다음 예제에서 를 설정 절차의 VPC 엔드포인트 DNS 이름으로 바꿉니다(예: VPCE_DNSvpce-0abc123def456.syslog-logs.us-east-1.vpce.amazonaws.com).
rsyslog
rsyslog는 대부분의 Linux 배포판에서 기본 syslog 데몬입니다. 에 다음 구성을 추가합니다/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")
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")
구성을 추가한 후 rsyslog를 다시 시작합니다.
sudo systemctl restart rsyslog
참고
queue.type="LinkedList" 및 queue.saveOnShutdown="on" 명령은 디스크 지원 대기열을 활성화합니다. VPC 엔드포인트에 대한 연결이 일시적으로 끊어지면 rsyslog는 메시지를 로컬로 버퍼링하고 전송을 재시도합니다.
시설 또는 심각도를 기준으로 필터링:
특정 메시지만 보내려면 작업 앞에 필터를 추가합니다.
# 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는 일반적으로 네트워크 어플라이언스 및 엔터프라이즈 Linux 시스템에서 사용됩니다. 에 다음 구성을 추가합니다/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); };
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); };
구성을 추가한 후 syslog-ng를 다시 시작합니다.
sudo systemctl restart syslog-ng
빠른 검증
VPC 엔드포인트에 연결할 수 있는 호스트에서 다음 명령을 사용하여 연결을 확인합니다.
TCP 일반 텍스트(포트 1514):
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello from syslog" | \ ncVPCE_DNS1514
TCP + TLS(포트 6514):
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello TLS syslog" | \ openssl s_client -connectVPCE_DNS:6514 -quiet -no_ign_eof
UDP(포트 514):
echo "<134>1 $(date -u +%Y-%m-%dT%H:%M:%SZ) myhost myapp 1234 - - Hello UDP syslog" | \ nc -u -w1VPCE_DNS514
테스트 메시지를 전송한 후 CloudWatch Logs에서 전송을 확인합니다(일반적으로 10~20초 이내).
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
네트워크 어플라이언스
대부분의 방화벽, 라우터 및 스위치는 대상 IP 주소 및 포트를 지정하여 외부 syslog 서버 구성을 지원합니다. VPC 엔드포인트 ENI의 프라이빗 IP 주소(엔드포인트 아래의 Amazon VPC 콘솔에서 볼 수 있음)와 지원되는 포트 중 하나(6514, 1514 또는 514)를 사용합니다.
특정 구성 구문은 디바이스 설명서를 참조하세요. 구성할 키 설정은 다음과 같습니다.
서버 주소 - VPC 엔드포인트 DNS 이름 또는 ENI 프라이빗 IP 주소입니다.
포트 – 6514(TCP+TLS), 1514(TCP) 또는 514(UDP).
프로토콜 - TCP(권장) 또는 UDP.
형식 - RFC 5424(기본 설정) 또는 RFC 3164(레거시). 둘 다 지원됩니다.
TLS 인증서 신뢰
포트 6514의 TLS 연결은 Amazon Trust Services에서 발급한 AWS관리형 인증서를 사용합니다. Amazon Trust Services 루트 인증서는 표준 CA 신뢰 저장소에 포함되므로 대부분의 운영 체제 및 syslog 데몬은이 인증서를 자동으로 신뢰합니다.
디바이스가 기본적으로 인증서를 신뢰하지 않는 경우 https://www.amazontrust.com/repository/