Erweiterte Abfrageunterstützung für AWS und Azure
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"
}
}
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.| AWS-Feld | Vorlagenvariable |
|---|---|
Dimensionen[n].Wert |
Die |
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.
- Exportieren Sie das Dashboard in der Azure-UI, und laden Sie es herunter.
- Kopieren Sie die JSON für ein einzelnes Diagramm. Diagramme befinden sich unter
Eigenschaften.Objektive[i].Teile[j].metadata.settings.content.options.chart. - Fügen Sie die JSON in das Abfragefeld ein. Die JSON muss mindestens Folgendes enthalten:
Die``` { “metrics”: [ “name”: string, “resourceMetadata”: { “id”: string } ] } ```idDas Feld muss entweder eine Azure-Ressourcen-ID oder ein sein Vorlagenvariable .