본문 바로가기
[AWS]/ROG

[AWS] Monitoring - 2. CloudWatch Agent 설치[Memory/Disk 수집]

by SAMSUNG CLOUD-OKY 2022. 2. 28.
반응형

 

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

 

1. IAM 역할 만들기

수집할 EC2 인스턴스가 CloudWatch Agent의 수집을 할 수 있도록 IAM의 역할[CloudWatchAgentServerPolicy]을 생성하도록 하겠습니다.

 

역할 선택 > 역할 만들기 를 클릭합니다.

일반 사용 사례 EC2 클릭 > 다음:권한 클릭합니다.

 

정책 필터에 cloudwatchagent > CloudWatchAgentServerPolicy 체크박스 선택 다음:태그 를 클릭합니다.

 

태그(옵션)을 추가합니다. 본인이 사용하는 Tag에 맞게 작성하여 관리하시는 것을 추천합니다. 이번 글에서는 테스트용이기 때문에 Name-Test Tag를 작성하도록 하겠습니다. 다음:검토 를 클릭합니다.

정책에 CloudWatchAgentServerPolicy를 확인하고 역할 이름을 작성합니다. 필요하다면 역할 설명도 작성 후 역할 만들기를 실행합니다.

 

2. EC2 IAM 역할 설정

위에서 생성했던 CloudWatchAgentServerRole1을 CloudWatch Agent를 설치할 EC2 인스턴스에 IAM 역할 설정을 해보도록 하겠습니다.

 

CloudWatch Agent를 설치할 EC2를 체크하여 인스턴스 설정 > IAM 역할 수정을 클릭합니다.

생성한 IAM 역할[CloudWatchAgentServerRole1]를 선택한 후 저장을 클릭합니다.

3. EC2 인스턴스 CloudWatch Agent 설치[SSH 접속]

CloudWatch Agent를 설치할 EC2 인스턴스에 SSH를 통하여 접속합니다.

CloudWatch Agent 패키지를 다운로드 합니다. 해당 링크는 Amazon Linux를 위한 패키지이며, 다른 Linux OS는 아래의 URL에서 확인해서 링크를 통해 설치를 진행하면 됩니다.

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html

 

Download and Configure the CloudWatch Agent Using the Command Line - Amazon CloudWatch

Download and Configure the CloudWatch Agent Using the Command Line Use the following steps to download the CloudWatch agent package, create IAM roles or users, and optionally modify the common configuration file. Download the CloudWatch Agent Package The C

docs.aws.amazon.com

wget https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip

install package의 압축을 해제합니다.

unzip AmazonCloudWatchAgent.zip
sudo ./install.sh

EC2 인스턴스에서 아래 명령을 실행하여 CloudWatch Agent 구성 파일 마법사를 시작합니다.

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

파일 마법사에 적용할 디폴트 내용은 아래와 같습니다.

위의 디폴트 구성으로 설정하면 아래와 같은 config 파일이 생성됩니다.

{
	"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
			}
		}
	}
}

CloudWatch Agent를 실행합니다.

sudo /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 수집한 지표를 사용하는 대에는 최대 5분이 소요될 수 있습니다.

 

4. CloudWatch 대시보드 설정하기

 

CloudWatch > 지표 > 사용자 지정 네임스페이스 > CWAgent 를 클릭합니다.

ImageId, InstanceId, InstanceType 을 클릭합니다.

CloudWatch Agent를 설치해준 인스턴스를 선택하면 mem_used_percent가 나오는 것을 확인 할 수 있습니다.

ImageId, InstanceId, InstanceType, device, fstype, path 를 클릭합니다.

해당항목에서 disk_used_percent를 확인 할 수 있습니다.

다음글에서는 Windows OS의 CloudWatch Agent 설치에 대해서 작성할 예정입니다.

 

 

 

 

 

 

출처 :

https://longtermsad.tistory.com/37

반응형

댓글