favicon Jay Lee DevLog

📚 목차

오늘은 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파일을 통해서 설치한다.

 

config.json
0.00MB

 

해당 파일을 /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 항목이 보인다면 정상적으로 동작하는거다.

이후

해당 지표를 추가하면,

인스턴스의 메모리 사용량을 로그로 남길 수 있다.

 

+ Recent posts

/ /

Contact

📧 dlwjdwls60@naver.com


블로그에 내용이 있으면 해당 글을 보여주며, 없으면 내용이 복사된 채로 ChatGPT로 연결됩니다.