CloudWatch Logs Live Tail을 사용한 문제 해결 - Amazon CloudWatch 로그

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch Logs Live Tail을 사용한 문제 해결

CloudWatch Logs Live Tail을 사용하면 새 로그 이벤트가 수집될 때 스트리밍 목록을 확인하여 인시던트 문제를 신속하게 해결할 수 있습니다. 모은 로그를 거의 실시간으로 보고 필터링하고 강조 표시할 수 있으므로 문제를 빠르게 탐지하고 해결할 수 있습니다. 지정한 항을 기반으로 로그를 필터링하고 원하는 항목을 빠르게 찾을 수 있도록 지정된 항이 포함된 로그를 강조 표시할 수도 있습니다.

Live Tail 세션은 세션 사용 시간(분)별로 비용이 발생합니다. 요금에 대한 자세한 내용은 Amazon CloudWatch 요금로그 탭을 참조하세요.

참고

Live Tail은 Standard 로그 클래스의 로그 그룹에서만 지원됩니다. 로그 클래스에 대한 자세한 내용은 로그 클래스를 참조하세요.

다음 섹션에서는 콘솔과 AWS CLI에서 Live Tail을 사용하는 방법을 설명합니다. 프로그래밍 방식으로 Live Tail 세션을 시작할 수도 있습니다. 자세한 내용은 StartLiveTail 단원을 참조하십시오. SDK 예제는 를 사용하여 Live Tail 세션 시작을 참조하세요 AWS SDK.

에서 Live Tail을 사용할 수도 있습니다 AWS Toolkit for Visual Studio Code. VS Code Command Palette에서 Live Tail 세션을 시작하려면 AWS Toolkit for Visual Studio Code 사용 설명서의 Amazon CloudWatch Logs Live Tail 섹션을 참조하세요.

Live Tail 기능은 모든 commercial AWS Regions에서 사용할 수 있습니다. 중국 리전 또는 AWS GovCloud (미국) 리전에서는 사용할 수 없습니다.

를 사용하여 Live Tail 세션 시작 AWS CLI

start-live-tail AWS CLI 명령은 터미널에서 하나 이상의 로그 그룹에 대해 Live Tail 스트리밍 세션을 시작합니다. Live Tail 세션은 최대 3시간 동안 지속될 수 있습니다. 초당 500개 이상의 로그 이벤트가 필터와 일치하는 경우 표시되는 로그 이벤트는 전체 로그 이벤트의 샘플로서 실시간 테일링 경험을 제공합니다. start-live-tail 명령에 대한 자세한 내용은 섹션을 참조하세요. start-live-tail

start-live-tail은 다음 두 가지 모드로 사용할 수 있습니다.

  • print-only - 기본 모드

  • interactive

print-only

print-only 모드에서 로그 이벤트는 터미널에서 스트리밍됩니다. 새 이벤트는 1초마다 하단에 추가되어 Linux의 tail -f와 유사한 거의 실시간의 테일링 경험을 생성합니다.

print-only 모드에서 Live Tail 세션을 시작하려면 다음 명령을 입력하세요.

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs

print-only 모드를 사용하는 경우 다른 Linux 명령과 파이핑하여 분석 기능을 높일 수도 있습니다. 다음 예제에서는 특정 정보를 추출할 수 있도록 error 키워드로 로그 이벤트를 필터링하고 이러한 이벤트의 두 번째 및 네 번째 열을 인쇄합니다.

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs --mode print-only | grep "error" | awk '{print $2, $4}'

interactive

interactive 모드에서는 용어를 강조 표시하고 및 일반 텍스트 간에 출력 로그 이벤트의 형식을 전환할 수 JSON 있습니다. interactive 모드에는 세션 지속 시간, 세션이 샘플링되는지 여부, 현재 강조 표시된 용어, 해당 용어가 발견된 횟수 등 Live Tail 세션에 대한 정보도 표시됩니다.

interactive 모드에서 Live Tail 세션을 시작하려면 다음 명령을 입력합니다.

