brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jun 30. 2019

125.CloudWatch Agent로 log수집

 CloudWatch > logs 에서   log  수집 확인 

<1> 목표

서버 로그를 수집하고자 한다.



<2>  작업 순서 

1.  IAM역할 추가하기

2.  서버에  IAM role 주기

3.  EC2 에 에이전트 다운로드와 위저드로 설정하기

4.  설정 적용

5.  에이전트 상태확인과 데몬 시작

6.  Cloudwatch에서 메모리 모니터링 되는지 확인하기

7.  Cloudwatch > Logs 에 로그가 남는지 확인 하기


기타

AWS 서버에 대해  한국 시간으로 변경하기.



1.  IAM  role(역할) 추가하기

IAM  > Roles > Create role 

cloudwatchAgentServerPolicy



2.  서버에  IAM role 주기



3.  EC2 에 에이전트 다운로드와 위저드로 설정하기

cd  /var/


에이전트 다운르드 하기 

 # wget  https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm


에이전트  설치하기 

rpm -U ./amazon-cloudwatch-agent.rpm 


위저드로 설정하기
[root@ip-172-31-20-195 logs]# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard



4.  설정 적용

[root@ip-172-31-19-87 bin]# more   /opt/aws/amazon-cloudwatch-agent/bin/config.json 


위저드로 설정한  json  파일을 읽어 들임.

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file://opt/aws/amazon-cloudwatch-agent/bin/config.json -s



5.  에이전트 상태확인과 데몬 시작

상태 확인하기
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

{

  "status": "stopped",

  "starttime": "",

  "version": "1.219020.0"

}


[root@ip-172-31-24-96 bin]# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a start


데몬 확인하기 

[root@ip-172-31-24-96 ~]# ps -ef |grep amazon-cloudwatch-agent
root       2245     1  0 11:13 ?        00:00:00  /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent -config  /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml  -pidfile  /opt/aws/amazon-cloudwatch-agent/var/amazon-cloudwatch-agent.pid



에러 발생 확인 

[root@ip-172-31-20-195 logs]# more /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log 

2019/07/08 05:24:29 I! I! Detected the host is EC2

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json does not exist or cannot read. Skipping it.   // 무시해도 상관없다.

Valid Json input schema.

I! Detecting runasuser...

No csm configuration found.

No log configuration found.

Configuration validation first phase succeeded 

2019/07/08 05:24:29 I! Config has been translated into TOML /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml 

2019/07/08 05:24:29 I! Detected runAsUser: root

2019-07-08T05:24:29Z I! cloudwatch: get unique roll up list []

2019-07-08T05:24:29Z I! Starting AmazonCloudWatchAgent (version 1.219020.0)

2019-07-08T05:24:29Z I! Loaded outputs: cloudwatch

2019-07-08T05:24:29Z I! Loaded inputs: mem swap

2019-07-08T05:24:29Z I! Tags enabled: host=ip-172-31-20-195

2019-07-08T05:24:29Z I! Agent Config: Interval:1m0s, Quiet:false, Hostname:"ip-172-31-20-195", Flush Interval:1s 

2019-07-08T05:24:29Z I! cloudwatch: publish with ForceFlushInterval: 1m0s, Publish Jitter: 37s



SharedCredsLoad: failed to load profile, .

EC2RoleRequestError: no EC2 instance role found    < 서버에  role 을 안 준경우 발생한다.

조치해야 한다.



6.   CloudWatch에서 메모리 모니터링 되는지 확인하기


 CloudWatch >  Metrics  > CWAgent 




7.   Cloudwatch Logs 에 로그가 남는지 확인 하기



참고

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html


참고 https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html



기타

Apache  설치와 Apache log 수집 


1)  Yum으로 설치하기

yum install httpd
/usr/sbin/httpd

ps -ef |grep httpd


vi /etc/httpd/conf/httpd.conf
cd /var/www/html
vi index.html


ps -ef |grep httpd

/usr/sbin/httpd -k restart


2)  EC2 >  Security Groups > HTTP 80 허용


3) EC2 공인 IP 로 접속 하기.


접근 로그 확인 

tail -f /etc/httpd/logs/access_log 



기타

서버 시간 맞추기 


[root@ip-172-31-24-96 bin]# rm /etc/localtime 

rm: remove regular file ??etc/localtime?? y


[root@ip-172-31-24-96 bin]# ln -s /usr/share/zoneinfo/Asia/Seoul  /etc/localtime


[root@ip-172-31-24-96 bin]# date

Sat Jun 29 20:46:10 KST 2019




<3>  별도의 로그 에이전트로 진행하는법 (예전 방식)

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html




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


감사합니다.

매거진의 이전글 124.CloudWatch Alarms 받기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari