AWS 및 Azure에 대한 고급 쿼리 지원

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • 대시보드 차트에 대한 서비스 관측성 고급 쿼리를 만드는 방법을 이해합니다.

    서비스 관측성 고급 쿼리는 대부분의 공급업체별 쿼리 언어를 지원합니다. 옵저버블 차트에서 쿼리를 복사하여 의 서비스 관측성고급 쿼리 필드에 붙여넣기만 하면 됩니다. 그러나 AWS 및 Azure에 대한 쿼리는 JSON 형식이어야 하며 이 항목에 설명된 지침을 따라야 합니다.

    주:
    버전 1.10부터 AWS 및 Azure에서 직접 차트를 임포트할 수 있습니다. 자세한 내용은 서비스 식별 가능성 대시보드 템플릿에서 옵저버블 데이터 차트 편집 문서를 참조하십시오.

    AWS 고급 쿼리

    AWS의 데이터는 GetMetricData API를 사용하여 액세스합니다. 쿼리는 해당 API에 대한 JSON 형식의 직접 요청이거나 DashboardBody 메트릭 위젯 형식일 수 있습니다. 예를 들어, AWS CloudWatch 대시보드에 있는 차트에 위젯 표현을 사용할 수 있습니다.

    직접 GetMetricData 요청

    다음 예제는 ELB 인스턴스의 평균 CPU 사용률을 표시하는 차트에 대한 GetMetricData JSON 쿼리를 보여줍니다.

    { 
    
        "StartTime": 1637061900, // can be replaced with “${START}” 
        "EndTime": 1637074500, // can be replaced with “${END}” 
        "MetricDataQueries": [ 
            { 
                "Expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\"AWS/EC2\", InstanceId)", 
                "Id": "q1", 
                "Period": 300, 
                "Label": "Cluster CpuUtilization" 
            }, 
            { 
                "Id": "m1", 
                "Label": "Unhealthy Behind Load Balancer", 
                "MetricStat": { 
                    "Metric": { 
                        "Namespace": "AWS/ApplicationELB", 
                        "MetricName": "UnHealthyHostCount", 
                        "Dimensions": [ 
                            { 
                                "Name": "LoadBalancer", 
                                "Value": "app/EC2Co-EcsEl-EXAMPLE69Q/fdd2210e799e4376" // can be replaced with “${ENTITIES}” or “${ENTITIES_ELB}” 
                            } 
                        ] 
                    }, 
                    "Period": 300, 
                    "Stat": "Average" 
                } 
            } 
        ] 
    } 

    AWS CloudWatch 대시보드의 단일 객체에 대해 복사된 소스

    이 예는 CloudWatch 대시보드 소스 뷰의 위젯 목록에 있는 단일 객체에서 직접 복사한 JSON을 보여줍니다.

    {
      "type": "metric",
      "x": 9,
      "y": 0,
      "width": 15,
      "height": 5,
      "properties": {
        "view": "timeseries",
        "metrics": [
          [ "AWS/ApplicationELB", "RequestCountPerTarget", "TargetGroup", "targetgroup/api-tg/1e3dc9z72fe21ca2", "AvailabilityZone", "us-west-1a" ],
          ["...", "targetgroup/api-tg-cs/82a1db5f950073e1", ".", "." ]
        ],
        "region": "us-west-1"
      }
    }
    두 쿼리 유형 모두 템플릿 변수를 사용하여 UI에서 선택한 시작 및 종료 시간 또는 엔터티 집합을 나타낼 수 있습니다. 예를 들어, 단일 ELB 인스턴스를 쿼리하는 대신 LoadBalancer 차원의 Value 필드를 ${ENTITY_ELB}로 바꿀 수 있습니다. 쿼리는 UI에서 서비스 관측성 선택한 서비스와 연결된 각 ELB 인스턴스에 대해 실행됩니다. 차트에는 각 시계열에 대한 시계열이 표시됩니다.
    주:
    CloudWatch 대시보드의 소스에서 복사된 JSON 객체에는 명시적 시간 필드가 포함되지 않습니다. UI의 서비스 관측성 시간 선택기 값이 자동으로 사용됩니다.
    표 1. 템플릿 변수
    AWS 필드 템플릿 변수
    치수[n]. 값
    • 엔터티
    • ENTITIES_HOST
    • ENTITIES_LAMBDA
    • ENTITIES_API_GATEWAY_HTTP
    • ENTITIES_API_GATEWAY_REST
    • ENTITIES_ELB
    • ENTITIES_RDS

    차원[n]입니다. 값 필드는 자원 식별자 키여야 합니다.

    시작 시간 시작
    종료 시간 종료

    Azure 고급 쿼리

    Azure UI에서 소스를 복사하여 고급 쿼리 필드에 붙여넣어 Azure 기반 차트에 대한 고급 쿼리를 실행합니다.

    소스를 복사하려면 다음을 수행합니다.
    1. Azure UI에서 대시보드를 익스포트하고 다운로드합니다.
    2. 단일 차트에 대한 JSON을 복사합니다. 차트는 properties.lenses[i].parts[j].metadata.settings.content.options.chart에 있습니다.
    3. JSON을 쿼리 필드에 붙여넣습니다. JSON은 최소한 다음을 포함해야 합니다.
      ``` 
      { 
      “metrics”: [ 
        “name”: string, 
        “resourceMetadata”: { 
          “id”: string 
          } 
        ] 
      } 
      ``` 
      id 필드는 Azure 자원 ID 또는 템플릿 변수여야 합니다.