get-metric-statistics AWS CLI 사용

4969 단어 apicloudwatchawsjson

블로그 비하인드 스토리



AWS 클라우드 워치에서 데이터를 수집해야 하는 자동화를 개발해야 합니다. 많은 전문 용어 문서를 읽은 후 인터넷을 통해 조사한 결과 도움이 되는 것을 찾지 못했습니다.

약 2일의 고군분투 끝에 만들었습니다 😁



공유하겠습니다 어떻게 ?????

데이터 검색으로 직접 이동하기 전에 JSON 파일을 형성하기 위한 몇 가지 정보가 필요합니다.

  • 전제 조건:-Namespace MetricName Dimensions Period Statistics Unit이것들은 우리가 필요로 하는 가장 필수적인 정보입니다.


    방법을 알려드릴테니 걱정마세요

  • 아래 API를 호출하여 사용 가능한 모든 메트릭을 나열합니다.

  • aws cloudwatch list-metrics --output json
    


    참고:- if you have multiple regions please make sure you are export that aws profile first otherwise, it will list the metric in the default region you had specified
    aws 프로필이 생소하다면 아래 링크로 이동하십시오.
    AWS profile

    list-metrics API라고 하면 다음과 같은 결과를 얻을 수 있습니다.

     {
                "Namespace": "AWS/EC2",
                "MetricName": "your metrics name",
                "Dimensions": [
                    {
                        "Name": "InstanceId",
                        "Value": "your instance id"
                    }
                ]
            }
    


    API를 호출하면 세 가지 필수 항목Namespace MetricName Dimensions을 얻을 수 있습니다.
    참고:- AWS/ELB 지표를 검색하는 경우 Dimensions에 지역을 지정하지 않으면 지역 간에 부하가 분산되므로 데이터가 적게 제공됩니다.

                   {
                        "Name": "Region",
                        "Value": "ap-southeast-1"
                    }
    
    


  • 메트릭을 선택하고 필요한 모든 정보가 있는 경우

  • 스켈레톤 호출JSON을 생성하기 위해 aws cloudwatch get-metric-statistics --generate-cli-skeleton 파일을 생성할 시간입니다.

    >>>> 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": [
            "Sum"
        ],
        "ExtendedStatistics": [
            ""
        ],
        "Unit": "Terabits"
    }
    


    참고:- 수학 표현식 또는 백분위수 값을 사용하는 경우 ExtendedStatistics를 사용하고 그렇지 않은 경우 제거하고 Unit를 알고 있는 경우 이를 사용하여 제거합니다.

    4.
    예를 들어 json 파일을 만듭니다. metrics.json 아래는 json의 예입니다.

    
    {
        "Namespace": "AWS/ApplicationELB",
        "MetricName": "Your Metrics name",
        "Dimensions": [
            {
                "Name": "TargetGroup",
                "Value": "your_target_group_name"
            },
            {
                "Name": "LoadBalancer",
                "Value": "your_loadbalancer_name"
            }
        ],
       "StartTime": "2020-12-30T12:20:00",
        "EndTime": "2020-12-30T12:25:00",
        "Period": 86400,
        "Statistics": [
            "Sum"
        ],
        "Unit": "Count"
    }  
    


    참고:- 시간은 ISO 8601 표준입니다.
    이 웹 사이트를 사용하여 타임스탬프를 생성할 수 있습니다timestamp.
  • API를 호출하는 마지막 단계

  •      aws cloudwatch get-metric-statistics --cli-input-json file://metrics.json --output json
    

    다른 --output 형식을 사용할 수 있습니다 json table text yaml
    산출:-

    
            "Label": "your metrics name",
            "Datapoints": [
                {
                    "Timestamp": "2020-12-30T12:20:00+00:00",
                    "SampleCount": 351.0,
                    "Unit": "Count"
                }
            ]
        }
    


    이것은 당신이 당신의 일을 한 것입니다. 제안이나 질문을 알려주십시오.
    धन्यवाद 나중에 봐

    좋은 웹페이지 즐겨찾기