AWS 리소스의 상태를 모니터링하는 CloudWatch

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

CloudWatch 커스텀 측정치 사용하기

CloudWatch에서는 기본적으로 제공하는 측정치 이외에도 사용자가 측정한 값을 사용할 수도 있습니다. 이것을 커스텀 측정치Custom Metric라 합니다. 커스텀 측정치는 서버 애플리케이션, 로그 파일, 언어 레벨에서 측정치를 생성하고, 이 값들을 모니터링 하거나 CloudWatch 액션을 제어하고 싶을 때 사용합니다.

이번 예제는 Amazon Linux에서 실행하는 것을 권장합니다. Amazon Linux는 AWS 명령행 인터페이스AWS CLI가 미리 설치되어 있기 때문에 매우 편리합니다. Windows, Ubuntu Linux 또는 기타 Linux에는 기본적으로 AWS CLI가 설치되어 있지 않습니다. 따라서 AWS CLI를 따로 설치해야 합니다. 설치 방법은 https://aws.amazon.com/ko/cli/에 나와 있습니다. SSH로 EC2 인스턴스(Example Server)에 접속한 뒤 aws configure 명령을 입력하여 액세스 키와 시크릿 키를 설정합니다.

액세스 키와 시크릿 키를 생성하지 않았다면 ‘9장 API와 툴 사용을 위한 액세스 키 생성하기’를 참조하여 액세스 키와 시크릿 키를 생성합니다.

  • AWS Access Key ID [None]: 액세스 키를 입력합니다.
  • AWS Secret Access Key [None]: 시크릿 키를 입력합니다.
  • Default Region name [None]: Tokyo 리전을 뜻하는 ap-northeast-1을 입력합니다.
  • Default output format [None]: 비워둡니다(json, text, table을 사용할 수 있습니다).
[ec2-user@ip-172-31-21-171 ~]$ aws configure
AWS Access Key ID [None]: AKIAJMVSZ7VUHUCJJFNA
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-1
Default output format [None]:

이제 AWS CLI를 사용할 수 있게 되었습니다. 터미널에 다음과 같이 입력하면 aws cloudwatch 명령으로 커스텀 측정치를 생성할 수 있습니다.

  • put-metric-data: 측정치를 보내겠다는 명령입니다.
  • --namespace: 측정치 대 분류입니다. 이 분류 안에 측정치들이 포함됩니다.
  • --metric-name: 측정치 이름입니다.
  • --value: 측정치 값입니다. 숫자로만 입력해야 하며 소수점을 사용할 수 있습니다.
[ec2-user@ip-172-31-21-171 ~]$ aws cloudwatch put-metric-data --namespace "Hello" --metric-name "World" --value 10

CloudWatch 페이지의 왼쪽을 보면 Custom Metrics… 콤보 박스가 생긴 것을 볼 수 있습니다. 방금 생성한 namespace인 Hello를 선택하면 측정치 목록이 출력됩니다. 그리고 World 측정치를 선택하면 그래프에 측정치 10이 표시된 것을 확인할 수 있습니다.


그림 10-18 CloudWatch 커스텀 측정치 목록

예제에서는 이 명령을 손으로 직접 입력했지만 실무에서 활용하는 방법은 다음과 같습니다.

  • Linux의 cron에 등록하여 5분 혹은 1분 마다 aws cloudwatch 명령 실행
  • Windows의 작업 스케쥴러에 등록하여 5분, 혹은 1분 마다 aws cloudwatch 명령 실행
  • Node.js에서 child_process.exec를 사용하여 aws cloudwatch 명령 실행 또는 AWS JavaScript SDK 활용
  • 기타 어떠한 방법이든 aws cloudwatch 명령을 실행하면 됩니다.

이제 Custom Metric을 이용하여 이메일 알림(Notification), 자동 횡적 확장(Auto Scaling) 등의 액션을 사용할 수 있습니다.

AWS CLI CloudWatch
AWS CLI CloudWatch에 대한 더 자세한 내용은 링크를 참조하기 바랍니다.
http://docs.aws.amazon.com/cli/latest/reference/cloudwatch/index.html


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.