DB & AWS Knowledge
AWS CLI 를 통한 CloudWatch metric 수집 본문
해당 페이지에서는 AWS CLI 를 통한 CloudWatch metric 수집 방법을 다룬다.
해당 글은 이전 개시글중에서 아래의 게시글을 먼저 읽고 오면 좋다.
2022.05.26 - [AWS 및 클라우드 지식/AWS 지식] - CloudWatch 개요
2022.05.27 - [AWS 및 클라우드 지식/AWS 지식] - CloudWatch (CW) metric
2022.06.10 - [AWS 및 클라우드 지식/AWS 지식] - AWS CLI 개요 및 의의
AWS CLI 를 통한 CloudWatch metric 수집 의의
우선 이전 개시글에서 CLI 를 사용하면 쉽게 수행 할 수 있는 업무는 어떤 것이 있는지 예시를 든 적이 있다.
CloudWatch 에서도 metric 을 수집하는게 더 편한 경우가 있는데
예를 들면,
- CloudWatch 콘솔에 들어가지 않고 바로 원하는 인스턴스 (혹은 클러스터) 의 metric 확인
- 원하는 metric 에 대한 수치 증감 분석 및 기타 log 보관성으로 보관하고 싶을 때,
등이 있다. 이외에도 이와 관련된 업무를 수행 할 때는 CLI 가 더 편하다.
AWS CLI 를 통한 CloudWatch metric 수집 방법
CLI 를 통한 CloudWatch metric 수집 방법은 두가지가 있다.
1. JSON format 으로 파일을 만든 후 실행
이 방법은 아래의 CLI 명령어 중, JSON 포맷을 가져오는 명령어로 시작한다.
아래와 같이 get-metric-statistics 기능과 --generate-cli-skeleton 옵션을 조합하면
우리가 JSON 파일을 만들 때 필요한 포맷을 보여준다.
$ aws cloudwatch get-metric-statistics --generate-cli-skeleton
{
"Namespace": "",
"MetricName": "",
"Dimensions": [
{
"Name": "",
"Value": ""
}
],
"StartTime": "1970-01-01T00:00:00",
"EndTime": "1970-01-01T00:00:00",
"Period": 0,
"Statistics": [
"Maximum"
],
"ExtendedStatistics": [
""
],
"Unit": "Kilobits/Second"
}
이를 통해 우리가 필요한 항목들을 각 항목에 넣어서 실행하면 우리가 필요로 하는 metric 을 수집 할 수 있다.
아래 예시는 필자가 지난 개시글에서 언급한 Auroracluster metric 중 AuroraVolumeBytesLeftTotal 를 예시로 사용하여 얻은 결과다.
- 테스트용 json 파일 내용
$ cat test.json
{
"Namespace": "AWS/RDS",
"MetricName": "AuroraVolumeBytesLeftTotal",
"Dimensions": [
{
"Name": "DBClusterIdentifier",
"Value": "cse-aurora-mysql-57-test"
}
],
"StartTime": "2022-06-13T00:00:00",
"EndTime": "2022-06-13T01:00:00",
"Period": 60,
"Statistics": [
"Average"
]
}
- 테스트용 json 파일 실행
$ aws cloudwatch get-metric-statistics --cli-input-json file://test.json
{
"Datapoints": [
{
"Timestamp": "2022-06-13T00:53:00Z",
"Average": 70007198842880.0,
"Unit": "Count"
},
{
"Timestamp": "2022-06-13T00:18:00Z",
"Average": 70007198842880.0,
"Unit": "Count"
},
{
"Timestamp": "2022-06-13T00:54:00Z",
"Average": 70007198842880.0,
"Unit": "Count"
},
(... 이하 metric 결과 값 생략)
이와 같이 자주 사용하는 metric 수집 항목은 파일 자체로 만들어서 수행하면 원하는 metric 값을 쉽게 가져 올 수 있다.
단, 이에 대한 JSON 파일을 만들 때 아래의 내용을 주의 해야한다.
- Metric 은 인스턴스에서만 수집되는 항목이 있고, 클러스터에서만 수집되는 항목이있다. 그렇기에 확인을 원하는 metric 이 인스턴스에서만 수집되는지, 클러스터에서만 수집되는지 확인하여 dimensions 에 정확한 값을 넣도록 한다.
- 위의 예시같이 파일을 실행 할 때는 기존 OS 의 경로만 넣는게 아니라 앞에 'file://' 을 붙이도록 한다.
2. 명령어에서 옵션을 넣어 바로 실행
일회성으로 파일을 만들지 않고 단순 조회를 원할시에 명령어 자체에 옵션을 넣어 아래와 같이 수행 할 수 있다.
이 방법도 마찬가지로 1번 예시와 같이 정확한 dimensions 값을 넣어야 원하는 결과값을 볼 수 있다.
$ aws cloudwatch get-metric-statistics --namespace="AWS/RDS" --metric-name AuroraVolumeBytesLeftTotal --dimensions Name=DBClusterIdentifier,Value=mysql-57-test --start-time 2022-06-11T20:00:00 --end-time 2022-06-11T21:00:00 --period 60 --statistics=Average
{
"Datapoints": [
{
"Timestamp": "2022-06-11T20:35:00Z",
"Average": 70007198842880.0,
"Unit": "Count"
},
{
"Timestamp": "2022-06-11T20:00:00Z",
"Average": 70007198842880.0,
"Unit": "Count"
},
(... 이하 metric 결과 값 생략)
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
Aurora Cluster 간 replication 연결 (0) | 2022.06.24 |
---|---|
RDS, Aurora Cluster 의 DBInstanceClassMemory (0) | 2022.06.15 |
AWS CLI 개요 및 의의 (0) | 2022.06.10 |
RDS, Aurora PostgreSQL 의 replication 사용 (0) | 2022.06.09 |
RDS storage 사용량 관리 (0) | 2022.06.08 |