AWS 및 Azure에 대한 고급 쿼리 지원
대시보드 차트에 대한 서비스 식별 가능성 고급 쿼리를 만드는 방법을 이해합니다.
의 서비스 식별 가능성 고급 쿼리는 대부분의 공급업체별 쿼리 언어를 지원합니다. APM 차트에서 쿼리를 복사하여 의 서비스 식별 가능성고급 쿼리 필드에 붙여넣기만 하면 됩니다. 그러나 AWS 및 Azure에 대한 쿼리는 JSON 형식이어야 하며 이 항목에 설명된 지침을 따라야 합니다.
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"
}
}
LoadBalancer 차원의 Value 필드를 ${ENTITY_ELB}로 바꿀 수 있습니다. 쿼리는 UI에서 서비스 식별 가능성 선택한 서비스와 연결된 각 ELB 인스턴스에 대해 실행됩니다. 차트에는 각 시계열에 대한 시계열이 표시됩니다.주:
CloudWatch 대시보드의 소스에서 복사된 JSON 객체에는 명시적 시간 필드가 포함되지 않습니다. UI의 서비스 식별 가능성 시간 선택기 값이 자동으로 사용됩니다.
| AWS 필드 | 템플릿 변수 |
|---|---|
치수[n]. 값 |
|
시작 시간 |
시작 |
종료 시간 |
종료 |
Azure 고급 쿼리
Azure UI에서 소스를 복사하여 고급 쿼리 필드에 붙여넣어 Azure 기반 차트에 대한 고급 쿼리를 실행합니다.
소스를 복사하려면 다음을 수행합니다.
- Azure UI에서 대시보드를 익스포트하고 다운로드합니다.
- 단일 차트에 대한 JSON을 복사합니다. 차트는
properties.lenses[i].parts[j].metadata.settings.content.options.chart에 있습니다. - JSON을 쿼리 필드에 붙여넣습니다. JSON은 최소한 다음을 포함해야 합니다.
``` { “metrics”: [ “name”: string, “resourceMetadata”: { “id”: string } ] } ```id필드는 Azure 자원 ID 또는 템플릿 변수여야 합니다.