오늘은 CloudWatch를 사용하기 위한
CWA(CloudWatch Agent) 설치와 Role & Policy 설정에 대해 정리하려한다.
먼저 CWA 설치부터 해보자.
설치 방법은 https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html 해당 사이트에서 확인하면 된다.
그래서도 간단하게 정리해보자면,
나같은 경우 yum으로 다운받을 수 없는 환경이어서
rpm 패키지를 다운로드 받아서 직접 설치했다.

먼저 wget으로 해당 url에 접속해 rpm 파일 다운로드.
wget https://amazoncloudwatch-agent.s3.amazonaws.com/centos/amd64/latest/amazon-cloudwatch-agent.rpm |
그 후 사이트에서 안내하는 대로 설치하면 된다.
rpm -U '위에서 다운로드 받은 파일명' |
설치가 완료되면 rpm 명령을 통해 제대로 설치됐는지 확인해보자.
rpm -qa amazon-cloud* |

위와 같이 나온다면 설치는 잘된거다.
이후,
systemctl start amazon-cloudwatch-agent |
실행하여 CWA를 실행시켜준다.
이제 aws 콘솔에서 사용하기 위한 설정이 필요한데,
보통은 json파일을 통해서 설치한다.
해당 파일을 /opt/aws/amazon-cloudwatch-agent/bin/ 경로에 넣은 후에
아래의 커맨드를 실행하여 셋팅하자.
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 file://opt/aws/amazon-cloudwatch-agent/bin/config.json -s |
이후 CWA 재시작해주면 일단 CWA 설치까지는 완료된 거다.

이제 예시로 메모리를 수집해보자.
먼저 설치된 CWA를 사용하기 위해선 정책 설정을 해줘야 한다.
해당 부분은 디테일하게 설명하려면 글이 길어지므로 일단 대강 설명하겠다.
먼저 IAM 메뉴에서 Role을 하나 만들어준다.

이후 정책을 추가해주면 되는데,
나는 테라폼으로 만들어버려서 이부분은 아직 콘솔로는 해보질 않아서 잘모른다.
여튼, 정책을 생성 후에 아래의 내용을 추가해준다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CWACloudWatchServerPermissions",
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"ec2:DescribeVolumes",
"ec2:DescribeTags",
"logs:PutLogEvents",
"logs:PutRetentionPolicy",
"logs:DescribeLogStreams",
"logs:DescribeLogGroups",
"logs:CreateLogStream",
"logs:CreateLogGroup",
"xray:PutTraceSegments",
"xray:PutTelemetryRecords",
"xray:GetSamplingRules",
"xray:GetSamplingTargets",
"xray:GetSamplingStatisticSummaries"
],
"Resource": "*"
},
{
"Sid": "CWASSMServerPermissions",
"Effect": "Allow",
"Action": [
"ssm:GetParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/AmazonCloudWatch-*"
}
]
}
여기까지하면, CWA 사용을 위한 준비가 끝난다.
이제 콘솔에서 사용해보자.

CloudWatch 메뉴에서 대시보드 -> 대시보드 생성을 누른 후

행을 선택하고,

위와 같이 CWAgent 항목이 보인다면 정상적으로 동작하는거다.
이후

해당 지표를 추가하면,
인스턴스의 메모리 사용량을 로그로 남길 수 있다.
'Cloud > AWS' 카테고리의 다른 글
인스턴스에 S3 Mount 하여 사용하기 (0) | 2024.07.02 |
---|---|
AWS SNS 만들고, 구독 하기(CLI 사용) (0) | 2024.05.27 |
Application Load Balancer에 대한 고정 세션(Sticky) (0) | 2024.04.02 |
ELB(Elastic Load Balancer) 사용해보기 (0) | 2024.04.02 |
S3 CRR(교차리전복제)과 CRR 상태 확인 하는 방법 (0) | 2024.03.13 |