[AWS] Cloudwatch 를 이용하여 EC2 로그 백업

pokcha's·2021년 11월 8일
1

aws

목록 보기
2/9

운영중 모니터링 데이터 수집은 중요하다. 그 중 로그는 중요도가 아주 높다.
이 로그를 서버에만 가지고 있다면 보안적으로 좋지 않다. 이때 cloudwatch를 이용하여 로그를 백업 해 보자.

사전에 cloudwatch agent를 설치하여야 한다.

1. Cloudwatch configuration

cloudwatch agent를 설치하고 나면 config파일이 생성된다.
여러 폴더에 분산 되어있는 파일의 로그를 전달하는 경우 아래와 같은 방법으로 push 할 수 있다.

$ vi /opt/aws/amazon-cloudwatch-agent/bin/config.json
{
	"agent": {
		"metrics_collection_interval": 60,
		"run_as_user": "root"
	},
	"logs": {
		"logs_collected": {
			"files": {
				"collect_list": [
					{
						"file_path": "/var/log/messages",
						"log_group_name": "testlogbackup",
						"log_stream_name": "{instance_id}"
					}
				]
			}
		}
	}, ...
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/logs.json -s

수정된 json 설정으로 cloudwatch agent를 실행한다.

설정된 경로인 '/var/log/messages' 의 로그를 cloudwatch에 전달한다.
cloudwatch의 로그그룹에서 제대로 생성되었는지 확인 해 보자.

log_group_name 으로 지정된 'testlogbackup'으로 올라와 있다.
로그 스트림을 확인해 보면 로그 이벤트가 타임스탬프에 맞춰 출력된다.

profile
AWS 운영기록 💾

0개의 댓글