CloudWAtch Agent 를 설치하여 메모리, 디스크를 감시하는 방법에 대해 알아보자

CloudWAtch Agent 를 설치하여 메모리, 디스크를 감시하는 방법에 대해 알아보자

Clock Icon2024.08.23

안녕하세요! 클래스메소드 금상원 입니다.
이번 블로그에서는 Cloud Watch Agent 를 설치하여 메모리 디스크를 감시하는 방법에 대해 알아보도록 하겠습니다.

CloudWatch Agent 란?

운영 체제 전반에 걸쳐 Amazon EC2 인스턴스에서 내부 시스템 수준 지표를 수집할 수 있습니다. 지표에는 EC2 인스턴스 지표뿐만 아니라 인게스트 지표도 포함될 수 있습니다.

설정 파일 작성

CloudWatch 에이전트를 실행하기 전에 하나 이상의 CloudWatch 에이전트 구성 파일을 생성해야 합니다.

아래의 코드는 메모리의 사용량과 디스크의 남은 용량을 표시해 줍니다.

{
	"metrics": {
		"append_dimensions": {
			"InstanceId": "${aws:InstanceId}"
		},
		"metrics_collected": {
      "Memory": {
				"measurement": [
					"% Committed Bytes In Use"
				],
				"metrics_collection_interval": 60
			},
      "LogicalDisk": {
				"measurement": [
					"% Free Space"
				],
				"metrics_collection_interval": 60,
				"resources": [
					"*"
				]
			}
		}
	}
}

설정 파일 작성 방법에 대해서는 아래의 블로그를 참고해 주세요.
https://dev.classmethod.jp/articles/monitoring-ec2-using-aws-cloudwatch-for-beginner/#Parameter%2520Store%25EC%2597%2590%2520%25ED%258C%258C%25EB%259D%25BC%25EB%25AF%25B8%25ED%2584%25B0%2520%25EC%259E%2591%25EC%2584%25B1

수집 가능한 메트릭스는 아래의 공식문서를 참고해 주세요

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html

파마미터 스토어 코드 등록하기

스크린샷 2024-08-22 오후 5.30.13

AWS 검색창에서 「Systems Managers」 를 검색합니다.

스크린샷 2024-08-22 오후 5.30.56

왼쪽메뉴 「파라미터 스토어」 를 클릭하고, 「파라미터 작성」 버튼을 클릭합니다.

스크린샷 2024-08-22 오후 5.31.25

「이름」「설명」 을 입력하고, 계층을 「표준」 으로 선택합니다.

스크린샷 2024-08-22 오후 5.32.07

유형을 「문자열」 을 선택하고 데이터 형식 「text」 를 선택합니다. 그리고 값에 위에서 작성한 코드를 입력합니다.

스크린샷 2024-08-22 오후 5.33.01

위의 작업들이 완료되면 「파라미터 생성」 버튼을 클릭합니다.

IAM 작성하기

스크린샷 2024-08-22 오후 5.40.15

AWS 검색창에 「IAM」 을 검색합니다.

스크린샷 2024-08-22 오후 5.55.37

왼쪽 메뉴에서 「역활」 을 클릭하고, 「역활 생성」 버튼을 클릭합니다.

스크린샷 2024-08-22 오후 5.59.25

신뢰할 수 있는 엔터티 유형 「AWS 서비스」 를 선택합니다.
사용 사례 에서 「EC2」 를 선택히고, 다음 버튼을 클릭합니다.

스크린샷 2024-08-22 오후 6.01.51

권한 정책에서 「AmazonSSMManagedInstanceCore」 를 검색하고 선택합니다.

스크린샷 2024-08-22 오후 6.02.18

추가로 「CloudWatchAgentAdminPolicy」 도 검색하고 선택한 후 「다음」 버튼을 클릭합니다.

스크린샷 2024-08-22 오후 6.02.53

「역활 이름」 을 입력합니다.

스크린샷 2024-08-22 오후 6.03.10

추가된 권한이 맞는지 확인하고 「역활 생성」 버튼을 클릭합니다.

EC2 인스턴스에 설치하기

EC2 인스턴스에 CloudAgent 를 설치하고 감시하기 위해 아래의 조건이 필요합니다.

  • EC2 인스턴스가 인터넷과 통신이 가능한가
  • 위에서 작성한 IAM 역활이 EC2 인스턴스에 설정이 되어 있는가

