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에서 로그 조회
- 콘솔창의 로그(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]$ |