AWS Cloud

[CloudWatch] LogGroup으로 로그 보내기

Sungtaek, YOO 2022. 8. 9. 00:01
반응형

1. 목적

인스턴스에서 발생하는 로그(ex. /var/log/message)를 보기좋게 백업하고 확인할 수 있는 방법 중 하나는 LogGroup으로 로그를 전달하는 방법이다.

 

 

 

2. 권한 주기

권한을 주는 방법은 생각나는 건, 두 가지이다.

첫째, EC2에 Role을 추가하기. 내가 진행하려는 것은 인스턴스에서 LogGroup으로 로그를 전송하는 것이기 때문에 인스턴스에서 진행하는 것으로 설명 진행.

둘째, 액세스키 생성 후 인스턴스에서 configure 설정하여, LogGroup으로 로그를 전송하는 방법.

 

3. awslogs 설치

설치는 yum을 통해 진행하면 되므로 간단하다.

yum install -y awslogs

 

 

 

 

3. conf 파일 설정 변경해주기

첫째. 

/etc/awslogs/awscli.conf

파일의 설정을 변경해준다.

변경은 region 을 변경해주면 끝. 리전은 내가 사용하는 리전으로 변경해주면 됨.

 

 

둘째.

/etc/awslogs/awslog.conf

이 설정에서는 약간의 커스터마이징(?)이라 해야하나. 어쨋거나 할 수 있다.

이번 테스트에서는 time_zone을 LOCAL로 추가했고, 인스턴스내 어떤 파일을 보낼 것인지를 설정하는 부분.

아래에서는 'file'을 보면 /var/log/messages 파일을 보내게 되어있다.

log_group_name은 로그그룹에 미리 생성해준 LogGroup 이름을 입력해주면 된다.

log_stream_name은 로그그룹에 어떤 이름으로 파일을 남기는지에 대한 부분이고, 인스턴스id와 인스턴스의ip를 표시하게 하였다.

 

** 빠뜨리면 안되는 것이, awslogs 서비스를 실행시켜야한다.

service awslogs start

 

4. 결과물

설정을 완료하고, 서비스도 정상적으로 실행시키면 위와 같은 형식으로 로그 확인이 가능하다.

 

반응형