EC2(AmazonLinux2)의 로그를 CoudWatch Logs에 흘리기

공식 문서
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 C ぉ 우도 tch / ぁ st / ぉ gs / 쿠이 ckS 터 C2 엥 s 단세. HTML

(1) IAM 롤 준비 → CloudWatchFull 액세스로 k.
(2) Agent 설치
$ sudo yum update -y
$ sudo yum install -y awslogs
$ sudo vi /etc/awslogs/awscli.conf
    # ここでregionをap-northeast-1に指定。
$ sudo vi /etc/awslogs/awslogs.conf
    # ここでCloudWatchに流したい対象のファイルを指定。
$ sudo systemctl start awslogsd
$ sudo systemctl enable awslogsd.service

awslogs.conf를 작성하는 방법
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 C ぉ 우도 tch / ぁ st / ぉ gs / 아겐 t 레후 렌세. HTML

참조
[logstream1]
log_group_name = value
log_stream_name = value
datetime_format = value
time_zone = [LOCAL|UTC]
file = value
file_fingerprint_lines = integer | integer-integer
multi_line_start_pattern = regex | {datetime_format}
initial_position = [start_of_file | end_of_file]
encoding = [ascii|utf_8|..]
buffer_duration = integer
batch_count = integer
batch_size = integer

conf 파일에는 복수의 로그 스트림의 정의를 쓸 수 있다. 그 구별을 위해서, 괄호 [ ] 에 파일내에서 일의인 이름을 붙인다.

검증으로서 이하와 같이 기술.

/etc/awslogs/awslogs.conf
[/home/ec2-user/log.txt]
datetime_format = %b %d %H:%M:%S
file = /home/ec2-user/log.txt
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = ec2_log                                                                            

test.sh
#!/bin/sh
echo "now called" >> ./log.txt
test.sh 실행할 때마다 ClowdWatch에서 로그를 볼 수 있습니다.



또한, 한번 재기동한 후에도 로그가 흐르는 것을 확인할 수 있었다.

추가

로그 파일에는 날짜나 시각을 포함할 수 있기 (위해)때문에, 범용적으로 로그 스트림에 흘릴 수 있도록(듯이) 개변. 와일드카드를 사용할 수 있다.

/etc/awslogs/awslogs.conf
[/home/ec2-user/log.txt]
datetime_format = %b %d %H:%M:%S
file = /home/ec2-user/log*.txt
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = ec2_log  

또한, 여기를 편집했을 경우는, 반영시키기 위해, 이하의 순서를 실행.
$ sudo systemctl stop awslogsd
$ sudo systemctl start awslogsd
$ sudo systemctl enable awslogsd.service

좋은 웹페이지 즐겨찾기