aws logs start-live-tail --log-group-identifiers arn:aws:logs:us-east-1:111111222222:log-group:my-logs --mode interactive

Live Tail 세션이 시작됩니다. 다음 동영상은 예제 세션의 일부를 보여줍니다.

Live Tail 세션 중에 화면에 나타나는 로그 이벤트를 보여주는 짧은 동영상.

스트리밍 로그에서 용어를 강조 표시하려면 h를 누른 다음 용어를 입력합니다. 다음은 용어 latency가 강조 표시된 후의 화면을 보여줍니다.

강조 표시된 용어를 지우려면 c를 누른 다음 강조 표시를 중지하려는 용어를 나타내는 숫자를 입력합니다.

t를 눌러 및 일반 텍스트 간에 수신 이벤트의 표시 형식을 전환할 수 JSON 있습니다. 이 토글 기능은 최선(best-effort)이며 로그 이벤트 형식이 호환되는 경우에만 전환됩니다.

위쪽 화살표와 아래쪽 화살표 키를 사용하여 스크롤하고 CTRL+uCTRL+d를 사용하면 더 빠르게 스크롤할 수 있습니다.

다음 이미지는 Live Tail 세션 중 latency 용어의 강조 표시를 보여줍니다.

화면에 로그 이벤트가 나열되고 'latency'의 모든 발생이 강조 표시된 대화형 Live Tail 세션의 스크린샷.

콘솔에서 Live Tail 세션 시작

CloudWatch 콘솔을 사용하여 Live Tail 세션을 시작합니다. 다음 절차에서는 왼쪽 탐색 창의 Live tail 옵션을 사용하여 Live Tail 세션을 시작하는 방법을 설명합니다. 로그 그룹 페이지 또는 로그 CloudWatch 인사이트 페이지에서 Live Tail 세션을 시작할 수도 있습니다.

데이터 보호 정책을 사용하여 Live Tail로 보고 있는 로그 그룹의 민감한 데이터를 마스킹하는 경우 민감한 데이터는 항상 Live Tail 세션에서 마스킹된 상태로 나타납니다. 로그 그룹의 민감한 데이터 마스킹에 대한 자세한 내용은 마스킹 처리를 통해 민감한 로그 데이터를 보호하도록 지원 섹션을 참조하세요.

중요

네트워크 보안 팀이 웹 소켓 사용을 허용하지 않는 경우 현재 CloudWatch 콘솔의 Live Tail 부분에 액세스할 수 없습니다. AWS CLI 또는에서 CloudWatch Logs Insights; 쿼리 기능을 사용할 수 있습니다APIs. 자세한 내용은 를 사용하여 Live Tail 세션 시작 AWS CLI 및 url="https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_StartLiveTail.html">StartLiveTail을 참조하세요.

