구독 필터, Logs Insights 쿼리, S3 내보내기, CloudWatch API, 로그를 CSV 파일로 다운로드하는 등의 다양한 방법을 사용하여 Amazon CloudWatch Logs에서 로그 데이터를 검색하는 방법을 배우고 싶습니다.
간략한 설명
CloudWatch 로그에서 로그 데이터를 검색하려면 사용 사례에 따라 다음 모범 사례를 사용하세요.
- 구독 필터를 사용하여 로그 데이터를 스트리밍합니다.
- CloudWatch Logs Insights 쿼리를 실행합니다.
- 로그 데이터를 Amazon Simple Storage Service(Amazon S3)로 내보냅니다.
- CloudWatch API를 사용합니다.
- 로그를 .csv 파일로 다운로드합니다.
해결 방법
구독 필터를 사용하여 로그 데이터 스트리밍
CloudWatch 로그에서 로그 데이터를 실시간으로 검색하려면 구독 필터를 사용하세요. 로그 데이터 구독 필터는 CloudWatch API 스로틀링을 방지합니다. 자세한 내용은 구독을 통한 로그 데이터의 실시간 처리 및 로그 그룹 수준 구독 필터를 참조하세요. Amazon Kinesis Data Streams의 경우, 스로틀링된 서비스 API가 자동으로 재시도됩니다.
CloudWatch Logs Insights 쿼리 실행
로그 데이터를 검색하고 분석하려면 CloudWatch Logs Insights에서 쿼리를 실행하세요. 쿼리는 문제에 대응하고 추가 문제 해결을 위한 원인을 파악하는 데 도움이 됩니다. 자세한 내용은 CloudWatch Logs Insights로 로그 데이터 분석을 참조하세요.
로그 데이터를 Amazon S3로 내보내기
일괄 사용 사례에서 CloudWatch Logs 데이터를 Amazon S3로 내보낼 수 있습니다. 로그 데이터 내보내기는 CloudWatch Logs에서 사용할 수 있게 되는 데 최대 12시간이 걸릴 수 있습니다. 실시간 분석 및 처리를 위해서는 구독 필터를 사용하세요.
참고: AWS 계정에는 PENDING, PENDING_CANCEL 또는 RUNNING 상태의 로그 데이터에 대한 내보내기 작업이 하나만 있을 수 있습니다.
CloudWatch API 사용
로그 데이터를 수동으로 찾으려면 GetLogEvents 또는 FilterLogEvents CloudWatch API를 사용하세요. 이러한 API는 초당 트랜잭션 수(TPS) 할당량으로 인해 확장할 수 없습니다. 현재 할당량에 대해서는 CloudWatch 로그 할당량을 참조하세요. API 스로틀링이 발생하면 구독 필터를 사용하세요.
로그를.csv 파일로 다운로드
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
.csv 파일 형식으로 로그 데이터를 검색하려면 다음 방법을 사용하세요.
- CloudWatch 콘솔을 사용합니다.
- AWS CLI를 사용합니다.
- CloudWatch Logs Insights를 사용합니다.
CloudWatch 콘솔 사용
다음 단계를 완료합니다.
- CloudWatch 콘솔을 연 다음 로그 그룹을 선택합니다.
- 다운로드하려는 로그 이벤트가 포함된 로그 스트림을 선택합니다.
- 작업을 선택한 다음 검색 결과 다운로드를 선택합니다.
AWS CLI 사용
.csv 파일 형식의 로그 이벤트를 검색하려면 get-log-events 명령을 실행합니다.
참고: example-loggroup-name을 로그 그룹 이름으로 바꾸고 example-logstream-name을 로그 스트림 이름으로 바꿉니다.
aws logs get-log-events --log-group-name example-loggroup-name --log-stream-name example-logstream-name --start-time 1705147529 --end-time 1705233929 > log_events.csv
참고: .csv 파일은 명령이 시작된 것과 동일한 디렉터리에 저장됩니다. 또한 AWS CLI는 워크스테이션에 대해 구성된 기본 AWS 리전 및 프로필을 사용합니다. 적절한 리전을 지정합니다. GetLogEvents API는 토큰을 통해 사용할 수 있는 로그 이벤트가 더 많을 경우 빈 결과를 반환할 수 있습니다.
CloudWatch Logs Insights 사용
다음 단계를 완료합니다.
- 쿼리를 실행하여 로그 데이터를 검색합니다.
- 로그 수에 따라 다음 방법 중 하나를 사용하여 데이터를 내보냅니다.
로그가 10,000개 미만인 경우 결과 내보내기를 선택합니다.
로그가 10,000개 이상인 경우 로그를 Amazon S3 버킷으로 내보냅니다. 그런 다음 데이터를 .csv 파일로 다운로드합니다.