Beispiele für Dashboards und Layouts

In diesem Leitfaden finden Sie zusätzliche Dashboard-Konfigurationen, die Sie mit der Cloud Monitoring API erstellen können.

Wann sollte die API verwendet werden?

Mit der Dashboard-API können Sie mehrere Dashboards gleichzeitig verwalten. Sie können zwar auch die Google Cloud Console zur Verwaltung Ihrer Dashboards verwenden, mit der API ist die Verwaltung mehrerer benutzerdefinierter Dashboards jedoch einfacher.

Sie müssen die API auch verwenden, wenn Sie die Platzhalterwidgets Text, Scorecard oder leere Platzhalter zu Ihrem Dashboard hinzufügen möchten.

Dashboard-Layouts

Dashboard im GridLayout

In diesem Dashboard wird ein GridLayout mit drei Widgets angezeigt.

{
      "dashboards" : [
        {
          "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": {},
                  "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": {},
                  "yAxis": {
                    "label": "y1Axis",
                    "scale": "LINEAR"
                  }
                }
              }
            ]
          }
        }
      ]
    }
    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit Rasterlayout

Dashboard im RowLayout

In diesem Dashboard wird ein RowLayout mit drei Widgets angezeigt.

{
      "displayName": "Row Layout Example",
      "rowLayout": {
        "rows": [
          {
            "weight": 1,
            "widgets": [
              {
                "text": {
                  "content": "Widget 1",
                  "format": "MARKDOWN"
                }
              },
              {
                "text": {
                  "content": "Widget 2",
                  "format": "MARKDOWN"
                }
              },
              {
                "text": {
                  "content": "Widget 3",
                  "format": "MARKDOWN"
                }
              }
            ]
          }
        ]
      }
    }
    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit Zeilenlayout

Dashboard im ColumnLayout

In diesem Dashboard wird ein ColumnLayout mit drei Widgets angezeigt.

{
      "displayName": "Column Layout Example",
      "columnLayout": {
        "columns": [
          {
            "weight": 1,
            "widgets": [
              {
                "text": {
                  "content": "Widget 1",
                  "format": "MARKDOWN"
                }
              },
              {
                "text": {
                  "content": "Widget 2",
                  "format": "MARKDOWN"
                }
              },
              {
                "text": {
                  "content": "Widget 3",
                  "format": "MARKDOWN"
                }
              }
            ]
          }
        ]
      }
    }

    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit Spaltenlayout

Dashboards mit Widgets

Dashboard mit einem XyChart

In diesem Dashboard sehen Sie ein einfaches XyChart. Wenn Sie schon einmal die Google Cloud Console zum Erstellen von Diagrammen in Dashboards verwendet haben, sind diese Diagramme Instanzen des XyChart-Widgets.

Ähnlich wie die Funktionen in der Cloud Console bietet die API Optionen zum Ändern des PlotType oder die Konfiguration der Anzeigemodi von Diagrammen.

{
      "displayName": "Demo dashboard",
      "gridLayout": {
        "widgets": [
          {
            "title": "Sample line 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"
                }
              ],
              "timeshiftDuration": "0s",
              "yAxis": {
                "label": "y1Axis",
                "scale": "LINEAR"
              },
              "chartOptions": {
                "mode": "COLOR"
              }
            }
          }
        ]
      }
    }
    

Das Dashboard sieht ungefähr so aus:

Beispiel-XyChart

Dashboard mit einem XyChart und STACKED_AREA PlotType

Dieses Dashboard enthält ein XyChart mit STACKED_AREA PlotType.

{
      "displayName": "Demo dashboard",
      "gridLayout": {
        "widgets": [
          {
            "title": "Sample stacked-area 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": "STACKED_AREA"
                }
              ],
              "timeshiftDuration": "0s",
              "yAxis": {
                "label": "y1Axis",
                "scale": "LINEAR"
              },
              "chartOptions": {
                "mode": "COLOR"
              }
            }
          }
        ]
      }
    }

    

Das Dashboard sieht ungefähr so aus:

Beispiel-XyChart mit Flächendiagramm

Dashboard mit XyChart und STACKED_BAR PlotType

Dieses Dashboard enthält ein XyChart mit STACKED_BAR PlotType.

{
      "displayName": "Demo Dashboard",
      "gridLayout": {
        "widgets": [
          {
            "title": "My First 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": "STACKED_BAR"
                }
              ],
              "timeshiftDuration": "0s",
              "yAxis": {
                "label": "y1Axis",
                "scale": "LINEAR"
              },
              "chartOptions": {
                "mode": "COLOR"
              }
            }
          },
        ]
      }
    }

    

Das Dashboard sieht ungefähr so aus:

Beispiel-XyChart mit Balkendiagramm

Dashboard mit einem Scorecard

In diesem Dashboard wird ein Scorecard basierend auf der Summe der angenommenen Verbindungen angezeigt. Da der Wert unter den angegebenen Grenzwert fällt, gilt er als angenommen.

{
      "displayName": "Untitled Dashboard"
      "gridLayout" {
        "columns": 1
        "widgets": [
          {
            "title": "Example Scorecard"
            "scorecard" {
              "timeSeriesQuery" {
                "timeSeriesFilter" {
                  "filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\""
                  "aggregation" {
                    "perSeriesAligner": "ALIGN_RATE"
                    "crossSeriesReducer": "REDUCE_SUM"
                  }
                }
                "unitOverride": "1"
              }
              "sparkChartView" {
              }
              "thresholds": [
                {
                  "value": 70
                  "direction": "BELOW"
                }
              ]
            }
          }
        ]
      }
    }
    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit Scorecard-Widget

Dashboard mit Scorecard und GaugeView

In diesem Dashboard wird ein Scorecard mit Tachometerdiagramm angezeigt. Damit wird die Anzahl der akzeptierten Verbindungen ausgewertet, um festzustellen, ob der Wert innerhalb des definierten Grenzwerts liegt. Da der Messwert größer ist als upper_bound von gauge_view, wird ein Fehler zurückgegeben.

{
      "displayName": "Untitled Dashboard",
      "gridLayout": {
        "columns": "1",
        "widgets": [
          {
            "title": "Example Scorecard",
            "scorecard": {
              "timeSeriesQuery": {
                "timeSeriesFilter": {
                  "filter": "metric.type=\"agent.googleapis.com/nginx/connections/accepted_count\"",
                  "aggregation": {
                    "perSeriesAligner": "ALIGN_RATE",
                    "crossSeriesReducer": "REDUCE_SUM"
                  }
                },
                "unitOverride": "1"
              },
              "gaugeView": {
                "upperBound": 65
              },
              "thresholds": [
                {
                  "value": 70,
                  "color": "RED",
                  "direction": "BELOW"
                }
              ]
            }
          }
        ]
      }
    }

    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit einem Scorecard-Widget mit GaugeView

Dashboard mit einem Text-Widget

Dieses Beispiel zeigt ein einfaches Dashboard mit einem Text-Widget.

{
      "displayName": "Demo Dashboard"
      "gridLayout" {
        "widgets": [
          {
            "text" {
              "content": "Hello World"
            }
          }
        ]
      }
    }
    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit einem Textwidget

Dashboard mit einem leeren Widget

Dieses Beispiel zeigt ein einfaches Dashboard mit einem leeren Platzhalterwidget. Beachten Sie, dass im Widget nur der displayName des Dashboards angezeigt wird.

{
      "displayName": "Demo Dashboard",
      "gridLayout": {
        "widgets": [
          {
            "blank": {}
          }
        ]
      }
    }
    

Das Dashboard sieht ungefähr so aus:

Beispieldashboard mit einem leeren Widget