Devops

cloudwatch log insight 사용법 간단 정리

Prower 2022. 8. 18. 03:09
728x90
반응형
  • cloudwatch log에 대한 대화식 검색 기능
  • 쿼리문을 통해 cloudwatch 내 log를 조회한다

알아둘 점

  • 최대 20개 그룹의 로그 조회 가능
  • timeout: 15 min
  • 쿼리 결과는 7일동안 유효함
  • 쿼리되는 데이터 양에 따라 요금이 부과된다 상세 사항

지원하는 로그 필드

  • cloudwatch로 전송된 모든 로그에 대해 log insight는 다음 5개 필드를 자동으로 생성하여 관리한다.
    • @message: 로그 메세지 원본
    • @timestamp: 로그가 찍힌 timestamp
    • @ingestionTime: cloudwatch가 로그를 수신한 시간
    • @logStream: 로그 이벤트가 추가된 로그 스트림 명
    • @log: 로그 그룹 식별자
  • log insight가 생성하는 모든 로그에는 @ 어노테이션이 붙는다

JSON 형식

  • cloudwatch log는 json 형식으로 출력되며, json 형식의 각 필드에 점표기법으로 접근 가능하다
    • 쿼리문에서 특정 필드를 조회하고자 할 때 사용

예시

{
    "eventVersion": "1.0",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "EX_PRINCIPAL_ID",
        "arn": "arn: aws: iam: : 123456789012: user/Alice",
        "accessKeyId": "EXAMPLE_KEY_ID",
        "accountId": "123456789012",
        "userName": "Alice"
    },
    "direction": [ "up", "down", "left", "right" ]
    ...
}
  • 위 예시에서 userIdentity 의 type 에 대한 값을 검색하고자 하면, userIdentity.type 의 형식으로 접근 가능
  • direction 같은 array 필드는 direction.{index} 와 같은 형식으로 접근

쿼리 예시

fields @timestamp, @message, @logStream, eventVersion, userIdentity.type
| parse arn "arn: aws: *: : *: *" as type, number, userName
| filter direction="up" and userIdentity.userName="Alice" and (userIdentity.type="IAMUser" or userIdentity.type="Admin")
| sort @timestamp desc
| limit 20

자주 사용하는 구문

  • fields: 로그에서 조회하고 하는 값
    • json 형식의 점표기법으로 필드 조회 가능
    • 위 예시에서 @timestamp, @message, @logStream, eventVersion, userIdentity.type 필드에 대해 조회
  • filter: 필터링 규칙. SQL의 where절과 동일하다고 생각할 수 있음
    • filter에서는 or, and, in, not, like 등의 연산자 사용 가능
    • 위 예시에서 direction 이 up 이고, userIdentity.userName 가 Alice 이며, userIdentity.type 가 IAMUser 이거나, Admin 인 로그만 검색된다.
  • parse: 로그 필드에서 데이터를 추출하여 쿼리 결과에 포함시킴
    • 지정한 필드에서 패턴을 통해 값을 추출하여 쿼리 결과에서 볼 수 있다.
    • 정규 표현식도 지원함
    • 위 예시에서 iam, 123456789012, user/Alice 값이 각 type, number, userName 이라는 값으로 추출된다.
  • sort: 정렬 규칙
  • limit: 조회하는 로그 갯수 제한

연산자 및 함수

728x90
반응형