Erweiterte Abfrageunterstützung für AWS und Azure

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Erfahren Sie, wie Sie erweiterte Abfragen für erstellen Service-Observability Dashboard-Diagramme.

    Erweiterte Abfragen in Service-Observability Unterstützt die meisten lieferantenspezifischen Abfragesprachen. Kopieren Sie einfach eine Abfrage aus dem APM-Diagramm, und fügen Sie sie in das Feld Erweiterte Abfrage in ein Service-Observability. Abfragen an AWS und Azure müssen jedoch JSON-formatiert sein und den in diesem Thema beschriebenen Richtlinien entsprechen.

    Erweiterte AWS-Abfragen

    Auf Daten aus AWS wird mit zugegriffen MetricData abrufen API. Abfragen können entweder eine direkte Anforderung im JSON-Format an diese API oder im Format eines sein DashboardBody Metrik-Widget. Sie können beispielsweise die Widget-Darstellung für ein Diagramm verwenden, das in einem AWS CloudWatch-Dashboard vorhanden ist.

    Direkte Anforderung von GetMetricData

    Das folgende Beispiel zeigt einen MetricData abrufen JSON-Abfrage für ein Diagramm, das die durchschnittliche CPU-Auslastung für eine ELB-Instanz anzeigt.

    { 
    
        "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" 
                } 
            } 
        ] 
    } 

    Kopierte Quelle für ein einzelnes Objekt in einem AWS CloudWatch-Dashboard

    Dieses Beispiel zeigt das JSON, das direkt aus einem einzelnen Objekt in der Widgets-Liste in der Quellansicht für ein CloudWatch-Dashboard kopiert wurde.

    {
      "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"
      }
    }
    Beide Abfragetypen können Vorlagenvariablen verwenden, um eine Reihe von Entitäten oder die in der Anwenderoberfläche ausgewählte Start- und Endzeit darzustellen. Anstatt beispielsweise nach einer einzelnen ELB-Instanz abzufragen, können Sie ersetzen Wert Feld für Lastenausgleichsmodul Dimension mit ${ENTITY_ELB} . Die Abfrage wird für jede ELB-Instanz ausgeführt, die dem ausgewählten Service in zugeordnet ist Service-Observability UI. Das Diagramm zeigt für jede Zeitreihe eine Zeitreihe an.
    Hinweis:
    JSON-Objekte, die aus der Quelle eines CloudWatch-Dashboards kopiert wurden, enthalten keine expliziten Zeitfelder. Die Werte aus der Zeitauswahl in Service-Observability UI wird automatisch verwendet.
    Tabelle : 1. Vorlagenvariablen
    AWS-Feld Vorlagenvariable
    Dimensionen[n].Wert
    • ENTITÄTEN
    • ENTITÄTEN_HOST
    • ENTITÄTEN_LAMBDA
    • ENTITÄTEN_API_GATEWAY_HTTP
    • ENTITÄTEN_API_GATEWAY_REST
    • ENTITÄTEN_ELB
    • ENTITÄTEN_RDS

    Die Dimensionen[n].Wert Feld muss ein Ressourcenbezeichner-Schlüssel sein.

    Startzeit START
    Endzeit ENDE

    Erweiterte Azure-Abfragen

    Sie führen eine erweiterte Abfrage für ein Azure-basiertes Diagramm aus, indem Sie die Quelle aus der Azure-UI kopieren und in einfügen Erweiterte Abfrage Feld.

    So kopieren Sie die Quelle:
    1. Exportieren Sie das Dashboard in der Azure-UI, und laden Sie es herunter.
    2. Kopieren Sie die JSON für ein einzelnes Diagramm. Diagramme befinden sich unter Eigenschaften.Objektive[i].Teile[j].metadata.settings.content.options.chart .
    3. Fügen Sie die JSON in das Abfragefeld ein. Die JSON muss mindestens Folgendes enthalten:
      ``` 
      { 
      “metrics”: [ 
        “name”: string, 
        “resourceMetadata”: { 
          “id”: string 
          } 
        ] 
      } 
      ``` 
      Die id Das Feld muss entweder eine Azure-Ressourcen-ID oder ein sein Vorlagenvariable .