

# Estrutura e sintaxe do corpo do painel
<a name="CloudWatch-Dashboard-Body-Structure"></a>

**Topics**
+ [Estrutura geral](#Dashboard-Body-Overall-Structure)
+ [Estrutura da matriz de widgets](#CloudWatch-Dashboard-Properties-Widgets-Structure)
+ [Estrutura de matriz de variáveis](#CloudWatch-Dashboard-Properties-Variables-Structure)
+ [Propriedades de um objeto de widget de log](#CloudWatch-Dashboard-Properties-Log-Widget-Object)
+ [Propriedades de um objeto de widget de métricas](#CloudWatch-Dashboard-Properties-Metric-Widget-Object)
+ [Widget de métricas: formato para cada métrica na matriz](#CloudWatch-Dashboard-Properties-Metrics-Array-Format)
+ [Propriedades de um Metrics Explorer Widget Object](#CloudWatch-Dashboard-Properties-Metric-Explorer-Object)
+ [Propriedades de um objeto widget de status de alarme](#CloudWatch-Dashboard-Properties-Alarm-Widget-Object)

## Estrutura geral
<a name="Dashboard-Body-Overall-Structure"></a>

`DashboardBody` é uma string no formato JSON. Ela pode incluir uma matriz de 0 a 500 objetos de widget, bem como alguns outros parâmetros. O painel deve incluir uma matriz `widgets`, mas ela pode estar vazia.

Veja o seguinte exemplo dessa estrutura com um widget de métrica e um widget de texto, um intervalo de tempo que começa seis horas antes da hora atual e a configuração do período de cada gráfico sempre sendo obedecida.

```
{
   "start": "-PT6H",
   "periodOverride": "inherit",
   "widgets": [
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":12,
         "height":6,
         "properties":{
            "metrics":[
               [
                  "AWS/EC2",
                  "CPUUtilization",
                  "InstanceId",
                  "i-012345"
               ]
            ],
            "period":300,
            "stat":"Average",
            "region":"us-east-1",
            "title":"EC2 Instance CPU",
            "liveData": false,
            "legend": {
                "position": "right"
              }
         }
      },
      {
         "type":"text",
         "x":0,
         "y":7,
         "width":3,
         "height":3,
         "properties":{
            "markdown":"Hello world"
         }
      }
   ]
}
```

O próximo exemplo exibe três métricas por função do Lambda e usa uma variável do painel para que os usuários do painel possam alternar entre diferentes nomes de funções do Lambda e ver as três métricas de cada função. Isso auxilia você a criar um único painel flexível que pode exibir as principais métricas para diferentes recursos. Neste exemplo, as funções são descobertas por uma consulta de pesquisa métrica, então o painel descobre automaticamente novas funções do Lambda quando são criadas.

```
{
    "widgets": [{
            "height": 6,
            "width": 6,
            "y": 0,
            "x": 0,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Invocations", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        },
        {
            "height": 12,
            "width": 12,
            "y": 0,
            "x": 6,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Errors", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        },

        {
            "height": 3,
            "width": 6,
            "y": 0,
            "x": 18,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Duration", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        }
    ],
    "variables": [{
        "type": "property",
        "property": "FunctionName",
        "inputType": "select",
        "id": "LambdaFunction_Variable",
        "label": "Function",
        "visible": true,
        "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",
        "populateFrom": "FunctionName"
    }]
}
```

O exemplo seguinte tem dois widgets. O primeiro inclui duas métricas e uma expressão matemática que soma o total. O segundo widget é uma expressão de pesquisa que exibe o `CPUUtilization` para todas as instâncias do EC2 na região.

```
{
   "start": "-PT9H",
   "periodOverride": "inherit",
   "widgets": [
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":12,
         "height":6,
         "properties":{
            "metrics":[
               [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ],
               [ ".", ".", ".", "i-abc", { "id": "m2" } ],
               [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ]
            ],
            "view": "timeSeries",
            "stacked": false,
            "period":300,
            "stat":"Average",
            "region":"us-east-1",
            "title":"EC2 Instance CPU"
         }
      },
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":18,
         "height":9,
         "properties":{
            "metrics":[
               [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ]
            ],
            "view": "timeSeries",
            "stacked": false,
            "region":"us-east-1",
            "title":"EC2 Instance CPU"
         }
      }
   ]
}
```

O restante desta seção inclui exemplos que ilustram cada parte da sintaxe `DashboardBody`. Para mais exemplos que mostram toda a sintaxe do comando, consulte [PutDashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutDashboard.html) na Referência da API do Amazon CloudWatch.

O nível superior do objeto JSON pode incluir as propriedades mostradas a seguir.

**Widgets**  
A lista de widgets no painel. Para obter mais informações, consulte [Estrutura da matriz de widgets](#CloudWatch-Dashboard-Properties-Widgets-Structure).  
Obrigatório: Sim

**variables**  
A matriz de objetos variáveis do painel usados no painel. Para obter mais informações sobre os campos que você pode usar em cada objeto variável do painel, consulte [Estrutura de matriz de variáveis](#CloudWatch-Dashboard-Properties-Variables-Structure).  
Para obter mais informações sobre variáveis de painel, consulte [ Crie painéis flexíveis com variáveis de painel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html).  
Se você incluir uma matriz `variables`, ela poderá conter entre 0 e 25 objetos variáveis.  
Obrigatório: não

**end**  
O final do intervalo de tempo usado em cada widget no painel quando o painel é carregado. Se você especificar um valor para `end`, também deverá especificar um valor para `start`. Para cada um desses valores, especifique uma hora absoluta no formato ISO 8601. Por exemplo, `2018-12-17T06:00:00.000Z`.  
Tipo: String  
Obrigatório: não

**rápido**  
O início do intervalo de tempo a ser usado para cada widget no painel.  
Você pode especificar `start` sem especificar `end` para definir um intervalo de tempo relativo que termina com a hora atual. Nesse caso, o valor de `start` deve começar com `-PT` se você especificar um intervalo de tempo em minutos ou horas, e deve começar com `-P` se você especificar um intervalo de tempo em dias, semanas ou meses. Você pode usar M, H, D, W e M como abreviações para minutos, horas, dias, semanas e meses. Por exemplo, `-PT5M` mostra os últimos cinco minutos, `-PT8H` mostra as últimas oito horas e `-P3M` mostra os últimos três meses.  
Você também pode usar `start` junto com um campo `end` para especificar um intervalo de tempo absoluto. Ao especificar um intervalo de tempo absoluto, use o formato ISO 8601. Por exemplo, `2018-12-17T06:00:00.000Z`.  
Se você omitir `start`, o painel mostrará o intervalo de tempo padrão quando ele é carregado.  
Tipo: string  
Obrigatório: não

**periodOverride**  
Use esse campo para determinar o período dos gráficos quando o painel é carregado. Especificar `auto` faz com que o período de todos os gráficos no painel se adapte automaticamente ao intervalo de tempo do painel. Especificar `inherit` garante que o período definido para cada gráfico seja sempre obedecido.  
Valores válidos: auto \| inherit  
Tipo: string  
Obrigatório: não

## Estrutura da matriz de widgets
<a name="CloudWatch-Dashboard-Properties-Widgets-Structure"></a>

Cada widget de qualquer tipo pode ter as propriedades apresentadas a seguir.

**type**  
O tipo de widget.  
Valores válidos: `metric` \| `text` \| `log` \| `alarm` \| `explorer`  
Tipo: String  
Exigido: sim

**x**  
A posição horizontal do widget na grade do painel de 24 colunas. O padrão é a próxima posição disponível.  
Valores válidos: 0 a 23  
Tipo: inteiro  
Obrigatório: sim, se `y` for especificado. Caso contrário, não é obrigatório.

**y**  
A posição vertical do widget na grade do painel de 24 colunas. O padrão é a próxima posição disponível.  
Valores válidos: qualquer número inteiro, 0 ou superior.  
Tipo: inteiro  
Obrigatório: sim, se `x` for especificado. Caso contrário, não é obrigatório.

**width**  
A largura do widget em unidades de grade (em uma grade de 24 colunas). O padrão é 6.  
Valores válidos: 1 a 24  
Tipo: inteiro  
Obrigatório: não

**height**  
A altura do widget em unidades de grade. O padrão é 6.  
Valores válidos: 1 a 1000  
Tipo: inteiro  
Obrigatório: não

**propriedades**  
As propriedades detalhadas do widget, que variam conforme o tipo de widget. Para obter mais informações sobre o formato do `properties`, consulte [Propriedades de um objeto de widget de métricas](#CloudWatch-Dashboard-Properties-Metric-Widget-Object) ou [Propriedades de um objeto de widget de texto](#CloudWatch-Dashboard-Properties-Text-Widget-Object).  
Tipo: objeto  
Obrigatório: Sim

## Estrutura de matriz de variáveis
<a name="CloudWatch-Dashboard-Properties-Variables-Structure"></a>

Cada variável do painel na matriz pode ter as propriedades mostradas a seguir.

**type**  
Tipos de variáveis de painel O CloudWatch oferece suporte a dois tipos: *variáveis de propriedade* e *variáveis de padrão*.  
As variáveis de propriedade alteram os valores de todas as instâncias de uma propriedade em todos os widgets no painel. Uma propriedade pode ser qualquer uma das seguintes:  
+ Qualquer propriedade JSON nas definições do widget, como `region`.
+ Qualquer nome de dimensão para uma métrica, como `InstanceId` ou `FunctionName`.
Uma variável de padrão modifica um padrão de expressão regular no JSON do painel. Use-a quando precisar alterar apenas parte do valor de uma propriedade JSON ou até mesmo de uma propriedade JSON.  
As variáveis de propriedade se aplicam à maioria dos casos de uso e são menos complexas de configurar.  
Valores válidos: `property` \| `pattern`  
Tipo: String  
Exigido: sim

**inputType**  
Determina como o usuário do painel insere o valor da variável.  
+ Especifique `input` para usar de uma caixa de texto na qual o usuário possa inserir valores. 
+ Especifica `select` para usar um conjunto suspenso de valores que você define ou uma lista suspensa de valores encontrados através de uma consulta de pesquisa métrica. 
+ Especifique `radio` para usar um conjunto de botões de opção, com valores definidos por você ou encontrados em uma consulta de pesquisa métrica. 
Valores válidos: `input` \| `select` \| `radio`  
Tipo: String  
Exigido: sim

**values**  
Se seu `inputType` for `select` ou `radio` e você quer definir os possíveis valores das variáveis em vez de usar uma pesquisa de consulta métrica, especifique esses valores aqui.  
`values` é uma matriz em que cada objeto nela contém um *valor* obrigatório e um *rótulo* opcional. Cada *valor* pode ser uma string, número ou booleano, e cada rótulo deve ser uma string. Cada um desses valores e rótulos pode ter até 255 caracteres.  
Se você especificar uma matriz `values`, ela deverá incluir pelo menos um item e poderá incluir até 500.  
O exemplo a seguir cria uma lista de três regiões possíveis para usar como valores para uma variável.  

```
"values": [
    { "label": "US East (IAD)", "value": "us-east-1" },
    { "label": "US West (SFO)", "value": "us-west-1" },
    { "label": "EU (DUB)", "value": "eu-west-1" }
]
```
Tipo: matriz  
Obrigatório: sim, se `inputType` for `select` ou `radio` e você não está usando uma consulta de pesquisa métrica para preencher os valores.

**id**  
Um ID para essa variável. Pode ter até 32 caracteres, e os caracteres válidos são `0-9A-Za-z-_`  
Tipo: String  
Exigido: sim

**rótulo**  
Um rótulo a ser exibido no campo de entrada. Pode ter até 30 caracteres.  
Se você omitir esse campo para uma variável de propriedade, o nome da propriedade será exibido como rótulo. Se você o omitir para uma variável padrão, então `{{pattern_1}}, {{pattern_2}}, ...` será usado para o rótulo.  
Tipo: string  
Obrigatório: não

**defaultValue**  
Para definir o valor padrão para a variável quando o painel for aberto pela primeira vez.  
+ Se `inputType` for `input`, você especifica `defaultValue` aqui manualmente e usa até 255 caracteres
+ Se `inputType` for `select` ou`radio`, você deverá especificar um valor possível válido que você especificou na matriz `values` ou que foi recuperado na pesquisa de consulta métrica.
Valores válidos: qualquer valor válido para essa variável.  
Tipo: string, número ou booliano, dependendo do valor do tipo dessa variável  
Obrigatório: não

**pesquisar**  
Especifique esse campo para preencher seu campo de entrada `select` ou `radio` usando uma expressão de pesquisa métrica. Para o valor desse campo, especifique um namespace, o nome de dimensão e um nome de métrica. A dimensão que você especificar deverá ser válida para essa métrica. O CloudWatch encontra todos os recursos que publicam essa métrica e dimensão e gera uma lista com eles.  
Por exemplo, especifique `"search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\""` para pesquisar instâncias do Amazon EC2 na conta ou especifique `"search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",` para retornar as funções do Lambda na conta  
A string `search` especificada pode ter até 2048 caracteres.  
Se você estiver usando uma expressão de pesquisa e também quiser especificar um valor padrão, o padrão especificado em `defaultValue` será usado, contanto que esse padrão seja um dos recursos recuperados pela pesquisa. Ao usar uma expressão de pesquisa para preencher seu campo de entrada, você também pode especificar o valor especial `__FIRST` para `defaultValue`, para que o valor padrão seja o primeiro valor retornado da pesquisa. (O valor especial inclui dois sublinhados e, em seguida, FIRST) Os valores retornados pela pesquisa são sempre classificados em ordem alfabética.
Tipo: string  
Obrigatório: sim, se `inputType` for `select` ou `radio` e você não está especificando `values`.

**populateFrom**  
Se você estiver usando o campo `search` para preencher seu campo de entrada usando uma expressão de pesquisa, especifique esse campo com o nome de uma dimensão que a pesquisa recuperará.  
Por exemplo, se seu valor `search` for `"search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\""`, você poderá especificar `InstanceId` para `populateFrom`.  
Tipo: string  
Obrigatório: sim, se `inputType` for `select` ou `radio` e você não está especificando `values`.

**visible**  
Especificado se o rótulo e o campo de entrada estiverem visíveis no painel. Se você omitir isso, o padrão de `true` será usado.  
Usar `false` economiza espaço no painel, mas exige que o usuário altere o URL do painel para alterar os valores das variáveis.  
Tipo: booliano  
Obrigatório: não

### Exemplo de variáveis
<a name="Dashboard-Body-Variable-Examples"></a>

O exemplo mostrado a seguir usa uma variável de propriedade para alterar a região de todos os widgets, usando um campo de entrada de texto. Quando o painel é aberto pela primeira vez, o valor padrão de `us-east-1` é usado para a variável.

```
"variables": [
     {
        "type": "property", 
        "property": "region",
        "inputType": "input",
        "id": "region",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true
    } 
],
```

O exemplo mostrado a seguir usa uma variável padrão para alterar a região de todos os widgets, no caso em que às vezes a região é definida no meio de uma string, como um ARN.

```
"variables": [
    {
        "type": "pattern",
        "pattern": "us-east-1",
        "inputType": "input",
        "id": "region",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true
    }
],
```

O exemplo a seguir gera uma variável de função do Lambda, com um botão de opção para cada função. As funções são descobertas por meio de uma pesquisa de consulta métrica.

```
"variables": [
    {
        "type": "pattern",
        "pattern": "originalFuncNameInDashboard",
        "inputType": "radio",
        "id": "functionName",
        "label": "Function",
        "visible": true,
        "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",
        "populateFrom": "FunctionName",
        "defaultValue": "__FIRST"
    }
],
```

O exemplo a seguir mostra como especificar múltiplas variáveis em um painel e demonstra diversos tipos de variáveis.

```
"variables": [{
        "type": "property",
        "property": "region",
        "inputType": "select",
        "id": "unique_id_1",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true,
        "values": [{
                "label": "IAD",
                "value": "us-east-1"
            },
            {
                "label": "CMH",
                "value": "us-east-2"
            },
            {
                "label": "NRT",
                "value": "ap-northeast-1"
            }
        ]
    },
    {
        "type": "property",
        "property": "FunctionName",
        "inputType": "select",
        "id": "unique_id_2",
        "label": "Function",
        "visible": true,
        "values": [{
                "value": "my-FunctionName-1"
            },
            {
                "value": "my-FunctionName-2"
            },
            {
                "value": "my-FunctionName-3"
            }
        ]
    },
    {
        "type": "property",
        "property": "accountId",
        "inputType": "radio",
        "id": "unique_id_3",
        "defaultValue": "111122223333",
        "visible": true,
        "values": [{
                "label": "IAD Account",
                "value": "111122223333"
            },
            {
                "label": "CMH Account",
                "value": "123456789012"
            },
            {
                "label": "NRT Account",
                "value": "000000000000"
            }
        ]
    }
]
```

### Propriedades de um objeto de widget de texto
<a name="CloudWatch-Dashboard-Properties-Text-Widget-Object"></a>

Um widget do tipo `text` pode ter um ou dois parâmetros na seção `properties`. O campo `markdown` é obrigatório, o campo `transparent` é opcional.

Para obter mais informações sobre o estilo de markdown suportado nos widgets de texto do CloudWatch, consulte [Como usar markdown no console](https://docs.aws.amazon.com/general/latest/gr/aws-markdown.html).

**markdown**  
O texto a ser exibido pelo widget. Use esse parâmetro somente para widgets de texto.  
Tipo: string  
Obrigatório: sim (quando o `type` do widget for `text`).

**background**  
Especifica se o widget de texto tem um fundo sólido ou transparente. O valor `transparent` torna o widget transparente. O valor `solid` é o padrão.  
Tipo: string  
Obrigatório: não

```
{
   "widgets":[
      {
         "type":"text",
         "x":0,
         "y":7,
         "width":3,
         "height":3,
         "properties":{
            "markdown":"Hello world",
            "background": "transparent"
         }
      }
   ]
}
```

## Propriedades de um objeto de widget de log
<a name="CloudWatch-Dashboard-Properties-Log-Widget-Object"></a>

Um widget do tipo `log` representa os resultados de uma consulta do CloudWatch Logs Insights. Para obter mais informações, consulte [ Analisar dados de log com o CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Um widget `log` pode incluir os seguintes campos no campo `properties`.

**accountId**  
O ID da conta da AWS que contém os logs, se for uma consulta entre contas.  
Tipo: string  
Obrigatório: não

**region**  
A região da consulta de logs.  
Tipo: String  
Exigido: sim

**título**  
O texto do título a ser exibido pelo widget.  
Tipo: string  
Obrigatório: não

**consultar**  
Contém a função de consulta do CloudWatch Logs Insights.  
Tipo: string  
Obrigatório: sim (quando o `type` do widget for `log`).  
A string `query` começa com os nomes dos grupos de logs que devem ser consultados. Você deve adicionar um prefixo ao nome de cada grupo de logs com `SOURCE`. Separe vários grupos de logs com um caractere de barra vertical (\|).  
Adicione outro caractere de barra vertical após a lista de grupos de logs e, em seguida, especifique a sintaxe da consulta. Separe cada linha na sintaxe da consulta com `\n|`.  
Por exemplo, a linha a seguir representa uma consulta de dois grupos de logs `service_log1` e `service_log2`. A consulta mostra canários com falhas.  

```
"query": "SOURCE 'service_log1' | SOURCE 'service_log2' |filter Fault > 0\n| fields Fault.Message\n| stats count(*) by Canary.Name, Fault.Message"
```

**visualizar**  
Especifica como os resultados da consulta são mostrados. Especifique `table` para ver os resultados na forma de tabela. Especifique `timeSeries` para exibir essa métrica como um gráfico de linhas. Especifique `bar` para exibi-la como um gráfico de barras. Especifique `pie` para exibi-la como um gráfico de pizza.  
Se você omitir esse parâmetro, os resultados serão exibidos na forma de tabela.  
Tipo: string  
Obrigatório: não (quando o `type` do widget for `log`).

```
{
    "widgets": [
        {
            "type": "log",
            "x": 12,
            "y": 24,
            "width": 12,
            "height": 6,
            "properties": {
                "region": "us-east-1",
                "title": "Errors (Application Log)",
                "query": "SOURCE 'application1.log' | SOURCE 'application2.log' | filter @message like \"[ERROR]\"\n| parse \"Error for [*] [*] due to: *\" canaryName1, canaryId1, cause1\n| parse \"Executor canary [*] *\" canaryName2, cause2\n| fields coalesce(cause1, cause2) as cause\n| fields coalesce(canaryName1, canaryName2) as canaryName\n| fields ispresent(cause) as isP\n| filter isP\n| stats count() as errCount by canaryName, substr(cause, 0, 130)\n| sort errCount DESC",
                "view": "table"
            }
        }
    ]
}
```

## Propriedades de um objeto de widget de métricas
<a name="CloudWatch-Dashboard-Properties-Metric-Widget-Object"></a>

Um widget do tipo `metric` pode ter os seguintes campos em `properties`:

**accountId**  
Especifica o ID da conta da AWS de onde virão todas as métricas desse widget. Isso é útil para painéis entre contas que incluem widgets de várias contas. Para obter mais informações, consulte [Console do CloudWatch entre contas e entre regiões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html).  
Se você omitir isso, a conta atual será usada como padrão. Use esse parâmetro somente para widgets de métricas.  
Você também pode usar um campo `accountId` dentro de cada métrica na matriz `metrics` para criar um único widget que inclui métricas de várias contas.  
Tipo: string  
Obrigatório: não

**anotações**  
Para incluir um alarme ou uma anotação no widget, especifique uma matriz `annotations`. Para obter mais informações sobre o formato, consulte [Objeto do widget do painel: propriedades de anotação](#CloudWatch-Dashboard-Properties-Annotation-Format). Use esse parâmetro somente para widgets de métricas.  
Tipo: Objeto  
Obrigatório: uma anotação de alarme é necessária somente quando o `type` do widget é `metric` e `metrics` não foi especificado. Não são necessárias anotações horizontal ou vertical.

**liveData**  
Especifique `true` para exibir *dados em tempo real* no widget. Os dados em tempo real são dados publicados no último minuto que não foram totalmente agregados. Para obter mais informações, consulte [Uso de dados em tempo real](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-live-data.html).  
Tipo: booliano  
Obrigatório: não

**legend**  
Especifique `legend` para determinar onde a legenda das linhas é exibida no gráfico. O campo `legend` contém outro campo chamado `position`. Os valores possíveis para `position` são `right`, `bottom` e `hidden`.  
O exemplo a seguir faz com que a legenda apareça à direita no gráfico.  

```
"legend": {
     "position": "right"
}
```
Tipo: Objeto  
Obrigatório: não

**métricas**  
Especifique uma matriz `metrics` para incluir uma ou mais métricas (sem alarmes), uma consulta do Metrics Insights, expressões matemáticas ou expressões de pesquisa. Uma matriz `metrics` pode incluir de 0 a 500 métricas e expressões. Use esse parâmetro somente para widgets de métricas. Para obter mais informações sobre o formato das `metrics`, consulte [Widget de métricas: formato para cada métrica na matriz](#CloudWatch-Dashboard-Properties-Metrics-Array-Format).  
Uma matriz de métricas pode incluir no máximo uma consulta de Metrics Insights.  
Um único campo `expression` não pode incluir uma consulta do Metrics Insights e uma expressão matemática, mas você pode usar os resultados retornados de uma consulta do Metrics Insights de uma expressão como entrada em uma expressão matemática em uma expressão diferente na matriz.  
Tipo: matriz de matrizes  
Obrigatório: sim, quando o `type` do widget é `metric` e `annotations` não foi especificado.

**período**  
O período padrão, em segundos, para todas as métricas desse widget. O período é a duração de tempo representado por um ponto de dados no gráfico. Esse padrão pode ser substituído em cada definição de métrica. Use esse parâmetro somente para widgets de métricas. O padrão é 300.  
Valores válidos: qualquer múltiplo de 60, sendo 60 o mínimo.  
Tipo: inteiro  
Obrigatório: não

**region**  
A região da métrica.  
Tipo: String  
Exigido: sim

**sparkline**  
 Especifique `true` para exibir o atributo sparkline abaixo do widget numérico. Especifique `false` para exibir o widget numérico sozinho. Esse parâmetro será ignorado se a visualização não for `singleValue`. Use esse parâmetro somente para widgets de métricas.   
 Tipo: booliano   
 Obrigatório: não 

**de barras**  
Especifique `true` para exibir o gráfico como uma linha empilhada ou `false` para exibir como linhas separadas. Esse parâmetro será ignorado se `view` for `singleValue`. Use esse parâmetro somente para widgets de métricas.   
Tipo: booliano  
Obrigatório: não

**estatística**  
A estatística padrão a ser exibida para cada métrica na matriz. Esse padrão pode ser substituído na definição de cada métrica individual na matriz `metrics`. Use esse parâmetro somente para widgets de métricas.  
Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`  
Tipo: string que é uma estatística válida do CloudWatch.  
Obrigatório: não

**table**  
Inclua uma seção `table` para incluir alterações relacionadas à tabela de dados no widget. Para obter mais informações sobre o formato, consulte [Objeto do widget do painel: propriedades da tabela](#CloudWatch-Dashboard-Properties-Table).  
Tipo: Objeto  
Obrigatório: não

**timezone**  
O fuso horário a ser usado para exibir os horários no gráfico. O formato é \+ ou - seguido por quatro dígitos. Os dois primeiros dígitos indicam o número de horas antes ou depois do UTC, e os dois dígitos finais são o número de minutos. Por exemplo, `+0130` indica um horário 1 hora e 30 minutos antes do UTC. O padrão é `+0000`.  
Tipo: string  
Obrigatório: não

**título**  
O título a ser exibido para o gráfico ou número. Use esse parâmetro somente para widgets de métricas.  
Tipo: string  
Obrigatório: não

**visualizar**  
 Especifique `timeSeries` para exibir essa métrica como um gráfico de linhas ou áreas empilhadas. Especifique `singleValue` para exibir essa métrica como um gráfico numérico. Especifique `gauge` para exibir essa métrica como um gráfico de medidor. Especifique `bar` para exibir essa métrica como um gráfico de barras. Especifique `pie` para exibir essa métrica como um gráfico de pizza.   
 Se você especificar `gauge`, deverá definir um valor para `min` e `max` no lado esquerdo de `yAxis`. 
Valores válidos: `timeSeries` \| `singleValue` \| `gauge` \| `bar` \| `pie` \| `table`  
Tipo: string  
Obrigatório: não

**yAxis**  
 Os valores mínimo e máximo para o lado esquerdo e direito do eixo Y de um gráfico. Essa propriedade se aplica a todas as métricas representadas graficamente, excetuando as métricas específicas que substituem essa configuração. Para obter mais informações, consulte [Objeto do widget do painel: formato de propriedades do yAxis](#CloudWatch-Dashboard-Properties-YAxis-Properties-Format).   
Tipo: objeto yAxis  
Obrigatório: não

**Exemplo: widgets de área empilhada e de medidor**

```
{
    "widgets": [
{
   "type":"metric",
   "x":0,
   "y":0,
   "width":12,
   "height":6,
   "properties":{
      "metrics":[
         [
            "AWS/EC2",
            "CPUUtilization",
            "InstanceId",
            "i-012345"
         ],
         [
            "AWS/EC2",
            "NetworkIn",
            "InstanceId",
            "i-012345",
            {
               "yAxis":"right",
               "label":"NetworkIn",
               "period":3600,
               "stat":"Maximum"
            }
         ]
      ],
      "period":300,
      "stat":"Average",
      "region":"us-east-1",
      "timezone":"+0300",
      "title":"EC2 Instance CPU",
      "stacked":true,
      "view":"timeSeries",
      "liveData":false,
      "yAxis":{
         "left":{
            "min":0,
            "max":100
         },
         "right":{
            "min":50
         }
      },
      "annotations":{
         "horizontal":[
            {
               "visible":true,
               "color":"#9467bd",
               "label":"Critical range",
               "value":20,
               "fill":"above",
               "yAxis":"right"
            }
         ]
      }
   },
{
   "type": metric, 
   "x": 18,
   "y"; 60,
   "width": 6, 
   "height": 6,
   "properties": {
      "metrics": [
         [ 
         "AWSLogsShrinkRay",
         "disk_inodes_used",
         "path", 
         "/dev/shm",
         "InstanceId",
         "i-012345",
         "AutoScalingGroupName",
         "ShrinkRayExecutorResourceStack-Gamma-us-east-1-ASGuseast1ac48xlargeASGB9B53974-VTYXJUZGUAHV",
         "InstanceType",
         "c4.8xlarge",
         "device",
         "tmpfs",
         "fstype",
         "tmpfs" 
         ]
         ],
      "view": "gauge", 
      "title": "Disk Inodes Used"
      "region": "us-east-1",
      "yAxis": {
         "left": {
            "min": 0, 
            "max": 100,
         }        
       }
     }
   }
```

## Widget de métricas: formato para cada métrica na matriz
<a name="CloudWatch-Dashboard-Properties-Metrics-Array-Format"></a>

Cada item na matriz `metrics` é uma única métrica ou uma expressão matemática ou expressão de pesquisa. Cada métrica na matriz `metrics` tem o seguinte formato:

```
[ {{Namespace}}, {{MetricName}}, [{{{DimensionName}},{{DimensionValue}}}...] {{{Rendering Properties Object}}} ]
```

Cada expressão na matriz `metrics` tem o seguinte formato:

```
[ {"expression" : "{{expression}}", ["label" : "{{label}}"] , ["id" : "{{id}}"] } ]
```

**accountId**  
Especifica o ID da conta da AWS de onde essa métrica vem. Isso permite que você crie um widget que contém métricas de várias contas em um painel entre contas. Para obter mais informações, consulte [Console do CloudWatch entre contas e entre regiões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html).  
Se você omitir isso, a conta atual será usada como padrão. Use esse parâmetro somente para widgets de métricas.  
Tipo: string  
Obrigatório: não

**Namespace**  
O namespace AWS que contém a métrica. Se você tiver várias entradas na matriz `metrics`, para cada uma após a primeira, você poderá especificar somente `"."` para usar o mesmo namespace da métrica anterior na matriz.  
Tipo: String  
Exigido: sim

**MetricName**  
O nome da métrica do CloudWatch. Se você tiver várias entradas na matriz `metrics`, para cada uma após a primeira, você poderá especificar somente `"."` para usar o mesmo nome da métrica anterior na matriz.  
Tipo: string  
Obrigatório: sim, para uma única métrica

**expressão**  
A consulta, expressão matemática ou expressão de pesquisa do Metrics Insights, se for uma expressão em vez de uma única métrica.  
Em uma expressão de pesquisa usando aspas duplas para uma correspondência exata, cada aspa dupla deve ser precedida com uma barra invertida de escape.  
Para obter mais informações sobre a sintaxe de consulta do Metrics Insights, consulte [ Componentes e sintaxe de consulta do Metrics Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage.html).  
Para obter mais informações sobre expressões matemáticas ou expressões de pesquisa, consulte [Como usar matemática de métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) ou [ Como usar expressões de pesquisa em gráficos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-search-expressions.html) no Guia do usuário do Amazon CloudWatch.   
Tipo: string  
Obrigatório: sim, para uma expressão  
Exemplo de uma expressão para uma consulta de Metrics Insights:  

```
[ { "expression": "SELECT MAX(CPUUtilization) FROM SCHEMA(\"AWS/EC2\", InstanceId) GROUP BY InstanceId LIMIT 10", "label": "View the 10 max CPU Utilization", "id": "q1" } ]
```

**DimensionName**  
O nome de uma dimensão para refinar ainda mais quais dados são mostrados. Se você tiver várias entradas na matriz `metrics`, para cada uma após a primeira, você poderá especificar somente `"."` para usar o mesmo nome de dimensão da dimensão correspondente especificada na métrica anterior na matriz. Você pode especificar 0 dimensões para uma métrica ou até tantas dimensões quanto a métrica suportar.  
Tipo: string  
Obrigatório: não

**DimensionValue**  
O valor a usar naquela dimensão para a métrica. Obrigatório se houver um nome de dimensão correspondente.  
Tipo: string  
Obrigatório: não

**id**  
O ID dessa série de tempo Esse ID pode ser utlizado como parte de uma expressão matemática. O ID deve começar com uma letra minúscula.  
Tipo: string  
Obrigatório: não

**rótulo**  
O rótulo a ser exibido no gráfico para representar essa série de tempo.  
Tipo: string  
Obrigatório: não

**region**  
A região da métrica. Use esse parâmetro somente para widgets de métricas. Se você omitir isso, a Região atual será usada como padrão.  
Tipo: string  
Obrigatório: não

**Rendering Properties Object**  
Especifica as propriedades de renderização a serem utilizadas para essa métrica específica, substituindo os valores especificados para o widget geral. Para obter mais informações sobre o formato, consulte [Objeto do widget do painel: formato do objeto de propriedades de renderização](#CloudWatch-Dashboard-Properties-Rendering-Object-Format).   
Tipo: objeto de propriedades de renderização métrica  
Obrigatório: não

```
// The simplest example, a metric with no dimensions
        [ "AWS/EC2", "CPUUtilization" ]
        
 // A metric with a single dimension
        [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-012345" ]
        
 // A metric with a single dimension and rendering properties
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz", { "yAxis": "right"} ]
       
 // The following example graphs the DiskReadBytes metric for three instances.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ],
        [ ".", ".", ".", "i-abc" ],
        [ ".", ".", ".", "i-123" ]
       
 // The following example includes two metrics and a math expression to sum them.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ],
        [ ".", ".", ".", "i-abc", { "id": "m2" } ],
        [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ]
       
  // The following example is a search expression showing the EC2 CPUUtilization for each instance in the Region.
        [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ],
```

**Topics**
+ [Objeto do widget do painel: formato do objeto de propriedades de renderização](#CloudWatch-Dashboard-Properties-Rendering-Object-Format)
+ [Objeto do widget do painel: propriedades de anotação](#CloudWatch-Dashboard-Properties-Annotation-Format)
+ [Objeto do widget do painel: formato de propriedades do yAxis](#CloudWatch-Dashboard-Properties-YAxis-Properties-Format)
+ [Objeto do widget do painel: propriedades da tabela](#CloudWatch-Dashboard-Properties-Table)

### Objeto do widget do painel: formato do objeto de propriedades de renderização
<a name="CloudWatch-Dashboard-Properties-Rendering-Object-Format"></a>

Cada métrica na matriz `metrics` pode, opcionalmente, ter propriedades de renderização personalizadas que substituem as propriedades de renderização padrão especificadas no parâmetro `yAxis` do objeto `widget`. Esta seção descreve o formato dessas propriedades de renderização personalizadas por métrica.

**color**  
O código de cor hexadecimal HTML de seis dígitos a ser utilizado para essa métrica.  
Tipo: string  
Obrigatório: não

**rótulo**  
O rótulo a ser exibido para essa métrica na legenda do gráfico. Se isso não for especificado, a métrica receberá um rótulo gerado de maneira automática que a distingue das outras métricas no widget.  
Tipo: string  
Obrigatório: não

**período**  
O período dessa métrica, em segundos. O período é a duração de tempo representado por um ponto de dados no gráfico.   
Valores válidos: um múltiplo de 60, de no mínimo 60.  
Tipo: inteiro  
Obrigatório: não

**estatística**  
A estatística dessa métrica, caso seja diferente da estatística usada para as outras métricas na matriz. Por padrão, o CloudWatch usa *Average* se você não especificar uma estatística no nível da matriz ou da métrica.  
Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`  
Tipo: string que é uma estatística válida do CloudWatch.  
Obrigatório: não

**visible**  
Defina isso para `true` para que a métrica apareça no gráfico ou `false` para que fique oculta. O padrão é `true`.  
Tipo: booliano  
Obrigatório: não

**yAxis**  
Onde exibir o eixo y dessa métrica no gráfico. O padrão é `left`.  
Valores válidos: `left` \| `right`  
Tipo: string  
Obrigatório: não

```
       
 // The third metric has its own rendering properties, overriding those of the rest of the widget.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ],
        [ ".", ".", ".", "i-abc" ],
        [ ".", ".", ".", "i-123", { "label":"Instance i-123", "yAxis": "right"}  ]
```

### Objeto do widget do painel: propriedades de anotação
<a name="CloudWatch-Dashboard-Properties-Annotation-Format"></a>

As anotações incluem alarmes, anotações horizontais e anotações verticais. Um único widget métrico pode ter até um alarme ou ter uma ou mais anotações horizontais ou verticais. Um único widget não pode ter um alarme e anotações horizontais ou verticais.

#### Anotações de alarme
<a name="Alarm-Annotations"></a>

Se você especificar uma anotação de alarme, também não poderá especificar uma matriz `metrics` no mesmo widget.

**alarmes**  
O nome do recurso da Amazon (ARN) do alarme.  
Tipo: matriz de strings. Pode haver strings de 0 a 1 na matriz.  
Necessário: somente se nenhuma métrica estiver listada.

```
                
"annotations": {
   "alarms": [ "{{arn1}}" ]
}
```

#### Anotações horizontais
<a name="Horizontal-Annotations"></a>

**horizontal**  
Uma matriz de anotações horizontais. As anotações horizontais têm várias opções para sombreamento de preenchimento, incluindo sombreamento acima da linha de anotação, sombreamento abaixo da linha de anotação e sombreamento em “faixa” que aparece entre duas linhas de anotação vinculadas como parte de uma única anotação de faixa. Cada anotação horizontal na matriz que é uma anotação única, em vez de uma anotação de faixa, tem o seguinte formato:  

```
{{{value}}, {{label}}, {{color}}, {{fill}}, {{yAxis}}, {{visible}}}
```
Cada anotação horizontal que é uma anotação de faixa tem o seguinte formato:  

```
[ {{{value}}, {{label}}, {{color}}, {{yAxis}}, {{visible}}}, {{{value}}, {{label}}} ]
```

**valor**  
O valor métrico no gráfico em que a linha de anotação horizontal deve aparecer. Em uma anotação com sombreamento em faixa, os dois valores para Value definem as bordas superior e inferior da faixa.  
Em um gráfico com anotações horizontais, o gráfico é dimensionado para que todas as anotações horizontais visíveis apareçam no gráfico.   
Tipo: float  
Obrigatório: Sim

**rótulo**  
Uma string que aparece no gráfico ao lado da anotação.  
Tipo: string  
Obrigatório: não

**color**  
O código de cor hexadecimal HTML de seis dígitos a ser usado para a anotação. Essa cor é usada tanto para a linha de anotação quanto para o sombreamento de preenchimento.  
Tipo: string  
Obrigatório: não

**fill**  
Como usar o sombreamento de preenchimento com a anotação. Os valores válidos são `above` para sombreamento acima da anotação, `below` para sombreamento abaixo da anotação e `none` para ausência de sombreamento. Se `fill` for omitido, não há sombreamento.  
A exceção é uma anotação com sombreamento em faixa. Essas anotações sempre têm sombreamento entre os dois valores, e qualquer valor para `fill` é ignorado.  
Tipo: string  
Obrigatório: não

**visible**  
Defina isso para `true` para que a anotação apareça no gráfico ou `false` para que fique oculta. O padrão é `true`.  
Tipo: booliano  
Obrigatório: não

**yAxis**  
Se o gráfico incluir múltiplas métricas, especifique se os números em `Value` se referem à métrica associada ao eixo Y esquerdo ou ao eixo Y direito. Os valores válidos são `right` e `left`.  
Tipo: sequência  
Obrigatório: não

```
// A single horizontal annotation with fill shading above the annotation line, based on the metric associated with the right Y-axis
                
"annotations": {
     "horizontal": [
         {
              "visible":true,
              "color":"#9467bd",
              "label":"Critical range",
              "value":20,
              "fill":"above",
              "yAxis":"right"
         }
    ]
}

// A band annotation. Each value has a label, but other parameters for the band are specified only with the first number

"annotations": {
    "horizontal": [
        [
            {
                "label": "Band top",
                "value": 200,
                "color": "#9467bd",
                "visible": true,
                "yAxis": "right"
            },
            {
                "value": 95.5,
                "label": "Band bottom"
            }
        ]
    ]
}

// Three annotations on a graph. The first one is a band annotation. The final one is hidden.

"annotations": {
    "horizontal": [
        [
            {
                "label": "Band top",
                "value": 200,
                "color": "#9467bd",
                "visible": true,
                "yAxis": "right"
            },
            {
                "value": 95.5,
                "label": "Band bottom"
            }
        ],
        {
            "visible": true,
            "color": "#9467bd",
            "label": "Label for this annotation",
            "value": 20,
            "fill": "below",
            "yAxis": "right"
        },
        {
            "visible": false,
            "color": "#aaa",
            "label": "Hidden annotation",
            "value": 150
        }
    ]
}
```

#### Anotações verticais
<a name="Vertical-Annotations"></a>

**vertical**  
Uma matriz de anotações verticais. Para cada anotação vertical, você pode optar por preencher o sombreamento antes da anotação, depois dela ou entre duas linhas verticais vinculadas como uma única anotação de faixa. Cada anotação vertical na matriz que é uma anotação única, em vez de uma anotação de faixa, tem o seguinte formato:  

```
{{{value}}, {{label}}, {{color}}, {{fill}}, {{visible}}}
```
Cada anotação vertical que é uma anotação de faixa tem o seguinte formato:  

```
[ {{{value}}, {{label}}, {{color}}, {{visible}}}, {{{value}}, {{label}}} ]
```

**valor**  
A data e a hora no gráfico em que a linha de anotação vertical deve ser apresentada. Em uma anotação com sombreamento em faixa, os dois valores para Value definem as bordas inicial e final da faixa.  
Em um gráfico com anotações verticais, este é dimensionado para que todas as anotações verticais visíveis apareçam no gráfico.   
Isso é definido como uma string no formato ISO 8601. Para obter mais informações, consulte [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).  
Tipo: String  
Exigido: sim

**rótulo**  
Uma string que aparece no gráfico ao lado da anotação.  
Tipo: string  
Obrigatório: não

**color**  
O código de cor hexadecimal HTML de seis dígitos a ser usado para a anotação. Essa cor é usada tanto para a linha de anotação quanto para o sombreamento de preenchimento.  
Tipo: string  
Obrigatório: não

**fill**  
Como usar o sombreamento de preenchimento com a anotação. Os valores válidos são `before` para sombreamento antes da anotação, `after` para sombreamento após da anotação e `none` para ausência de sombreamento. Se `fill` for omitido, não há sombreamento.  
A exceção é uma anotação com sombreamento em faixa. Essas anotações sempre têm sombreamento entre os dois valores, e qualquer valor para `fill` é ignorado.  
Tipo: string  
Obrigatório: não

**visible**  
Defina isso para `true` para que a anotação apareça no gráfico ou `false` para que fique oculta. O padrão é `true`.  
Tipo: booliano  
Obrigatório: não

```
// A single vertical annotation with fill shading after the annotation line
                    
"annotations": {
    "vertical": [
        {
            "visible": true,
            "color": "#9467bd",
            "label": "Bug fix deployed",
            "value": "2018-08-28T15:25:26Z",
            "fill": "after"
        }
    ]
}	


// A band vertical annotation. Each annotation line has a label, but other parameters for the band are specified only with the first value

"annotations": {
    "vertical": [
        [
            {
                "label": "Band start",
                "value": "2018-08-27T15:25:26Z",
                "color": "#9467bd",
                "visible": true
            },
            {
                "value": "2018-08-28T15:25:26Z",
                "label": "Band end"
            }
        ]
    ]
}
```

### Objeto do widget do painel: formato de propriedades do yAxis
<a name="CloudWatch-Dashboard-Properties-YAxis-Properties-Format"></a>

Determina as configurações do eixo Y do gráfico. As configurações incluem o máximo e o mínimo, um rótulo para o eixo e se o eixo mostra as unidades. Defina isso no objeto `widget` para afetar todas as métricas no widget. Para substituir as configurações do widget para uma métrica específica, defina-a para a métrica na matriz `metrics`.

```
{
  left: {
    min: 0,
    max: 100
  },
  right: {
    min: 0
  }
}
```

**esquerda**  
Configurações opcionais para o eixo Y esquerdo.  
Type: YAxis object  
Obrigatório: não

**direita**  
Configurações opcionais para o eixo Y direito.  
Type: YAxis object  
Obrigatório: não

Cada um dos objetos `left` e `right` pode incluir os seguintes parâmetros:

**rótulo**  
Um rótulo para este eixo Y  
Tipo: string  
Obrigatório: não

**min**  
O valor mínimo para esse eixo Y  
Tipo: float  
Obrigatório: não

**max**  
O valor máximo para esse eixo Y  
Tipo: float  
Obrigatório: não

**showUnits**  
Determina se as unidades são exibidas para a métrica associada a esse eixo. O padrão é true.  
Tipo: booliano  
Obrigatório: não

### Objeto do widget do painel: propriedades da tabela
<a name="CloudWatch-Dashboard-Properties-Table"></a>

Se você especificar `table` para um widget de métrica, poderá incluir visualizações relacionadas à visibilidade das colunas de resumo, das colunas de pontos de dados e do layout da tabela. Essas propriedades só entram em vigor quando o tipo de visualização do widget é `table` e não alteram outros tipos de visualização, caso incluídas. A propriedade `table` não é necessária para usar um widget de tabela.

**layout**  
Use esse campo para transformar a tabela de forma que os pontos de dados se estendam de maneira vertical ou horizontal. O padrão é `horizontal`.  
Valores válidos: `vertical` \| `horizontal`  
Tipo: string  
Obrigatório: não

**stickySummary**  
Defina isso para `true` para tornar as colunas de resumo que você inclui na tabela fixas, para que você possa explorar as colunas de dados enquanto sempre tem as colunas de resumo em sua janela de exibição. O padrão é `false`.  
O rótulo do widget está sempre fixo, independentemente da sua escolha nesse campo.  
Valores válidos: `true` \| `false`  
Tipo: booliano  
Obrigatório: não

**showTimeSeriesData**  
Defina isso para `false` se quiser que somente as colunas de rótulo e resumo sejam exibidas, ocultando as outras colunas de dados.  
O padrão é `true`.  
Valores válidos: `true` \| `false`  
Tipo: booliano  
Obrigatório: não

**summaryColumns**  
As colunas de resumo são uma nova propriedade introduzida com o widget de tabela. Essas colunas correspondem a um subconjunto específico de resumos da sua tabela atual. Por exemplo, o resumo `Sum` é a soma de todos os pontos de dados renderizados na linha respectiva. As colunas de resumo não possuem o mesmo conceito de qualquer estatística métrica do CloudWatch.  
O padrão é `[“MIN“, "MAX","SUM", "AVG"]`  
Valores válidos: `"MIN"` \| `"MAX"`\| `"SUM"`\| `"AVG"`  
Tipo: matriz  
Obrigatório: não

Por exemplo, o JSON mostrado a seguir cria uma tabela exibindo o mínimo e o máximo de cada métrica na tabela.

```
"table": {
    "summaryColumns": ["MIN", "MAX"],
    "layout": "vertical",
    "stickySummary": true,
    "showTimeSeriesData": false,
    },
```

## Propriedades de um Metrics Explorer Widget Object
<a name="CloudWatch-Dashboard-Properties-Metric-Explorer-Object"></a>

Um widget do tipo `explorer` representa um widget de explorador de métricas. Para obter mais informações, consulte [Use o explorador de métricas para monitorar recursos a partir de suas etiquetas e propriedades](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metrics-Explorer.html) 

Você também pode adicionar widgets do explorador de métricas a um painel usando CloudFormation. Para obter mais informações, consulte [ AWS::CloudWatch::Dashboard](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html).

Esse tipo de widget pode ter os seguintes campos dentro das `properties` do widget:

**aggregateBy**  
Um objeto que especifica como agregar métricas de diversos recursos. Os valores válidos para o campo `key` nesse objeto são as chaves das etiquetas e propriedades do recurso. O objeto contém os campos a seguir.  
+ **key**: a etiqueta ou chave da propriedade do recurso a ser usada para agregar as métricas.
+ **func**: a função de agregação a ser usada. Os valores válidos são `AVG` \| `MIN` \| `MAX` \| `STDDEV` \| `SUM`
Tipo: Objeto  
Obrigatório: não

**rótulos**  
Uma matriz das etiquetas ou propriedades do recurso que são usadas para determinar quais métricas são exibidas no widget.   
Se você especificar chaves diferentes, só serão exibidos os recursos que correspondem a todos os pares de chave/valor. Se você especificar múltiplos valores para uma única chave, os recursos que correspondem a qualquer um dos valores dessa chave serão exibidos.  
+ **key**: a etiqueta ou propriedade do recurso a ser filtrada.

  Para `key`, todas as chaves de etiqueta são válidas para serem especificadas. As seguintes propriedades de recursos do EC2 e do Lambda também são válidas para `key`:
  + EC2:

    `Architecture`, `Hypervisor`, `CoreCount`, `ImageId`, `InstanceId`, `InstanceLifecycle`, `InstanceType`, `InstanceFamily`, `InstanceSize`, `Affinity`, `AvailabilityZone`, `Tenancy`, `Platform`, `RootDeviceType SecurityGroups, State, SubnetId, VirtualizationType, and VpcId `
  + Lambda:

     `FunctionName`, `Runtime`, `Language`, `MemorySize`, `Version`, `SecurityGroupIds`, `SubnetIds`, `SubnetIdCount`, `VpcId`, e `Timeout`
+ **value**: (opcional) O valor da etiqueta ou propriedade do recurso a ser filtrada. Se isso for omitido, as métricas correspondentes a todos os valores dessa etiqueta ou propriedade do recurso serão exibidas.
Tipo: objeto  
Obrigatório: Sim

**métricas**  
Especifique uma matriz `metrics` para incluir uma ou mais métricas. Uma matriz `metrics` pode incluir de 1 a 100 métricas. Cada objeto na matriz deve conter os seguintes campos:  
+ **metricName**: o nome da métrica.
+ **resourceType**: o tipo de recurso que publica a métrica, descrito no formato usado por AWS CloudFormation. Por exemplo, o `AWS::EC2::Instance` ou o `AWS::Lambda::Function`.

  Você deve usar o mesmo valor de `resourceType` para todas as métricas no widget.

  Para obter uma lista completa de valores válidos, consulte [Valores válidos de resourceType para um objeto de widget do explorador de métricas](#CloudWatch-Dashboard-Properties-Metric-Explorer-resourceType).
+ **stat**: a estatística dessa métrica, se ela for diferente da estatística usada para as outras métricas na matriz. Por padrão, o CloudWatch usa *Average* se você não especificar uma estatística no nível da matriz ou da métrica.

  Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`
Tipo: matriz de objetos  
Obrigatório: Sim

**período**  
O período padrão, em segundos, para todas as métricas desse widget. O período é a duração de tempo representado por um ponto de dados no gráfico. O padrão é 300.  
Valores válidos: qualquer múltiplo de 60, com 60 como mínimo.  
Tipo: inteiro  
Obrigatório: não

**splitBy**  
Especifica como dividir as métricas de vários recursos em linhas diferentes em um gráfico ou em diferentes gráficos. Os valores válidos são as chaves das etiquetas e as chaves das propriedades do recurso.  
Tipo: string  
Obrigatório: não

**título**  
O título a ser exibido para o widget. O padrão é `Explorer`.  
Tipo: string  
Obrigatório: não

**widgetOptions**  
Um objeto que especifica como o widget aparecerá no painel. Pode conter os seguintes campos.  
+ **legend**:

  determina onde a legenda de cada gráfico é exibida. O campo `legend` contém outro campo chamado `position`. Os valores possíveis para `position` são `right`, `bottom` e `hidden`.

  O exemplo a seguir faz com que a legenda apareça à direita no gráfico.

  ```
  "legend": {
       "position": "right"
  }
  ```
+ **rowsPerPage**:

  especifica quantas linhas de gráficos são exibidas por página no widget.
+ **stacked**:

  especifique `true` para exibir o gráfico como um gráfico de áreas empilhadas ou `false` para exibi-lo como linhas separadas. 
+ **Visualização do**–

  Especifica como cada gráfico será exibido. Especifique `timeSeries` para exibir essa métrica como um gráfico de linhas. Especifique `bar` para exibi-la como um gráfico de barras. Especifique `pie` para exibi-la como um gráfico de pizza. O padrão é `timeSeries`.
+ **widgetsPerRow**:

  especifica quantos gráficos são exibidos em cada linha do widget do explorador de métricas.
Tipo: Objeto  
Obrigatório: não

**Exemplo**

O exemplo mostrado a seguir exibe três métricas para cada uma das instâncias do EC2 em execução na conta, com os gráficos no widget divididos por zona de disponibilidade. As métricas são agregadas por tipo de instância em cada gráfico.

```
{
    "widgets": [
        {
            "type": "explorer",
            "width": 24,
            "height": 15,
            "x": 0,
            "y": 0,
            "properties": {
                "metrics": [
                    {
                        "metricName": "CPUUtilization",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    },
                    {
                        "metricName": "NetworkIn",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    },
                    {
                        "metricName": "NetworkOut",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    }
                ],
                "aggregateBy": {
                    "key": "InstanceType",
                    "func": "MAX"
                },
                "labels": [
                    {
                        "key": "State",
                        "value": "running"
                    }
                ],
                "widgetOptions": {
                    "legend": {
                        "position": "bottom"
                    },
                    "view": "timeSeries",
                    "rowsPerPage": 8,
                    "widgetsPerRow": 2
                },
                "period": 300,
                "splitBy": "AvailabilityZone",
                "title": "Running EC2 Instances by AZ"
            }
        }
    ]
}
```

### Valores válidos de resourceType para um objeto de widget do explorador de métricas
<a name="CloudWatch-Dashboard-Properties-Metric-Explorer-resourceType"></a>

Os valores válidos para o campo `resourceType` na seção `metrics` de um widget do explorador de métricas são os seguintes:
+ `AWS::AmazonMQ::Broker`
+ `AWS::ApiGateway::RestApi`
+ `AWS::AppStream::Fleet`
+ `AWS::AppSync::GraphQLApi`
+ `AWS::CloudFront::Distribution`
+ `AWS::CodeBuild::Project`
+ `AWS::Datasync::Agent`
+ `AWS::Datasync::Task`
+ `AWS::DMS::ReplicationInstance`
+ `AWS::DynamoDB::Table`
+ `AWS::EC2::CapacityReservation`
+ `AWS::EC2::Instance`
+ `AWS::EC2::NatGateway`
+ `AWS::EC2::TransitGateway`
+ `AWS::EC2::Volume`
+ `AWS::EC2::VPNConnection`
+ `AWS::ECS::Cluster`
+ `AWS::EFS::FileSystem`
+ `AWS::ElastiCache::CacheCluster`
+ `AWS::ElastiCache::ReplicationGroup`
+ `AWS::ElasticBeanstalk::Environment`
+ `AWS::ElasticLoadBalancing::LoadBalancer`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/ApplicationELB`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/GatewayELB`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/NetworkELB`
+ `AWS::ElasticLoadBalancingV2::TargetGroup`
+ `AWS::EMR::Cluster`
+ `AWS::Events::Rule`
+ `AWS::FSx::FileSystem`
+ `AWS::GameLift::Fleet`
+ `AWS::GlobalAccelerator::Accelerator`
+ `AWS::IoT::TopicRule`
+ `AWS::IoT1Click::Device`
+ `AWS::IoTAnalytics::Channel`
+ `AWS::IoTAnalytics::Dataset`
+ `AWS::IoTAnalytics::Datastore`
+ `AWS::IoTAnalytics::Pipeline`
+ `AWS::Kafka::Cluster`
+ `AWS::Kinesis::Stream`
+ `AWS::KinesisAnalytics::Application`
+ `AWS::KinesisFirehose::DeliveryStream`
+ `AWS::KinesisVideo::Stream`
+ `AWS::KMS::Key`
+ `AWS::Lambda::Function`
+ `AWS::Logs::LogGroup`
+ `AWS::MediaPackage::Channel`
+ `AWS::MediaStore::Container`
+ `AWS::OpsWorks::Instance`
+ `AWS::OpsWorks::Layer`
+ `AWS::OpsWorks::Stack`
+ `AWS::QLDB::Ledger`
+ `AWS::RDS::DBInstance`
+ `AWS::Redshift::Cluster`
+ `AWS::RoboMaker::SimulationJob`
+ `AWS::Route53::HealthCheck`
+ `AWS::Route53Resolver::ResolverEndpoint`
+ `AWS::S3::Bucket`
+ `AWS::SageMaker::Endpoint`
+ `AWS::ServiceCatalog::CloudFormationProduct`
+ `AWS::SES::ConfigurationSet`
+ `AWS::SNS::Topic`
+ `AWS::SQS::Queue`
+ `AWS::StepFunctions::Activity`
+ `AWS::StepFunctions::StateMachine`
+ `AWS::StorageGateway::Gateway`
+ `AWS::Synthetics::Canary`
+ `AWS::Transfer::Server`
+ `AWS::WorkMail::Organization`
+ `AWS::WorkSpaces::Workspace`

## Propriedades de um objeto widget de status de alarme
<a name="CloudWatch-Dashboard-Properties-Alarm-Widget-Object"></a>

Um widget do tipo `alarm` pode ter os seguintes campos em `properties`.

**alarmes**  
Uma matriz de ARNs de alarme para incluir no widget. A matriz pode conter de 1 a 100 ARNs.  
Tipo: matriz de strings  
Obrigatório: sim (quando o `type` do widget for `alarm`).

**sortBy**  
Especifica como ordenar os alarmes no widget.  
Escolha `default` para classificá-los em ordem alfabética pelo nome do alarme.  
Escolha `stateUpdatedTimestamp` para classificá-los primeiro pelo estado do alarme, com os alarmes no estado ALARM primeiro, os alarmes INSUFFICIENT\_DATA em seguida e os alarmes OK por último. Dentro de cada grupo, os alarmes são classificados pela última vez em que mudaram de estado. As mudanças de estado mais recentes são listadas primeiro.  
Escolha `timestamp` para classificá-los pela hora em que os alarmes mudaram de estado mais recentemente, independentemente do estado atual do alarme. O alarme listado primeiro é aquele que mudou de estado mais recentemente.  
Se você omitir esse campo, os alarmes serão ordenados de forma alfabética.  
Tipo: string  
Valores válidos: default \| stateUpdatedTimestamp \| timestamp  
Obrigatório: não

**estados**  
Use esse campo para filtrar a lista de alarmes exibidos no widget tendo somente os alarmes atualmente nos estados especificados. É possível especificar um ou mais estados de alarme no valor desse campo. Os estados de alarme que você pode especificar são `ALARM`, `INSUFFICIENT_DATA` e `OK`.  
Se você omitir esse campo ou especificar uma matriz vazia, todos os alarmes especificados em `alarms` serão exibidos.  
Tipo: matriz de strings  
Obrigatório: Não

**título**  
O texto do título a ser exibido pelo widget.  
Tipo: string  
Obrigatório: não

O exemplo mostrado a seguir é um widget de status de alarme que exibe quatro alarmes especificados por nome, independentemente do estado atual:

```
{
    "type": "alarm",
    "x": 0,
    "y": 0,
    "width": 12,
    "height": 6,
    "properties": {
        "alarms": [
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU"
        ],
        "sortBy": "stateUpdatedTimestamp",
        "title": "All EC2 CPU alarms"
    }
}
```

O exemplo de widget a seguir especifica os mesmos quatro alarmes, mas exibe somente aqueles que estão atualmente no estado ALARM ou INSUFFICIENT\_DATA:

```
{
    "type": "alarm",
    "x": 0,
    "y": 0,
    "width": 12,
    "height": 6,
    "properties": {
        "alarms": [
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU"
        ],
        "sortBy": "stateUpdatedTimestamp",
        "states": [
            "ALARM",
            "INSUFFICIENT_DATA"
        ],
        "title": "EC2 alarms that are not currently OK"
    }
}
```