Aws
EC2 접속 시 CloudWatch LogGroup에 USER 로그 작성하기
wngnl05
2024. 12. 24. 15:07
EC2 Setting
더보기
시작하기 전에 Bastion에서 계정을 하나 생성해줍니다.
passwd명령으로 계정에 비밀번호를 설정해줍니다.
sudo useradd wngnl
sudo passwd wngnl
Log를 저장할 login.txt를 만들어주겠습니다. <파일 이름 변경 가능>
sudo touch /var/log/login.txt
sudo chmod 777 /var/log/login.txt
Bastion에 접속할 때 마다 sh명령을 실행하도록 해주겠습니다. <login.sh 파일 이름은 아무 상관 없음>
login.sh에 접속하여 아래 코드를 넣어줍니다. <login.sh는 처음에 빈 파일이 맞음>
sudo vi /etc/profile.d/login.sh
echo "$(date '+%Y-%m-%d %H:%M:%S') Login: $USER" >> /var/log/login.txt
echo "$USER, $USER has logged out!, $(TZ='Asia/Seoul' date '+%Y-%m-%d %H:%M:%S')" >> /var/log/login.txt
sudo chmod 777 /etc/profile.d/login.sh
다시 로그인 후 알맞은 USER가 입력되었는지 확인해주세요.
cat /var/log/login.txt
CloudWatch Agent
더보기
Install CloudWatch Agent
wget https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
sudo rpm -U ./amazon-cloudwatch-agent.rpm
아래 명령어를 실행하면 여러 질문이 나오는데
블로그를 보고 따라해주세요. <같이 번역 하면서 응답 하는게 더 안전합니다.>
ex. 잘못 선택하면 로그 그룹이 2개 생성되니 조심하세요.
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
오류 메시지를 저장할 디렉토리 및 파일을 생성해줍니다. <필수>
sudo mkdir /usr/share/collectd
sudo touch /usr/share/collectd/types.db
CloudWatch Logs Agent 실행 Command
sudo /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
이제 CloudWatch LogGroup으로 가면 메시지를 확인할 수 있습니다.