Suporte avançado a consultas para AWS e Azure
Entenda como criar consultas avançadas para Observabilidade de serviços gráficos do painel.
Consultas avançadas em Observabilidade de serviços compatível com a maioria dos idiomas de consulta específicos do fornecedor. Basta copiar uma consulta do gráfico do APM e colá-la no campo Consulta avançada em Observabilidade de serviços. No entanto, as consultas à AWS e ao Azure devem ser formatadas em JSON e seguir as diretrizes descritas neste tópico.
Consultas avançadas da AWS
Os dados da AWS são acessados usando GetMetricData API. As consultas podem ser uma solicitação direta no formato JSON para essa API ou podem estar na forma de um DashboardBody widget de métrica. Por exemplo, você pode usar a representação de widget para um gráfico que existe em um painel do AWS CloudWatch.
Solicitação GetMetricData direta
O exemplo a seguir mostra um GetMetricData Consulta JSON para um gráfico que exibe a utilização média da CPU para uma instância do ELB.
{
"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"
}
}
]
}
Origem copiada para um único objeto em um painel do AWS CloudWatch
Este exemplo mostra o JSON copiado diretamente de um único objeto na lista de widgets na exibição Origem de um painel do CloudWatch.
{
"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"
}
}
Valor campo para LoadBalancer dimensão com (ENTITY_ELB) . A consulta é executada em cada instância do ELB associada ao serviço selecionado no Observabilidade de serviços IU. O gráfico exibe uma série temporal para cada um.| Campo AWS | Variável de modelo |
|---|---|
Dimensões[n].valor |
. |
StarTTIME |
INICIAR |
Hora de término |
FIM |
Consultas avançadas do Azure
Você executa uma consulta avançada para um gráfico baseado no Azure copiando a origem da IU do Azure e colando-a no Consulta avançada campo.
- Na IU do Azure, exporte e baixe o painel.
- Copie o JSON para um único gráfico. Os gráficos estão localizados em
lentes[i].peças[j].metadata.settings.content.options.chart. - Cole o JSON no campo de consulta. O JSON deve incluir pelo menos o seguinte:
.``` { “metrics”: [ “name”: string, “resourceMetadata”: { “id”: string } ] } ```idO campo deve ser um ID de recurso do Azure ou um variável de modelo .