Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Study_note

CloudWatch Agent 설치 및 원하는 지표 값 할당 본문

Terraform

CloudWatch Agent 설치 및 원하는 지표 값 할당

Study_note 2023. 4. 19. 16:08

CloudWatch는 기본적으로 Memory와 Disk에 대해서는 수집을 하지 못하기 때문에 수집을 하기 위해서는 CloudWatch Agent를 설치하고 설정해줘서 수집 및 대시보드로 구성해야 합니다. 이번 글에서는 CloudWatch Agent 설치와 Dashboard 구성을 해보도록 하겠습니다.

 

설치 방법은 다양합니다

1. 직접 접속하여 명령어를 통해 CloudWatch Agent를 설치하고 wizard 사용하여 지표를 구성할 파일들을 올리는 방법

2. Systems Manager를 사용하여 CloudWatch Agent를 설치하고 지표를 구성할 파일들 또한 Systems Manager 파라미터 스토어를 사용하여 업로드 하는 방법

 

우선 1번 방법으로 CloudWatch Agent 생성은 아래와 같습니다.

 

1-1 EC2에 할당할 역할 생성 합니다

 

1-2. CloudWatchAgentServerPolicy 정책 할당 후 생성 합니다

1-3. 인스턴스에 방금 생성한 역할 할당 합니다

 

1-4 서버 접속 후 CloudWatchAgent 패키지 설치 및 CloudWatchAgent 생성 경로에 config 파일 설치 합니다

sudo yum install amazon-cloudwatch-agent -y
cd /opt/aws/amazon-cloudwatch-agent/bin
vi config.json

생성한 config.json 실행
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

cloudwatch-agent가 실행되는지 확인
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

 

작성한 json 파일의 지표 수집 주기는 60초 입니다. 변경을 하시고 싶으시면, metrics_colliection_interval 부분을 변경해주시면 됩니다.

{
	"agent": {
			"metrics_collection_interval": 60,
			"run_as_user": "cwagent"
	},
	"metrics": {
			"append_dimensions": {
				"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
				"ImageId": "${aws:ImageId}",
				"InstanceId": "${aws:InstanceId}",
				"InstanceType": "${aws:InstanceType}"
			},
			"metrics_collected": {
				"disk": {
					"measurement": [
						"used_percent"
				],
				"metrics_collection_interval": 60,
					"resources": [
							"*"
				]
			},
			"mem": {
					"measurement": [
						"mem_used_percent"
					],
					"metrics_collection_interval": 60
			}
		}
	}
}

 

1-5  CloudWatchAgent 콘솔에서 확인 합니다

 

 

왼쪽의 지표는 disk 지표, 오른쪽 지표는 memory와 관련된 지표 입니다.

각각 클릭하셔서 사용량 파악이 가능합니다.(처음 agent 실행 이후 어느 정도 지나야 처음 데이터가 찍히기 시작합니다)

 

여기까지가 콘솔에서 작업하는 방법입니다.

 

만약에 CloudWatchAgent를 설치할 서버가 한 대가 아니고 여러대라면 2번째 방법이 알맞을 수도 있습니다.

 

2번째는 아래와 같습니다.

 

2-1 위에서 config.json 형태로 생성했던 파일을 파라미터 스토어로 생성 합니다 (값에는 config.json에 설정한 값 입력)

 

2-2 총 3개의 권한을 할당 여기서 allow-parameter 정책은 아래와 같이 직접 생성하고 해당 리소스를 위에서 생성한 cw-agent라는 파라미터를 지정해줍니다.

2-3 생성한 역할은 1-3 처럼 인스턴스에 연결 시켜주면 됩니다.

 

2-4 system manager - 명령 실행 으로 이동하고 AWS-ConfigureAWSPackage 검색 및 선택하여 CloudWatch Agent를 설치합니다

AWS-ConfigureAWSPackage는 패키지 설치 또는 업데이트를 한번에 해주는 명령입니다.

명령 파라미터 Name에는 AmazonCloudWatchAgent입력 그대로 입력해야합니다(대소문자 주의)

아래와 같이 대상을 선택해 설치할 인스턴스를 선택하거나 태그 기반으로 선택하여 생성 가능합니다.

 

2-5 이제 CloudWatch Agent를 생성했으니 설정 파일인 파라미터를 실행 시켜 원하는 지표를 얻는 명령을 실행 시킵니다

AmazonCloudWatch-ManageAgent라는 명령어를 검생하고 실행 시킵니다.

 

2-6 성공적으로 CloudWatch Agent가 생성되고 파라미터를 통해 config 파일 또한 적용된것을 확인 가능합니다.

감사합니다.

Comments