0

EC2 실행 인스턴스의 로그를 모니터링하는 "cloudwatch"서비스가 있습니다. 그러나 ColudWatch 웹 콘솔에는 로그 데이터를 다운로드/내보내기 할 수있는 버튼이없는 것 같습니다.AWS CloudWatch | 로그를 EC2 서버로 내보내기

CLI 또는 GUI를 통해이 목표를 달성하는 방법에 대한 아이디어가 있습니까?

답변

0

프로그래밍, boto3를 사용하여 (파이썬),

log_client=boto3.client('logs') 
result_1=log_client.describe_log_streams(logGroupName='<NAME>') 

(나는 EC2 인스턴스에 대한 어떤 로그 그룹 이름과 같은 보면 알 수는 없습니다. 람다 위해 그들이 형태 '/aws/lambda/FuncName'의 당신이 볼 수있는 이름을 잡아보십시오 콘솔에서).

result_1에는 두 개의 유용한 키, 즉 logStreams (원하는 결과) 및 nextToken (페이지 번호 매김을 위해 사용법을 살펴 보도록하겠습니다)이 있습니다.

이제 result_1['logStreams']logStreamName을 포함하는 개체의 목록입니다. 또한 유용한 것은 firstEventTimestamplastEventTimestamp입니다.

는 이제 스트림 이름을 기록 가지고, 당신은 응답 원하는 로그 이벤트에 대한 nextForwardTokennextBackwardToken 페이지 매김을위한, 그리고 events을 포함

log_client.get_log_events(logGroupName='<name>',logStreamName='<name>' 

사용할 수 있습니다. 각 이벤트에는 timestampmessage이 포함됩니다.

다른 매개 변수가 유용 할 수 있는지 알아보기 위해 API를 찾아 보겠습니다. 그런데 콘솔에서 S3 버킷 또는 AWS의 ElasticSearch 서비스로 로그를 스트리밍 할 수 있습니다. ElasticSearch는 사용할 기쁨이며 Kibana의 UI는 쿼리 언어를 배우지 않고도 결과를 얻을 수있을 정도로 직관적입니다.

0

콘솔 또는 AWS CLI를 사용하여 CloudWatch 로그를 Amazon S3에 다운로드 할 수 있습니다. &에서 로그의 타임 스탬프, 대상 버킷 및 접두사까지 로그 그룹 이름을 알아야합니다. Amazon에서는 로그 용으로 별도의 S3 버킷을 권장합니다. 버킷이 생기면 (콘솔에서) 탐색 - 로그 - 로그 그룹 선택 - 작업 - S3로 데이터 내보내기 - 내보내기 세부 정보 입력 - 데이터 내보내기를 선택하십시오. 아마존의 문서는 꽤 잘 설명합니다 : http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html. 그리고 CLI 명령어도 사용하고 싶다면 여기에 있습니다. CLI를 사용하여 내보내기를 스크립팅 할 수도 있지만 기존 변수를 덮어 쓰지 않도록 변수를 정의해야한다고 생각합니다.

전체 AWS 재해 복구 계획의 일부인 경우 Amazon의 AWS 재해 복구 백서, cloud for disaster recovery 사용에 대한 NetApp의 설명과 같은 모범 사례 &을 확인할 수 있습니다.

관련 문제