【AWS】EC2 로그를 CloudWatch로 보내기
3726 단어 EC2CloudWatchCloudWatch-Logs
하고 싶은 일
EC2 인스턴스의 로그를 AWS에서 관리하고 싶습니다.
로그를 AWS에서 관리하는 것이 기쁘다.
다양한 용도로 CloudWatch Logs를 시작으로 EC2의 로그를 CloudWatch로 보냅니다.
1. CloudWatch 쓰기를 위한 정책을 생성하여 EC2 역할에 연결
「IMA」→「정책」→「정책의 작성」
JSON 탭을 선택하고 정책을 추가합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"*"
]
}
]
}
참고 : htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 C ぉ 우도 tch / ぁ st / ぉ gs / 쿠이 ckS 터 C2 엥 s 단세. HTML
정책 이름으로 "정책 만들기"
방금 만든 정책을 EC2 인스턴스의 역할에 연결합니다.
2. EC2에 CloudWatchLogs 에이전트를 설치합니다.
※EC2의 이미지는 AmazonLinux2를 사용하고 있습니다
CloudWatchLogs 에이전트 설치
$ sudo yum update -y
$ sudo yum install -y awslogs
awscli.conf 수정
$ sudo vi /etc/awslogs/awscli.conf
[default]
region = us-east-1
↓
[default]
region = ap-northeast-1
CloudWatch로 보낼 로그를 지정합니다.
디폴트로/var/log/messages를 보내는 설정이 기재되어 있으므로, 그것을 수정해 이번은/var/log/test.log를 작성해, 대상의 로그 파일로 합니다.
awslogs.conf 수정
$ sudo vi /etc/awslogs/awslogs.conf
[/var/log/test.log]
datetime_format = %b %d %H:%M:%S
file = /var/log/test.log
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = /var/log/test.log
서비스 시작
$ sudo systemctl start awslogsd
서비스 자동 시작 설정
$ sudo systemctl enable awslogsd.service
이것으로 설치와 설정이 완료되므로 동작 확인을 실시합니다.
3. 동작 확인
대상 로그 파일에 문자열을 나열합니다.
$ sudo vi /var/log/test.log
aaaaaa
CloudWatch 로그를 확인합니다.
CloudWatch → 로그 → 로그 그룹
awslogs.conf의 log_stream_name 값을 인스턴스 ID로 설정했으므로 로그 그룹 → 인스턴스 ID 아래에 EC2 로그가 출력됩니다.
awslogs.conf에 대한 자세한 설정 항목은 공식을 참조하십시오.
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 아마 존 C ぉ 우도 tch / ぁ st / ぉ gs / 아겐 t 레후 렌세. HTML
Reference
이 문제에 관하여(【AWS】EC2 로그를 CloudWatch로 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/flySheep/items/b163b42f48a626b463f7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)