Exemplos de painéis e layouts

Este guia fornece configurações de painel adicionais que você pode criar usando a API Cloud Monitoring.

Quando usar a API

Com a API Dashboard, é possível gerenciar vários painéis ao mesmo tempo. Por mais que seja possível usar o Console do Google Cloud para gerenciar os painéis, é mais fácil usar a API para gerenciar os painéis personalizados em massa.

Você também precisa usar a API se quiser adicionar Text, Scorecard ou widgets de marcador vazios ao painel.

Layouts de painel

Painel em GridLayout

Este painel mostra um GridLayout com três widgets.

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

O painel é semelhante a este exemplo:

Exemplo de painel com layout de grade

Painel em RowLayout

Este painel exibe um RowLayout com três widgets.

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

O painel é semelhante a este exemplo:

Exemplo de painel com layout de linhas

Painel em ColumnLayout

Este painel exibe um ColumnLayout com três widgets.

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

    

O painel é semelhante a este exemplo:

Exemplo de painel com layout de colunas

Painéis com Widgets

Painel com um XyChart

Este painel mostra um painel com um simples XyChart. Se você já usou o Console do Google Cloud para criar gráficos em painéis, esses gráficos são instâncias do widget XyChart.

Assim como na funcionalidade fornecida no Console do Cloud, você tem opções para alterar o PlotType ou configurar os modos de visualização do gráfico na API.

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

O painel é semelhante a este exemplo:

Exemplo de XyChart

Painel com um XyChart com um STACKED_AREA PlotType

Este painel mostra um XyChart com um 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"
              }
            }
          }
        ]
      }
    }

    

O painel é semelhante a este exemplo:

Exemplo de XyChart com um gráfico de área empilhada

Painel com um XyChart com um STACKED_BAR PlotType

Este painel mostra um XyChart com um 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"
              }
            }
          },
        ]
      }
    }

    

O painel é semelhante a este exemplo:

Exemplo de XyChart com um gráfico de colunas empilhadas

Painel com um Scorecard

Este painel mostra um Scorecard com base na soma das conexões aceitas. Como o valor fica abaixo do limite especificado, ele é tido como aprovação.

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

O painel é semelhante a este exemplo:

Exemplo de painel com um widget de visão geral

Painel com Scorecard com GaugeView

Esse painel mostra um Scorecard com um gráfico de medidor e avalia o número de conexões aceitas para ver se o valor está dentro do limite estabelecido. Como a métrica excede a upper_bound da gauge_view, o medidor exibe uma falha.

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

    

O painel é semelhante a este exemplo:

Exemplo de painel com um widget de visão geral com o GaugeView

Painel com um widget Text

Este exemplo mostra um painel simples com um widget Text.

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

O painel é semelhante a este exemplo:

Exemplo de painel com um widget de texto

Painel com um widget em branco

Este exemplo mostra um painel simples com um widget de marcador vazio. Observação: apenas o displayName do painel é exibido no widget.

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

O painel é semelhante a este exemplo:

Exemplo de painel com um widget em branco