Live Tail 세션 시작
  1. 에서 CloudWatch 콘솔을 엽니다https://console.aws.amazon.com/cloudwatch/.

  2. 탐색 창에서 로그, Live tail을 선택합니다.

  3. 로그 그룹 선택에서 Live Tail 세션에서 이벤트를 보려는 로그 그룹을 선택합니다. 로그 그룹을 10개까지 선택할 수 있습니다.

  4. (선택 사항) 로그 그룹을 하나만 선택한 경우 로그 이벤트를 보려는 로그 스트림을 하나 이상 선택하여 Live Tail 세션을 추가로 필터링할 수 있습니다. 이렇게 하려면 로그 스트림 선택 아래의 드롭다운 목록에서 로그 스트림 이름을 선택합니다. 또는 로그 스트림 선택 아래의 두 번째 상자를 사용하여 로그 스트림 이름 접두사를 입력할 수 있습니다. 그러면 접두사와 일치하는 이름의 모든 로그 스트림이 선택됩니다.

  5. (선택 사항) 특정 단어나 다른 문자열을 포함하는 로그 이벤트만 표시하려면 Add filter patterns에 단어나 문자열을 입력합니다.

    예를 들어 Warning이라는 단어가 포함된 로그 이벤트만 표시하려면 Warning을 입력합니다. 필터 필드는 대소문자를 구분합니다. 이 필드에 여러 항과 패턴 연산자를 포함할 수 있습니다.

    • error 404는 error와 404를 모두 포함하는 로그 이벤트만 표시합니다.

    • ?Error ?error는 Error 또는 error를 포함하는 로그 이벤트를 표시합니다.

    • -INFO는 INFO를 포함하지 않는 모든 로그 이벤트를 표시합니다.

    • { $.eventType = "UpdateTrail" }는 이벤트 유형 필드의 값이 인 모든 JSON 로그 이벤트를 표시합니다. UpdateTrail

    정규식(regex)을 사용하여 필터링할 수도 있습니다.

    • %ERROR%는 정규식을 사용하여 ERROR 키워드로 구성된 모든 로그 이벤트를 표시합니다.

    • { $.names = %Steve% }는 정규식을 사용하여 스티브가 속성에 있는 JSON 로그 이벤트를 표시합니다. "name"

    • [ w1 = %abc%, w2 ]은(는) regex를 사용하여 첫 단어가 abc인 공백으로 구분된 로그 이벤트를 표시

    패턴 구문에 대한 자세한 내용은 필터 패턴 구문을 참조하세요.

  6. (선택 사항) 표시된 로그 이벤트 중 일부를 강조 표시하려면 Live Tail 아래에 검색하고 강조 표시할 항을 입력합니다. 강조 표시 항을 한 번에 하나씩 입력합니다. 강조 표시할 항을 여러 개 추가하면 각 항을 나타내는 다른 색상이 할당됩니다. 강조 표시기는 지정된 항이 포함된 로그 이벤트의 왼쪽에 표시되며, 전체 로그 이벤트를 보기 위해 기본 창에서 로그 이벤트를 확장할 때도 항 자체 아래에 표시됩니다.

    강조 표시와 함께 필터링을 사용하여 문제를 신속하게 해결할 수 있습니다. 예를 들어 이벤트를 필터링하여 Error가 포함된 이벤트만 표시한 다음 404가 포함된 이벤트를 강조 표시할 수도 있습니다.

  7. 세션을 시작하려면 필터 적용을 선택합니다.

    일치하는 로그 이벤트가 창에 나타나기 시작합니다. 다음 정보도 표시됩니다.

    • 타이머는 Live Tail 세션이 활성화된 시간을 표시합니다.

    • 이벤트/초는 설정한 필터와 일치하는 초당 모은 로그 이벤트 수를 표시합니다.

    • 많은 이벤트가 필터와 일치하기 때문에 세션이 너무 빠르게 스크롤되지 않도록 하려면 CloudWatch 로그에 일치하는 이벤트가 일부만 표시될 수 있습니다. 이 경우 화면에 표시되는 일치하는 이벤트의 비율이 % 표시됨에 표시됩니다.

  8. 현재 표시된 내용을 조사하기 위해 이벤트 흐름을 일시 중지하려면 이벤트 창의 아무 곳이나 클릭합니다.

  9. 세션 중 다음을 사용하여 각 로그 이벤트에 대한 추가 세부 정보를 볼 수 있습니다.

    • 기본 창에 로그 이벤트의 전체 텍스트를 표시하려면 해당 로그 이벤트 옆에 있는 화살표를 선택합니다.

    • 보조 창에 로그 이벤트의 전체 텍스트를 표시하려면 해당 로그 이벤트 옆에 있는 + 돋보기를 선택합니다. 이벤트 흐름이 일시 중지되고 보조 창이 나타납니다.

      보조 창에 로그 이벤트 텍스트를 표시하면 해당 텍스트를 기본 창의 다른 이벤트와 비교하는 데 유용할 수 있습니다.

  10. Live Tail 세션을 중지하려면 중지를 선택합니다.

  11. 세션을 다시 시작하려면 필요에 따라 필터 패널을 사용하여 필터링 기준을 수정하고 필터 적용을 선택합니다. 그런 다음 시작을 선택합니다.