brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 25. 2020

419. CloudWatch Logs Insights


시스템 매니저로 CloudWatch agent를 설치해서

CloudWatch logs insights로 쿼리해서 내용을 확인해보자~

쿼리로 확인하는 것이다.



<1> EC2에  시스템 메니저 권한을 가지도록  IAM Role 주기

<2> 시스템 매니저 Run Command로  Cloudwatch agents 설치하기

<3> 시스템 매니저 Run Command로  Cloudwatch agents 실행하기

<4>  VPC Flow logs 네트워크 로깅

<5>  데이터 베이스 로깅하기

<6> 클라우드 와치 로그 인시이트로 웹트래픽등 조사하기

<7> 클라우드 와치 >  log group에서 조사하기





<1> EC2에  시스템 메니저 권한을 가지도록  IAM Role 주기


1

서비스 > EC2  >   활동 >  IAM Role  교체  

EC2에 SSM 역할을 주어야 한다.




<2> 시스템 매니저 Run Command로  Cloudwatch agents 설치하기


1

서비스 > system manager  >  실행 코맨드 >  명령 실행 > 커맨드 문서 :  AWS-ConfigureAWSPackage  선택


2

활동: 설치 , 이름

AmazonCloudWatchAgent


3

인스턴스 태그 지정

CloudwatchAgentInstalled

true

ADD




<3> 시스템 매니저 Run Command로  Cloudwatch agents 실행하기


1

EC2에서 클라우드 와치 에이전트 시작하기

System manager  >  실행 코맨드 >  명령 기록 >

AmazonCloudWatch-ManageAgent


2

위치

ConfigParamForEC2s

태그 키

MonitoringConfig

태크 value

BasicMixOSMonitoring

add


3

목록에서 버킷 이름 선택 >  logbucket 선택


실행




<4>  VPC Flow logs 네트워크 로깅


1

로그 그룸 만들기

VPCFlowLogGroup



2

네트워크 플로 로그 활성화 하기


VPC > 서브넷  >  서브넷들 모두 선택  > 작업 >  플로 로그 생성

대상 로그 그룹

VPCFlowLogGroup

// 서브넷 단위로 Flow logs를 지정할수도 있다.


3

IAM

VPC Flowlog Role   

// 롤이 있어야 한다.


정책

{

    "Statement": [

        {

            "Action": [

                "logs:CreateLogGroup",

                "logs:CreateLogStream",

                "logs:Describe*",

                "logs:PutLogEvents"

            ],

            "Resource": "*",

            "Effect": "Allow"

        }

    ]

}



AWS Service: vpc-flow-logs

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Effect": "Allow",

      "Principal": {

        "Service": "vpc-flow-logs.amazonaws.com"

      },

      "Action": "sts:AssumeRole"

    }

  ]

}


4

생성

// 로그 그룹이나 S3에 저장하게 된다.





<5> 데이터 베이스 로깅하기


1

RDS  > 왼쪽 데이터 베이스 > 수정 > 로그  exports   > 모두 선택하기

계속 하기 >  DB 수정하기 > 로그 내보내기에서 선택 >  계속


2

DB 리부팅하기





<6> 클라우드 와치 로그 인시이트로 웹트래픽등 조사하기



1

클라우드 와치 >  log insight >



샘플 쿼리

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html



1. 웹서버 트래픽과 허용 패턴


클라우드 와치 >  log insight >

로그 그룹  > AccessLogGroup  선택

Run Query


fields @timestamp, @message
| sort @timestamp desc
| stats count() by bin(5m)





2

DB로  3306으로 호출되지 않고 3333 등으로 호출되는 경우 확인

로그 그룹  > VPCFlowLogGroup  선택

Run Query



3

DB Error 로그 찾기  


클라우드 와치 >  log insight >


로그 그룹  >/aws / rds/ instance > xxxxxxxxx/ error   선택


fields @timestamp, @message | sort @timestamp desc


Run Query




4. 가장 많이 거절한 소스 IP  찾기


로그 그룹  > VPCFlowLogGroup  선택   

오른쪽에 쿼리 >   VPCFlowLog  > Top 20 source IP  > 적용

Run Query




<7> 클라우드 와치 >  log group에서 조사하기


1

404 에러 응답 코드  필터  


로그 그룹  > AccessLogGroup 클릭  

> 작업 > 지표 필터 생성   > 필터 패턴  : 

404

테스트할 로그 데이터 선택 : http.log

패턴 테스트 >  다음

필터 이름

accesslogs-404-errors

메트릭 이름 스패이스

WebsiteLogMetrics

매트릭 이름

accesslogs-404-errors

매트릭 값 1

디톨트 0


다음

> 지표 필터 생성하기

경보 생성 등 가능


2

확인하기

왼쪽 메트릭에 All 메트릭에서 그래프를 확인할수 있다.

sum 으로 확인





https://brunch.co.kr/@topasvga/1581



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari