Auf dieser Seite wird gezeigt, wie Sie Dashboards mit der Cloud Monitoring API erstellen. Für jedes Beispiel wird die Dashboard-Definition in JSON und das entsprechende Dashboard angezeigt. Sie können sowohl der Google Cloud CLI als auch den Cloud Monitoring API-Endpunkten JSON bereitstellen.
Cloud Monitoring bietet auch eine ausgewählte Gruppe von Dashboard-Definitionen auf GitHub. Sie können diese Definitionen als benutzerdefinierte Dashboards in Ihrem Google Cloud -Projekt installieren. Informationen zu diesem Repository und zur Installation dieser Dashboards finden Sie unter Beispiel-Dashboards installieren.
Wann die API oder die Google Cloud CLI verwendet werden sollte
Mit der Cloud Monitoring API und der Google Cloud CLI können Sie viele Dashboards gleichzeitig verwalten. Sie können zwar auch die Google Cloud -Konsole zur Verwaltung Ihrer Dashboards verwenden, mit Skripts ist die Verwaltung mehrerer benutzerdefinierter Dashboards jedoch einfacher.
Sie müssen die API auch verwenden, wenn Sie das leere Platzhalter-Widget zu Ihrem Dashboard hinzufügen möchten.
MQL oder PromQL mit der API verwenden
Sie erstellen Dashboards mit der Methode dashboards.create. Sie übergeben an die API-Methode ein Dashboard-Objekt, das einen Eintrag für jedes Widget enthält, das im Dashboard angezeigt wird.
Wenn in einem Widget Zeitreihendaten angezeigt werden, z. B. in einem Diagramm-Widget, enthält der zugehörige Eintrag im Dashboard-Objekt ein TimeSeriesQuery-Objekt.
Dieses Objekt beschreibt die Zeitachsendaten, die dargestellt werden sollen. Sie geben diese Daten mit einem Monitoring-Filter, einer MQL-Abfrage oder einer PromQL-Abfrage an:
Wenn Sie Monitoring-Filter verwenden möchten, füllen Sie das Feld
timeSeriesFieldaus. In den Beispielen auf dieser Seite werden Cloud Monitoring-Filter verwendet.Wenn Sie eine MQL-Abfrage verwenden möchten, füllen Sie das Feld
timeSeriesQueryLanguageaus. Weitere Informationen finden Sie unter Diagramme erstellen.Wenn Sie eine PromQL-Abfrage verwenden möchten, füllen Sie das Feld
prometheusQueryaus. Allgemeine Informationen finden Sie unter PromQL in Cloud Monitoring.
Dashboard-Layouts
Dieser Abschnitt enthält Informationen zu den verschiedenen verfügbaren Dashboard-Layouts.
Dashboard im GridLayout
In diesem Dashboard wird ein GridLayout mit drei Widgets angezeigt.
{
"displayName": "Grid Layout Example",
"gridLayout": {
"columns": "2",
"widgets": [
{
"title": "Widget 1",
"xyChart": {
"dataSets": {
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "LINE"
},
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
{
"text": {
"content": "Widget 2"
}
},
{
"title": "Widget 3",
"xyChart": {
"dataSets": {
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
"aggregation": {
"perSeriesAligner": "ALIGN_RATE"
}
},
"unitOverride": "1"
},
"plotType": "STACKED_BAR"
},
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
]
}
}
Das Dashboard sieht ungefähr so aus:
Dashboard im MosaicLayout
In diesem Dashboard wird ein MosaicLayout mit zwei Widgets angezeigt.
{
"displayName": "Mosaic Layout Example",
"mosaicLayout": {
"columns": 12,
"tiles": [
{
"xPos": 2,
"yPos": 2,
"width": 7,
"height": 2,
"widget": {
"title": "CPU utilization in us-central1-a",
"scorecard": {
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\" resource.type=\"gce_instance\" resource.label.zone=\"us-central1-a\"",
"aggregation": {
"perSeriesAligner": "ALIGN_MEAN",
"crossSeriesReducer": "REDUCE_MAX"
}
},
"unitOverride": "1"
},
"gaugeView": {
"upperBound": 1.5
},
"thresholds": [
{
"value": 0.8,
"color": "YELLOW",
"direction": "ABOVE"
},
{
"value": 1,
"color": "RED",
"direction": "ABOVE"
}
]
}
}
},
{
"xPos": 1,
"yPos": 5,
"width": 4,
"height": 4,
"widget": {
"title": "My Chart",
"xyChart": {
"dataSets": [
{
"timeSeriesQuery": {
"timeSeriesFilter": {
"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\" resource.type=\"gce_instance\"",
"aggregation": {
"perSeriesAligner": "ALIGN_MEAN",
"crossSeriesReducer": "REDUCE_MAX",
"groupByFields": [
"resource.label.zone"
]
}
},
"unitOverride": "'1'"
},
"plotType": "LINE",
"minAlignmentPeriod": "60s"
}
],
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
}
}
]
}
}
Das Dashboard sieht ungefähr so aus:
Dashboard im RowLayout
In diesem Dashboard wird ein RowLayout mit drei Widgets angezeigt.