본문 바로가기
카테고리 없음

[10/13] AWS EC2 Custom Logging with CloudWatch

by 그래놀라_ 2020. 10. 13.

AWS EC2 Custom Logging with CloudWatch

EC2 인스턴스에서 발생하는 로그 정보를 수집해서 CloudWatch로 전송

  • PMP
  • CISSP
  • CISA

 

 

특정한 데이터를 뽑아서 의미있는 데이터로 만든 후 시각화 하여 문제점들을 찾아낸다

이를 위한 첫 번째 단계

클라우드 왓치 로그를 수집하는 것

 

교재 p236

 

일반적인 모듈

인스턴스에서 나오는 로그를 클라우드왓치로 보내고 이를 S3 버킷에 저장

이 실습에서는 S3에 저장하는 것 까지는 아님

 


인스턴스 생성

다음다음 하고 keypair 다운(이름 : EC2Logging) 받고 인스턴스 생성

 

SSH 접속

 

$ sudo yum install -y awslogs
$ cd /etc/awslogs/
$ ls

awscli.conf  awslogs.conf  config  proxy.conf

 

 

awscli.conf

자격증명, 지역정보

$ sudo cat awscli.conf

[plugins]

cwlogs = cwlogs

[default]

region = us-east-1

 

 

awslogs.conf

로그 포맷

해당하는 로그 위치 등 define된 것

$ sudo cat awslogs.conf

 

 

agent 실행

$ sudo service awslogs start

Starting awslogs:                                          [  OK  ]

 

 

agent의 로그 확인

$ less /var/log/awslogs.log

 

 

실행할 때 자동으로 시작하도록 설정

$ sudo chkconfig awslogs on

 

 

 

 

 

CloudWatch에서 로그 조회

awslogs.conf
awslogs.conf 파일에 명시되어 있는 /var/log/maeeages가 로그 그룹 이름으로 명시되어 있음
로그 스트림 이름은 인스턴스 이름

 

 

 

  • 콘솔창의 로그(less /var/log/awslogs.log는 agent가 동작하면서 발생하면서 들어가는게 awslogs.log 에이전트가 제대로 도는지 안도는지 보려면 이거 봐야함

 

  • 저 로그 스트림에 보이는 내용들은 /var/log/message에 있다 EC2 인스턴스에 관한건 이거 근데 인스턴스가 하나만 만들어질 건 아니기 때문에 터미널에서 볼 수 없으므로 에이전트를 띄우고 에이전트에 설정을 해서 클라우드 왓치에서 본다

 

 

 

 

 

 

       __|  __|_  )

       _|  (     /   Amazon Linux AMI

      ___|\___|___|

 

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/

[ec2-user@ip-10-0-1-110 ~]$ sudo yum install -y awslogs

Loaded plugins: priorities, update-motd, upgrade-helper

Resolving Dependencies

--> Running transaction check

---> Package awslogs.noarch 0:1.1.4-1.12.amzn1 will be installed

--> Processing Dependency: aws-cli-plugin-cloudwatch-logs(python27) for package: awslogs-1.1.4-1.12.amzn1.noarch

--> Running transaction check

---> Package aws-cli-plugin-cloudwatch-logs.noarch 0:1.4.6-1.17.amzn1 will be installed

--> Finished Dependency Resolution

 

Dependencies Resolved

 

====================================================================================================

Package                              Arch         Version                 Repository          Size

====================================================================================================

Installing:

awslogs                              noarch       1.1.4-1.12.amzn1        amzn-main          9.2 k

Installing for dependencies:

aws-cli-plugin-cloudwatch-logs       noarch       1.4.6-1.17.amzn1        amzn-updates        72 k

 

Transaction Summary

====================================================================================================

Install  1 Package (+1 Dependent package)

 

Total download size: 81 k

Installed size: 246 k

Downloading packages:

(1/2): awslogs-1.1.4-1.12.amzn1.noarch.rpm                                   | 9.2 kB  00:00:00

(2/2): aws-cli-plugin-cloudwatch-logs-1.4.6-1.17.amzn1.noarch.rpm            |  72 kB  00:00:00

----------------------------------------------------------------------------------------------------

Total                                                               220 kB/s |  81 kB  00:00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : aws-cli-plugin-cloudwatch-logs-1.4.6-1.17.amzn1.noarch                           1/2

  Installing : awslogs-1.1.4-1.12.amzn1.noarch                                                  2/2

  Verifying  : awslogs-1.1.4-1.12.amzn1.noarch                                                  1/2

  Verifying  : aws-cli-plugin-cloudwatch-logs-1.4.6-1.17.amzn1.noarch                           2/2

 

Installed:

  awslogs.noarch 0:1.1.4-1.12.amzn1

 

Dependency Installed:

  aws-cli-plugin-cloudwatch-logs.noarch 0:1.4.6-1.17.amzn1

 

Complete!

[ec2-user@ip-10-0-1-110 ~]$ cd /etc/awslogs

[ec2-user@ip-10-0-1-110 awslogs]$ ls

awscli.conf  awslogs.conf  config  proxy.conf

[ec2-user@ip-10-0-1-110 awslogs]$ sudo service awslogs start

Starting awslogs:                                          [  OK  ]

[ec2-user@ip-10-0-1-110 awslogs]$