Notice
Recent Posts
Recent Comments
Link
투케이2K
190. (Aws/Amazon) [Amazon CloudWatch] CloudWatch 특정 로그 스트림에서 로그 이벤트 를 조회 GetLogEvents API 설명 정리 본문
Aws (Amazon)
190. (Aws/Amazon) [Amazon CloudWatch] CloudWatch 특정 로그 스트림에서 로그 이벤트 를 조회 GetLogEvents API 설명 정리
투케이2K 2026. 3. 1. 09:44728x90
반응형
[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services
제 목 : [Amazon CloudWatch] CloudWatch 특정 로그 스트림에서 로그 이벤트 를 조회 GetLogEvents API 설명 정리

[설명 정리]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws / CloudWatch / GetLogEvents
- 사전) AWS CloudWatch 간단 설명 :
>> Aws CloudWatch 는 Amazon Web Services (AWS) 리소스 및 AWS 에서 실행되는 애플리케이션을 실시간으로 모니터링 할 수 있는 서비스입니다
>> Aws CloudWatch 를 사용하면 시스템 전체의 리소스 사용률, 애플리케이션 성능, 운영 상태를 파악할 수 있습니다
>> Aws CloudWatch 와 함께 사용할 수 있는 서비스 :
- Amazon Simple Notification Service (Amazon SNS) : CloudWatch 와 함께 Amazon SNS를 사용하여 구독 중인 엔드포인트 또는 클라이언트에 메시지를 전달 또는 전송하는 것을 조정하고 관리합니다
- Amazon EC2 Auto Scaling : Amazon EC2 Auto Scaling 과 함께 CloudWatch 경보를 사용하여 사용자 정의 정책, 상태 확인, 일정에 따라 Amazon EC2 인스턴스를 자동으로 시작하거나 종료할 수 있습니다
- AWS CloudTrail : AWS CloudTrail 을 사용해 AWS Management Console, AWS CLI 및 기타 서비스에서 수행한 호출을 포함하여 계정의 Amazon CloudWatch API에 대한 호출을 모니터링할 수 있습니다
- AWS Identity and Access Management (IAM) : IAM 을 사용하여 AWS 리소스를 사용할 수 있는 사용자를 제어(인증)하고 해당 사용자가 사용할 수 있는 리소스 및 사용 방법을 제어(권한 부여)할 수 있습니다
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------
1. GetLogEvents 는 특정 로그 스트림 (Log Stream) 에서 로그 이벤트 (Log Events) 를 조회하는 API 입니다.
2. GetLogEvents API 는 시간 범위 필터링, 페이지네이션, 방향 설정 등을 지원하며, CloudWatch Logs에서 가장 기본적인 로그 조회 기능을 제공합니다.
3. GetLogEvents 주요 기능 :
>> 특정 로그 스트림의 로그 이벤트 조회 :
- 지정한 logGroupName(또는 ARN) + logStreamName 조합으로 로그 이벤트를 조회합니다.
>> 시간 범위 필터링 지원 :
- startTime(포함) ~ endTime(미포함) 범위로 조회 가능
- Unix epoch milliseconds 기준
>> 최대 10,000개 또는 1MB까지 한 페이지 반환 :
- 페이지 크기는 1MB 또는 10,000개의 이벤트 중 먼저 도달한 조건으로 결정됩니다.
- 페이지는 부분 채워짐 또는 빈 페이지일 수 있음
>> 양방향 페이지네이션 지원 :
- nextForwardToken / nextBackwardToken 반환
- 현재 요청에서 전달한 token과 반환된 token이 다르면 더 가져올 로그가 있음
>> 헤드부터 읽기 (startFromHead) 옵션 :
- startFromHead = true → 오래된 이벤트부터 읽기
- 단, endTime 없이 startFromHead를 true로 하면 로그가 계속 추가될 경우 페이지네이션이 끝나지 않을 수 있음
>> 로그 변환 (transform) 적용되지 않은 원본 로그만 반환 :
- 로그 변환 (Transform) 이 설정된 경우에도 GetLogEvents 는 원본 로그만 반환
- 변환된 로그를 보고 싶으면 Logs Insights 쿼리를 사용해야 함
4. ✅ GetLogEvents 요청 전문
>> GetLogEvents 요청 JSON 예시 :
{
"logGroupName": "string",
"logGroupIdentifier": "string",
"logStreamName": "string",
"startTime": number,
"endTime": number,
"nextToken": "string",
"limit": number,
"startFromHead": boolean,
"unmask": boolean
}
>> logGroupName / logGroupIdentifier : 로그 그룹 이름 또는 ARN (둘 중 하나만 사용 가능)
>> logStreamName : 조회할 로그 스트림 이름
>> startTime : 조회 시작 시각(ms)
>> endTime : 조회 종료 시각(ms)
>> nextToken : 페이지네이션 token
>> startFromHead : true면 오래된 로그부터, false면 최신 로그부터
>> limit : 조회할 최대 로그 개수 (1~10,000)
5. ✅ GetLogEvents 응답 전문
>> GetLogEvents 응답 JSON 예시 :
{
"events": [
{
"timestamp": 1739993225000,
"message": "2026-02-20T07:27:05.000Z\tab12cd34-x9ff-4e11-af11-6a0edd12efcc\tINFO\tProcessing completed for user test01\n",
"ingestionTime": 1739993226123
},
{
"timestamp": 1739993227345,
"message": "END RequestId: ab12cd34-x9ff-4e11-af11-6a0edd12efcc\n",
"ingestionTime": 1739993228456
}
],
"nextForwardToken": "f/9038575649823746598237",
"nextBackwardToken": "b/9038575649823746598237"
}
6. ❌ GetLogEvents 호출 주요 에러 발생 코드 :
>> ThrottlingException : CloudWatch 에서 과한 API 호출(스크립트/자동화)이 있을 때 발생
>> ResourceNotFoundException : 존재하지 않는 logGroupName 또는 logStreamName 지정 시 발생
>> InvalidParameterException : logGroupIdentifier 와 logGroupName 을 동시에 지정한 경우 (문서에서 금지) / limit 값이 1~10,000 범위를 벗어날 경우 / 잘못된 token 전달
>> ServiceUnavailableException : CloudWatch Logs 서비스의 임시 장애 시 발생
>> AccessDeniedException : IAM 권한 부족으로 API 호출이 거부될 때
7. ✅ GetLogEvents 호출 자바스크립트 예시 소스 코드 :
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1416.0.min.js"></script>
<script>
// [AWS 인증 변수 선언]
const accessKey = 'AK..A6';
const secretKey = 'mP..5J';
const region = 'ap-northeast-2';
// [AWS 로그 변수 선언]
const logGroupName = '/aws/lambda/device-queue-manager';
const logStreamName = '2026/02/19/[$LATEST]94a6a6cff46b4cf8b08bdb2371012b2f';
window.onload = async function() {
// -----------------------------------------
// [AWS.config 지정]
// -----------------------------------------
AWS.config.update({
region: region,
accessKeyId: accessKey,
secretAccessKey: secretKey
});
// -----------------------------------------
// [AWS 객체 생성]
// -----------------------------------------
const aws = AWS.CloudWatchLogs();
// -----------------------------------------
// Aws CloudWatch Logs 로그 이벤트 조회 수행
// -----------------------------------------
// AWS 참고 사이트 : https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_GetLogEvents.html
// -----------------------------------------
const param = { // ✅ Request_파라미터
logGroupName: logGroupName, // 로그 그룹 명칭
logStreamName: logStreamName, // 로그 그룹 내에 포함 된 스트림 명칭
startFromHead: true, // 오래된 로그부터 보려면 true, 최신부터 보려면 false
limit: 5000 // 반환되는 로그 이벤트의 최대 개수 (최소값 1, 최대값 10000)
};
aws.getLogEvents( param , (err, data) => {
if (err) console.error(err);
else console.log(JSON.stringify(data));
});
};
</script>
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Amazon CloudWatch] Aws CloudWatch 클라우드 와치 개념 및 설정 정리 - Aws 애플리케이션 실시간으로 모니터링 서비스
https://kkh0977.tistory.com/7920
https://blog.naver.com/kkh0977/223834321984?trackingCode=blog_bloghome_searchlist
[Amazon 모니터링 및 로깅 서비스] AWS CloudWatch 와 CloudTrail 차이점 정리
https://kkh0977.tistory.com/8143
https://blog.naver.com/kkh0977/223934869835?trackingCode=blog_bloghome_searchlist
[Amazon CloudWatch] DescribeLogGroups AWS CloudWatch Logs 로그 그룹 목록 조회 API 설명 정리
https://kkh0977.tistory.com/8640
https://blog.naver.com/kkh0977/224188525167
// --------------------------------------------------------------------------------------
728x90
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments
