티스토리 뷰

회사에서 사용하는 AWS에 조회용도로 사용될 API서버를 추가하고 모니터링을 하기 위해

CWA를 설치하기로 하였습니다.

윈도우 서버에는 설치해봤는데 리눅스 계열에는 처음이라 AWS설명서도 살펴보고 구글검색도 해봤습니다.

 

aws 설명서 :

https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

 

CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집 - A

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

명령줄을 사용하여 설치하는 방법으로 진행하였습니다.

 

1. 에이전트 다운로드

curl -o /root/amazon-cloudwatch-agent.deb https://s3.amazonaws.com/amazoncloudwatch-agent/debian/amd64/latest/amazon-cloudwatch-agent.deb

2. 에이전트 설치

dpkg -i -E /root/amazon-cloudwatch-agent.deb

3. cwagent 계정생성

usermod -aG adm cwagent

3. IAM 역할추가 ( 아래 블로그 참고 )

https://medium.com/@labcloud/ec2%EC%97%90-cloudwatch-agent-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-e7113cdc396e

 

EC2에 CloudWatch Agent 사용하기

EC2에서 CloudWatch Agent를 설치하여 모니터링하는 것을 테스트해보겠습니다.

medium.com

* config.json 생성은 윈도우에 설치할 때도 위의 블로그 참고해서 추가해줬습니다.

이번에는 필요한 항목만 넣으려고 /opt/aws/amazon-cloudwatch-agent/bin/ 폴더에 수동으로 생성하였습니다.

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

4. Agent 실행

/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

5. Agnet 실행확인

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

 

* Agent 중지시킬 때도 amazon-cloudwatch-agent-ctl 을 이용해서 stop 을 해주면 됩니다.

 

대부분 과정은 아래 블로그를 참고하였습니다.

https://www.petefreitag.com/item/868.cfm

 

Setup CloudWatch Logs Agent on Ubuntu 18.04 LTS

The AWS CloudWatch Logs Agent can be setup to push logs to the AWS CloudWatch Logs service from any server. In this howto, I'll show you how to set it up on Ubuntu 18.04 LTS, but you should be able to follow similar steps on Ubuntu 16.04 or other operating

www.petefreitag.com

다만 중간에 한참 헤맨게 있는데 Agnet 실행 후 CloudWatch 지표에 추가가 안되고있길래

amazon-cloudwatch-agent.log를 살펴보니 

refresh EC2 Instance Tags failed: SharedCredsLoad: failed to get profile, metrics will be dropped until it got fixed

이런 오류줄이 지속적으로 쌓이고있었습니다.

하루종일 검색해보다가 겨우 찾았는데 바로 위 링크의 블로그에서 중간에 실행했던게 문제가 되었었습니다!!

 

바로 이부분!! 

/home/cwagnet/.aws/ 폴더생성하고 credentials파일만들어서 엑세스키 입력한다음

common-config.toml 에다 저 경로를 추가해줬었는데 지우고 다시 실행해보니 정상적으로 지표수집이 시작되었습니다.

수집이 정상적으로 시작되면 agent.log에 마지막 줄이 

Agent Config: Interval:1m0s, Quiet:false, Hostname:"ip-XXX", Flush Interval:1s 

위와같이 남게됩니다.

 

'개발 > aws' 카테고리의 다른 글

S3 버킷에 DB파일 백업 및 복원  (0) 2018.08.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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 31
글 보관함