SSM Agent 갱신

스크린샷 2024-08-22 오후 5.30.13

AWS 검색창에서 「Systems Managers」 를 검색합니다.

스크린샷 2024-08-22 오후 6.44.28

왼쪽 메뉴에서 「명령 실행」 을 클릭하고, 「명령 실행」 버튼을 클릭합니다.

스크린샷 2024-08-22 오후 6.45.30

명령 문서에서 「AWS-UpdateSSMAgent」 검색하고 선택합니다.

스크린샷 2024-08-22 오후 6.45.57

아래의 대상에서 「수동으로 인스턴스 선택」 을 선택하고, SSM Agnet를 갱신할 EC2인스턴스를 선택합니다.

인스턴스가 나타나지 않는다면 아래의 블로그를 참고해 주세요

https://dev.classmethod.jp/articles/jw-what-to-look-at-when-the-ssm-is-not-connected-in-an-ec2-instance/

스크린샷 2024-08-22 오후 6.46.34

출력옵션에서 「S3 버킷에 쓰기 활성화」 체크를 해제합니다.

스크린샷 2024-08-22 오후 6.46.58

위의 설정이 완료되면 아래의 「실행」 버튼을 클릭하여 완료합니다.

CloudWatch Agent 설치

CloudWatch Agent를 설치 하기 위해 아래의 2개의 명령 문서를 실행시킵니다.

  • AWS-ConfigureAWSPackage
  • AmazonCloudWatch-ManageAgent

AWS-ConfigureAWSPackage 실행

스크린샷 2024-08-22 오후 6.50.30

위와 똑같이 「명령 실행」 버튼을 클릭한 후 「AWS-ConfigureAWSPackage」 를 검색하고 선택합니다.

스크린샷 2024-08-22 오후 6.51.14

아래의 명령 파라미터에서 「Name」 부분에 「AmazonCloudWatchAgent」 를 입력합니다.

그 다음 순서는 위의 「SSM Agent 갱신」 과 같습니다.

AmazonCloudWatch-ManageAgent 실행

스크린샷 2024-08-22 오후 6.53.12
위와 똑같이 「명령 실행」 버튼을 클릭한 후 「AmazonCloudWatch-ManageAgent」 를 검색하고 선택합니다.

스크린샷 2024-08-22 오후 6.56.14 「」

아래의 명령 파라미터 에서 「Optional Configuration Source」 부분에는 「ssm」 를 입력합니다.
「Optional Configuration Location」 부분에서는 위에서 작성한 「파마미터 스토어」 의 이름을 입력합니다.

그 다음 순서는 위의 「SSM Agent 갱신」 과 같습니다.

확인

스크린샷 2024-08-22 오후 6.59.28

AWS 검색창에서 「CloudWatch」 를 검색합니다.

스크린샷 2024-08-22 오후 6.59.45

왼쪽 메뉴에서 「모든 지표」 를 클락한 후, 감시 대상의 인스턴스 ID 를 검색합니다.

스크린샷 2024-08-22 오후 7.00.24

「사용자 지정 네임스페이스」 에 표시되는 2가지를 확인한 후 각각 클릭합니다.

스크린샷 2024-08-22 오후 7.01.32

위의 화면과 같이 디스크 감시의 지표를 확인할 수 있습니다.

스크린샷 2024-08-22 오후 7.01.13

위의 화면과 같이 메모리 감시의 지표를 확인할 수 있습니다.

마무리

이번 블로그에서는 CloudWatch Agent 를 이용하여 EC2 인스턴스의 디스크 사용량과 메모리 사용량을 감시 설정하는 방법에 대해 알아보았습니다. 평소에 감시설정이 하고싶었던 분들께 조금이나마 도움이 되었으면 좋겠습니다.

참고자료

https://dev.classmethod.jp/articles/manage-the-cloudwatch-agent-from-the-parameter-store/

https://dev.classmethod.jp/articles/jw-how-to-collect-logs-from-the-cloudwatch-agent/

https://dev.classmethod.jp/articles/monitoring-ec2-using-aws-cloudwatch-for-beginner/#Parameter

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.