Suporte avançado a consultas para AWS e Azure

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • 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"
      }
    }
    Ambos os tipos de consultas podem usar variáveis de modelo para representar um conjunto de entidades ou a hora de início e término selecionadas na IU. Por exemplo, em vez de consultar uma única instância do ELB, você pode substituir 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.
    Nota:
    Os objetos JSON copiados da origem de um painel do CloudWatch não incluem campos de tempo explícitos. Os valores do seletor de tempo no Observabilidade de serviços As IU são usadas automaticamente.
    Tabela 1. Variáveis de modelo
    Campo AWS Variável de modelo
    Dimensões[n].valor
    • ENTIDADES
    • ENTITIES_HOST
    • ENTITIES_LAMBDA
    • ENTITIES_API_GATEWAY_HTTP
    • ENTITIES_API_GATEWAY_REST
    • ENTITIES_ELB
    • ENTITIES_RDS

    . Dimensões[n].valor o campo deve ser uma chave de identificador de recurso.

    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.

    Para copiar a origem:
    1. Na IU do Azure, exporte e baixe o painel.
    2. 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 .
    3. Cole o JSON no campo de consulta. O JSON deve incluir pelo menos o seguinte:
      ``` 
      { 
      “metrics”: [ 
        “name”: string, 
        “resourceMetadata”: { 
          “id”: string 
          } 
        ] 
      } 
      ``` 
      . id O campo deve ser um ID de recurso do Azure ou um variável de modelo .