CloudWatch Logs 에이전트 필수 조건
CloudWatch Logs 에이전트에는 Python 버전 2.7, 3.0 또는 3.3과 다음과 같은 버전의 Linux가 필요합니다.
- Amazon Linux 버전 2014.03.02 이상. Amazon Linux 2는 지원되지 않습니다.
- Ubuntu Server 버전 12.04, 14.04 또는 16.04
- CentOS 버전 6, 6.3, 6.4, 6.5 또는 7.0
- Red Hat Enterprise Linux(RHEL) 버전 6.5 또는 7.0
- Debian 8.0
먼저 서버에 CloudWatchAgentServerPolicy를 붙여줍니다.
서버에서 CMD Log를 쌓도록 세팅하는 명령어입니다.
아래 명령어를 수행해주세요
sudo bash -c 'echo "HISTTIMEFORMAT=\"%Y-%m-%d_%H:%M:%S \"" >> /etc/profile'
sudo bash -c 'echo "export HISTTIMEFORMAT" >> /etc/profile'
source /etc/profile
sudo bash -c 'echo "export PROMPT_COMMAND=\`RETRN_VAL=\$?;logger -p local6.debug \"[\$("whoami")][\$"PWD"][\$\$]: \$(history 1 | sed \"s/^[ ]*[0-9]\+[ ]*//\") [\$"RETRN_VAL"]\"\`" >> /etc/bashrc'
sudo sed -i "s/\`/\'/g" /etc/bashrc
source /etc/bashrc
sudo touch /var/log/cmdlog.log
sudo chmod 600 /var/log/cmdlog.log
sudo bash -c 'echo "# cmd log" >> /etc/rsyslog.conf'
sudo bash -c 'echo "local6.* /var/log/cmdlog.log" >> /etc/rsyslog.conf'
sudo service rsyslog restart
간단하게 위의 쉘을 설명하자면, 첫번째로, 명령어를 수행한 시간에 대한 포맷을 설정한 후,
터미널에서 타이핑 후 엔터를 입력하면 syslog에서 local6.notice 채널로 넘겨 해당 cmdlog.log에 그 이력이 쌓이도록 구성하는것 입니다.
아래와 같이 history에서 시간포맷을 정한대로 확인할 수 있으며,
설정한 대로 cmdlog.log에서 명령어들에 대한 로그를 확인할 수 있습니다.
이제 이 경로에 쌓이는 로그를 CloudWatch Logs에 전달될 수 있도록 설정하겠습니다.
아래 명령어를 수행해주세요.
sudo yum update -y
sudo yum install -y awslogs
아래 경로에 있는 awslogs.conf에 아래 사항을 추가해주세요.
[/var/log/cmdlog.log]
datetime_format = %b %d %H:%M:%S
file = /var/log/cmdlog.log
buffer_duration = 5000
log_stream_name = cb-test-api-cmd
initial_position = end_of_file
log_group_name = cb-test-api-cmd
이제 아래 명령어를 수행해서 수집해주도록 하겠습니다.
sudo systemctl enable awslogsd.service
sudo service awslogsd start
만약 위와 같이 수행이 안 된다면, 아래 로그를 통해 문제점을 찾아보시면 됩니다.
sudo cat /var/log/awslogs.log
정상적으로 수행됐을 경우 아래와 같은 로그를 보실 수 있습니다.
'Log Aggregation > CloudWatch or S3' 카테고리의 다른 글
4. ELB, CloudFront, VPC Flow Logs, CloudTrail 수집 - S3 (0) | 2020.04.01 |
---|---|
3. EC2 Linux Application Logs - S3 (Logstash) (0) | 2020.04.01 |
6. ECS Log 수집 - S3 (Fluent.D) (0) | 2020.02.27 |
5. ECS Log 수집 - Cloudwatch (0) | 2020.02.27 |
2. EC2 Linux Command Log 수집 - CW Agent (0) | 2020.02.26 |